From 500119aca17a98d6d8789904d9b864a1798477de Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 1 Apr 2024 14:22:25 -0700 Subject: [PATCH 001/354] dep-diracc-8713507 --- windows/whats-new/deprecated-features.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 662ade9a57..f71e20f198 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 03/25/2024 +ms.date: 04/02/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -47,6 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| +| DirectAccess | DirectAccess is deprecated and will be removed in a future release of Windows. We recommend [migrating from DirectAccess to Always On VPN](/windows-server/remote/remote-access/da-always-on-vpn-migration/da-always-on-migration-overview). | April 2024 | | NPLogonNotify and NPPasswordChangeNotify APIs | Starting in Windows 11, version 24H2, the inclusion of password payload in MPR notifications is set to disabled by default through group policy in [NPLogonNotify](/windows/win32/api/npapi/nf-npapi-nplogonnotify) and [NPPasswordChangeNotify](/windows/win32/api/npapi/nf-npapi-nppasswordchangenotify) APIs. The APIs may be removed in a future release. The primary reason for disabling this feature is to enhance security. When enabled, these APIs allow the caller to retrieve a users password, presenting potential risks for password exposure and harvesting by malicious users. To include password payload in MPR notifications, set the [EnableMPRNotifications](/windows/client-management/mdm/policy-csp-windowslogon#enablemprnotifications) policy to `enabled`.| March 2024 | | TLS server authentication certificates using RSA keys with key lengths shorter than 2048 bits | Support for certificates using RSA keys with key lengths shorter than 2048 bits will be deprecated. Internet standards and regulatory bodies disallowed the use of 1024-bit keys in 2013, recommending specifically that RSA keys should have a key length of 2048 bits or longer. For more information, see [Transitioning of Cryptographic Algorithms and Key Sizes - Discussion Paper (nist.gov)](https://csrc.nist.gov/CSRC/media/Projects/Key-Management/documents/transitions/Transitioning_CryptoAlgos_070209.pdf). This deprecation focuses on ensuring that all RSA certificates used for TLS server authentication must have key lengths greater than or equal to 2048 bits to be considered valid by Windows.

TLS certificates issued by enterprise or test certification authorities (CA) aren't impacted with this change. However, we recommend that they be updated to RSA keys greater than or equal to 2048 bits as a security best practice. This change is necessary to preserve security of Windows customers using certificates for authentication and cryptographic purposes.| March 2024| | Test Base | [Test Base for Microsoft 365](/microsoft-365/test-base/overview), an Azure cloud service for application testing, is deprecated. The service will be retired in the future and will be no longer available for use after retirement. | March 2024 | From db771835dfa1881641afdd131874fd6183ff4500 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:04:20 -0700 Subject: [PATCH 002/354] Update configure.md Updated configure page with initial draft of changes. --- .../credential-guard/configure.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index 9f8373b96b..4565e8b4fe 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -9,21 +9,16 @@ ms.topic: how-to This article describes how to configure Credential Guard using Microsoft Intune, Group Policy, or the registry. -## Default enablement +## Default Enablement -Starting in **Windows 11, version 22H2**, Credential Guard is turned on by default on devices that [meet the requirements](index.md#hardware-and-software-requirements). The default enablement is **without UEFI Lock**, which allows administrators to disable Credential Guard remotely, if needed. +Starting in Windows 11, 22H2 and Windows Server 2025, Credential Guard is [enabled by default on devices which meet the requirements](index.md/#default-enablement). -If Credential Guard or VBS are disabled *before* a device is updated to Windows 11, version 22H2 or later, default enablement doesn't overwrite the existing settings. +System administrators can still [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state, typically after reboot. -While the default state of Credential Guard changed, system administrators can [enable](#enable-credential-guard) or [disable](#disable-credential-guard) it using one of the methods described in this article. +### How to Prevent Default Enablement -> [!IMPORTANT] -> For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#single-sign-on-for-network-services-breaks-after-upgrading-to-windows-11-version-22h2). +Devices that have had Credential Guard explicitly disabled *prior* to updating to a version of Windows that comes with default enablement will NOT have Credential Guard enabled upon update. In this case Credential Guard will continue to be disabled even after updating to a version of Windows that enables Credential Guard by default. -> [!NOTE] -> Devices running Windows 11 Pro/Pro Edu 22H2 or later may have Virtualization-based Security (VBS) and/or Credential Guard automatically enabled if they meet the other requirements for default enablement, and have previously run Credential Guard. For example if Credential Guard was enabled on an Enterprise device that later downgraded to Pro. -> -> To determine whether the Pro device is in this state, check if the following registry key exists: `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\IsolatedCredentialsRootSecret`. In this scenario, if you wish to disable VBS and Credential Guard, follow the instructions to [disable Virtualization-based Security](#disable-virtualization-based-security). If you wish to disable Credential Guard only, without disabling VBS, use the procedures to [disable Credential Guard](#disable-credential-guard). ## Enable Credential Guard @@ -225,7 +220,7 @@ There are different options to disable Credential Guard. The option you choose d - Credential Guard running in a virtual machine can be [disabled by the host](#disable-credential-guard-for-a-virtual-machine) - If Credential Guard is enabled **with UEFI Lock**, follow the procedure described in [disable Credential Guard with UEFI Lock](#disable-credential-guard-with-uefi-lock) -- If Credential Guard is enabled **without UEFI Lock**, or as part of the automatic enablement in the Windows 11, version 22H2 update, use one of the following options to disable it: +- If Credential Guard is enabled **without UEFI Lock**, or as part of the [default enablement update](index.md#default-enablement), use one of the following options to disable it: - Microsoft Intune/MDM - Group policy - Registry @@ -256,7 +251,7 @@ Once the policy is applied, restart the device. #### [:::image type="icon" source="../../images/icons/group-policy.svg" border="false"::: **GPO**](#tab/gpo) -### Disable Credential Guard with group policy +### Disable Credential Guard with group policy If Credential Guard is enabled via Group Policy and without UEFI Lock, disabling the same group policy setting disables Credential Guard. From 84fda171dee003c4c94f6bfd0e5e37f9b7c4e781 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:06:20 -0700 Subject: [PATCH 003/354] Update considerations-known-issues.md --- .../considerations-known-issues.md | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index ebae34dece..70e69ba53f 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -11,7 +11,7 @@ It's recommended that in addition to deploying Credential Guard, organizations m ## Wi-fi and VPN considerations -When you enable Credential Guard, you can no longer use NTLM classic authentication for single sign-on. You'll be forced to enter your credentials to use these protocols and can't save the credentials for future use. +When Credential Guard is enabled, you can no longer use NTLM classic authentication for single sign-on. You'll be forced to enter your credentials to use these protocols and can't save the credentials for future use. If you're using WiFi and VPN endpoints that are based on MS-CHAPv2, they're subject to similar attacks as for NTLMv1. @@ -19,9 +19,13 @@ For WiFi and VPN connections, it's recommended to move from MSCHAPv2-based conne ## Kerberos considerations -When you enable Credential Guard, you can no longer use Kerberos unconstrained delegation or DES encryption. Unconstrained delegation could allow attackers to extract Kerberos keys from the isolated LSA process.\ +When Credential Guard is enabled, you can no longer use Kerberos unconstrained delegation or DES encryption. Unconstrained delegation could allow attackers to extract Kerberos keys from the isolated LSA process.\ Use constrained or resource-based Kerberos delegation instead. +## CredSSP considerations + +When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) can no longer rely on the signed-in credentials. Thus, applications which choose to use CredSSP cannot rely on single sign-on and instead must prompt the user for credentials. + ## Non-Microsoft Security Support Providers considerations Some non-Microsoft Security Support Providers (SSPs and APs) might not be compatible with Credential Guard because it doesn't allow non-Microsoft SSPs to ask for password hashes from LSA. However, SSPs and APs still get notified of the password when a user logs on and/or changes their password. Any use of undocumented APIs within custom SSPs and APs aren't supported.\ @@ -110,21 +114,24 @@ Credential Guard blocks certain authentication capabilities. Applications that r This article describes known issues when Credential Guard is enabled. -### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 +### Live migration breaks on Server after upgrading to Windows Server 2025 +TODO + +### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 or Windows Server 2025 Devices that use 802.1x wireless or wired network, RDP, or VPN connections that rely on insecure protocols with password-based authentication are unable to use SSO to sign in and are forced to manually re-authenticate in every new Windows session when Credential Guard is running. #### Affected devices -Any device with Credential Guard enabled may encounter the issue. As part of the Windows 11, version 22H2 update, eligible devices that didn't disable Credential Guard, have it enabled by default. This affected all devices on Enterprise (E3 and E5) and Education licenses, as well as some Pro licenses, as long as they met the [minimum hardware requirements](index.md#hardware-and-software-requirements). +Any device with Credential Guard enabled may encounter the issue. As part of the Windows 11, version 22H2 and Windows Server 2025 updates, eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, as well as some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements). All Windows Pro devices that previously ran Credential Guard on an eligible license and later downgraded to Pro, and which still meet the [minimum hardware requirements](index.md#hardware-and-software-requirements), will receive default enablement. > [!TIP] -> To determine if a Windows Pro device receives default enablement when upgraded to **Windows 11, version 22H2**, check if the registry key `IsolatedCredentialsRootSecret` is present in `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0`. +> To determine if a Windows Pro device receives default enablement when upgraded to **Windows 11, version 22H2** or **Windows Server 2025**, check if the registry key `IsolatedCredentialsRootSecret` is present in `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0`. > If it's present, the device enables Credential Guard after the update. > -> You can Credential Guard can be disabled after upgrade by following the [disablement instructions](configure.md#disable-credential-guard). +> Credential Guard can be disabled after upgrade by following the [disablement instructions](configure.md#disable-credential-guard). #### Cause of the issue @@ -193,9 +200,9 @@ We recommend moving away from MSCHAPv2-based connections, such as PEAP-MSCHAPv2 For a more immediate, but less secure fix, [disable Credential Guard](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft. > [!TIP] -> To prevent default enablement, configure your devices [to disable Credential Guard](configure.md#disable-credential-guard) before updating to Windows 11, version 22H2. If the setting is not configured (which is the default state) and if the device is eligible, the device automatically enable Credential Guard after the update. +> To prevent default enablement, configure your devices [to disable Credential Guard](configure.md#disable-credential-guard) before updating to a version which [received default enablement](index.md#default-enablement). If the setting is not configured (which is the default state) and if the device is eligible, the device automatically enable Credential Guard after the update. > -> If Credential Guard is explicitly disabled, the device won't automatically enable Credential Guard after the update. +> If Credential Guard is explicitly disabled, the device will not automatically enable Credential Guard after the update. ### Issues with non-Microsoft applications From 80cfc83e493f1264b404cd10cb656647ca5f3190 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:06:56 -0700 Subject: [PATCH 004/354] Update index.md --- .../credential-guard/index.md | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 0fe80abdd8..d80d642b55 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -7,7 +7,7 @@ ms.topic: overview # Credential Guard overview -Credential Guard prevents credential theft attacks by protecting NTLM password hashes, Kerberos Ticket Granting Tickets (TGTs), and credentials stored by applications as domain credentials. +Credential Guard, now [enabled by default on most Windows machines](#default-enablement), prevents credential theft attacks by protecting NTLM password hashes, Kerberos Ticket Granting Tickets (TGTs), and credentials stored by applications as domain credentials. Credential Guard uses [Virtualization-based security (VBS)](/windows-hardware/design/device-experiences/oem-vbs) to isolate secrets so that only privileged system software can access them. Unauthorized access to these secrets can lead to credential theft attacks like *pass the hash* and *pass the ticket*. @@ -20,9 +20,37 @@ When enabled, Credential Guard provides the following benefits: > [!NOTE] > While Credential Guard is a powerful mitigation, persistent threat attacks will likely shift to new attack techniques, and you should also incorporate other security strategies and architectures. +## Default Enablement + +Starting in **Windows 11, 22H2** and **Windows Server 2025**, VBS and Credential Guard are enabled by default on devices that meet the requirements below. This means that going forward, domain credentials will automatically be protected by Credential Guard on most relevant Windows devices. + +The default enablement is **without UEFI Lock**, which allows administrators to disable Credential Guard remotely, if needed. + +> [!NOTE] +> If Credential Guard or VBS is explicitly [disabled](configure.md/#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. + +### Default Enablement on Windows client + +Devices running Windows 11, 22H2 or later will have Credential Guard enabled by default if they: + +- Meet the [license requirements](#windows-edition-and-licensing-requirements) +- Meet the [hardware and sofware requirements](#system-requirements) +- Has not been [explicitly configured to disable Credential Guard](configure.md/#default-enablement) + +### Default Enablement on Windows Server + +Devices running Windows Server 2025 or later will have Credential Guard enabled by default if they meet the above requirements for client and additionally: + +- Are joined to a domain +- Are not a Domain Controller + > [!IMPORTANT] -> Starting in Windows 11, version 22H2, VBS and Credential Guard are enabled by default on all devices that meet the system requirements.\ -> For information about known issues related to the default enablement of Credential Guard, see [Credential Guard: Known Issues](considerations-known-issues.md). +> For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#single-sign-on-for-network-services-breaks-after-upgrading-to-windows-11-version-22h2). + +> [!NOTE] +> Devices running Windows 11 Pro/Pro Edu 22H2 or later may have Virtualization-based Security (VBS) and/or Credential Guard automatically enabled if they meet the other requirements for default enablement, and have previously run Credential Guard. For example if Credential Guard was enabled on an Enterprise device that later downgraded to Pro. +> +> To determine whether the Pro device is in this state, check if the following registry key exists: `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\IsolatedCredentialsRootSecret`. In this scenario, if you wish to disable VBS and Credential Guard, follow the instructions to [disable Virtualization-based Security](#disable-virtualization-based-security). If you wish to disable Credential Guard only, without disabling VBS, use the procedures to [disable Credential Guard](#disable-credential-guard). ## System requirements @@ -95,4 +123,4 @@ Services or protocols that rely on Kerberos, such as file shares or remote deskt - Learn [how Credential Guard works](how-it-works.md) - Learn [how to configure Credential Guard](configure.md) - Review the advice and sample code for making your environment more secure and robust with Credential Guard in the [Additional mitigations](additional-mitigations.md) article -- Review [considerations and known issues when using Credential Guard](considerations-known-issues.md) \ No newline at end of file +- Review [considerations and known issues when using Credential Guard](considerations-known-issues.md) From 8ab35a69ddc918c5d7a4cae37d3d304334b4526f Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:07:54 -0700 Subject: [PATCH 005/354] Update how-it-works.md --- .../identity-protection/credential-guard/how-it-works.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/how-it-works.md b/windows/security/identity-protection/credential-guard/how-it-works.md index 95c2cc6b76..8acc209f13 100644 --- a/windows/security/identity-protection/credential-guard/how-it-works.md +++ b/windows/security/identity-protection/credential-guard/how-it-works.md @@ -19,6 +19,9 @@ Here's a high-level overview on how the LSA is isolated by using Virtualization- Some ways to store credentials aren't protected by Credential Guard, including: +- When Credential Guard is enabled, NTLMv1, MS-CHAPv2, Digest, and CredSSP can't use the signed-in credentials. Thus, single sign-on doesn't work with these protocols. However, applications can prompt for credentials or use credentials stored in the Windows Vault, which aren't protected by Credential Guard with any of these protocols + > [!CAUTION] + > It's recommended that valuable credentials, such as the sign-in credentials, aren't used with NTLMv1, MS-CHAPv2, Digest, or CredSSP protocols. If these protocols must be used by domain or Microsoft Entra users, secondary credentials should be provisioned for these use cases. - Software that manages credentials outside of Windows feature protection - Local accounts and Microsoft Accounts - Credential Guard doesn't protect the Active Directory database running on Windows Server domain controllers. It also doesn't protect credential input pipelines, such as Windows Server running Remote Desktop Gateway. If you're using a Windows Server OS as a client PC, it will get the same protection as it would when running a Windows client OS @@ -26,9 +29,6 @@ Some ways to store credentials aren't protected by Credential Guard, including: - Physical attacks - Doesn't prevent an attacker with malware on the PC from using the privileges associated with any credential. We recommend using dedicated PCs for high value accounts, such as IT Pros and users with access to high value assets in your organization - Non-Microsoft security packages -- When Credential Guard is enabled, NTLMv1, MS-CHAPv2, Digest, and CredSSP can't use the signed-in credentials. Thus, single sign-on doesn't work with these protocols. However, applications can prompt for credentials or use credentials stored in the Windows Vault, which aren't protected by Credential Guard with any of these protocols - > [!CAUTION] - > It's recommended that valuable credentials, such as the sign-in credentials, aren't used with NTLMv1, MS-CHAPv2, Digest, or CredSSP protocols. If these protocols must be used by domain or Microsoft Entra users, secondary credentials should be provisioned for these use cases. - Supplied credentials for NTLM authentication aren't protected. If a user is prompted for and enters credentials for NTLM authentication, these credentials are vulnerable to be read from LSASS memory. These same credentials are vulnerable to key loggers as well - Kerberos service tickets aren't protected by Credential Guard, but the Kerberos Ticket Granting Ticket (TGT) is protected - When Credential Guard is enabled, Kerberos doesn't allow *unconstrained Kerberos delegation* or *DES encryption*, not only for signed-in credentials, but also prompted or saved credentials From f81e3b4736a1db8957fe03d71d53f1b26989b0da Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 6 May 2024 11:21:59 -0700 Subject: [PATCH 006/354] Update configure.md Fixing syntax errors --- .../security/identity-protection/credential-guard/configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index 4565e8b4fe..b796611b79 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -11,7 +11,7 @@ This article describes how to configure Credential Guard using Microsoft Intune, ## Default Enablement -Starting in Windows 11, 22H2 and Windows Server 2025, Credential Guard is [enabled by default on devices which meet the requirements](index.md/#default-enablement). +Starting in Windows 11, 22H2 and Windows Server 2025, Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). System administrators can still [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state, typically after reboot. From 48d1df9a3cfb3cd0ef1ee72590a60320afadddef Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 6 May 2024 12:02:05 -0700 Subject: [PATCH 007/354] Update index.md Fixing learn-build warnings --- .../identity-protection/credential-guard/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index d80d642b55..06ab5439d8 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -27,7 +27,7 @@ Starting in **Windows 11, 22H2** and **Windows Server 2025**, VBS and Credential The default enablement is **without UEFI Lock**, which allows administrators to disable Credential Guard remotely, if needed. > [!NOTE] -> If Credential Guard or VBS is explicitly [disabled](configure.md/#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. +> If Credential Guard or VBS is explicitly [disabled](configure.md#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. ### Default Enablement on Windows client @@ -35,7 +35,7 @@ Devices running Windows 11, 22H2 or later will have Credential Guard enabled by - Meet the [license requirements](#windows-edition-and-licensing-requirements) - Meet the [hardware and sofware requirements](#system-requirements) -- Has not been [explicitly configured to disable Credential Guard](configure.md/#default-enablement) +- Has not been [explicitly configured to disable Credential Guard](configure.md#default-enablement) ### Default Enablement on Windows Server @@ -45,12 +45,12 @@ Devices running Windows Server 2025 or later will have Credential Guard enabled - Are not a Domain Controller > [!IMPORTANT] -> For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#single-sign-on-for-network-services-breaks-after-upgrading-to-windows-11-version-22h2). +> For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#known-issues). > [!NOTE] > Devices running Windows 11 Pro/Pro Edu 22H2 or later may have Virtualization-based Security (VBS) and/or Credential Guard automatically enabled if they meet the other requirements for default enablement, and have previously run Credential Guard. For example if Credential Guard was enabled on an Enterprise device that later downgraded to Pro. > -> To determine whether the Pro device is in this state, check if the following registry key exists: `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\IsolatedCredentialsRootSecret`. In this scenario, if you wish to disable VBS and Credential Guard, follow the instructions to [disable Virtualization-based Security](#disable-virtualization-based-security). If you wish to disable Credential Guard only, without disabling VBS, use the procedures to [disable Credential Guard](#disable-credential-guard). +> To determine whether the Pro device is in this state, check if the following registry key exists: `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\IsolatedCredentialsRootSecret`. In this scenario, if you wish to disable VBS and Credential Guard, follow the instructions to [disable Virtualization-based Security](configure.md#disable-virtualization-based-security). If you wish to disable Credential Guard only, without disabling VBS, use the procedures to [disable Credential Guard](configure.md#disable-credential-guard). ## System requirements From 0a89d59120eee72c71586de1d5ca1682a04257e5 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 6 May 2024 12:58:38 -0700 Subject: [PATCH 008/354] Update index.md v2 of changes, reflecting Preview status of Server 2025, and some edits for clarity. --- .../credential-guard/index.md | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 06ab5439d8..73f23a56b2 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -22,12 +22,14 @@ When enabled, Credential Guard provides the following benefits: ## Default Enablement -Starting in **Windows 11, 22H2** and **Windows Server 2025**, VBS and Credential Guard are enabled by default on devices that meet the requirements below. This means that going forward, domain credentials will automatically be protected by Credential Guard on most relevant Windows devices. +Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and Credential Guard are enabled by default on devices that meet the requirements below. This means that going forward, domain credentials will automatically be protected by Credential Guard on most relevant Windows devices. -The default enablement is **without UEFI Lock**, which allows administrators to disable Credential Guard remotely, if needed. +The default enablement is **without UEFI Lock**, thus allowing administrators to disable Credential Guard remotely if needed. + +If the preconditions for default enablement of Credential Guard listed below are met, and neither Credential Guard nor VBS have been explicitly disabled beforehand, the default enablement of Credential Guard will also automatically enable [VBS](#system-requirements). > [!NOTE] -> If Credential Guard or VBS is explicitly [disabled](configure.md#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. +> If Credential Guard or VBS is explicitly [disabled](configure.md#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 (preview) or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. ### Default Enablement on Windows client @@ -35,11 +37,11 @@ Devices running Windows 11, 22H2 or later will have Credential Guard enabled by - Meet the [license requirements](#windows-edition-and-licensing-requirements) - Meet the [hardware and sofware requirements](#system-requirements) -- Has not been [explicitly configured to disable Credential Guard](configure.md#default-enablement) +- Have not been [explicitly configured to disable Credential Guard](configure.md#default-enablement) ### Default Enablement on Windows Server -Devices running Windows Server 2025 or later will have Credential Guard enabled by default if they meet the above requirements for client and additionally: +Devices running Windows Server 2025 (preview) or later will have Credential Guard enabled by default if they meet the above requirements for client and additionally: - Are joined to a domain - Are not a Domain Controller @@ -54,16 +56,16 @@ Devices running Windows Server 2025 or later will have Credential Guard enabled ## System requirements -For Credential Guard to provide protection, the devices must meet certain hardware, firmware, and software requirements. +For Credential Guard to provide protection, the device must meet certain hardware, firmware, and software requirements. -Devices that meet more hardware and firmware qualifications than the minimum requirements, receive additional protections and are more hardened against certain threats. +Devices that meet more hardware and firmware qualifications than the minimum requirements receive additional protections and are more hardened against certain threats. ### Hardware and software requirements Credential Guard requires the features: - Virtualization-based security (VBS) - >[!NOTE] + > [!NOTE] > VBS has different requirements to enable it on different hardware platforms. For more information, see [Virtualization-based Security requirements](/windows-hardware/design/device-experiences/oem-vbs) - [Secure Boot](../../operating-system-security/system-security/secure-the-windows-10-boot-process.md#secure-boot) @@ -113,11 +115,15 @@ Applications prompt and expose credentials to risk if they require: - Digest authentication - Credential delegation - MS-CHAPv2 +- CredSSP Applications may cause performance issues when they attempt to hook the isolated Credential Guard process `LSAIso.exe`. Services or protocols that rely on Kerberos, such as file shares or remote desktop, continue to work and aren't affected by Credential Guard. +> [!IMPORTANT] +> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. + ## Next steps - Learn [how Credential Guard works](how-it-works.md) From e2a8f99d5047caf5306fc7016c4b0b9b7ad83fc3 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Mon, 6 May 2024 13:18:09 -0700 Subject: [PATCH 009/354] Update configure.md Updated to reflect Server 2025 preview status --- .../identity-protection/credential-guard/configure.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index b796611b79..58c4a829ce 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -11,9 +11,9 @@ This article describes how to configure Credential Guard using Microsoft Intune, ## Default Enablement -Starting in Windows 11, 22H2 and Windows Server 2025, Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). +Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). -System administrators can still [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state, typically after reboot. +System administrators can still explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state, typically after reboot. ### How to Prevent Default Enablement @@ -394,6 +394,9 @@ bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO, bcdedit /set vsmlaunchtype off ``` +> [!IMPORTANT] +> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. + ## Next steps - Review the advice and sample code for making your environment more secure and robust with Credential Guard in the [Additional mitigations](additional-mitigations.md) article From 82ab3c7f0263a3c617759ab1dd51eac42cec23a1 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Tue, 7 May 2024 13:10:09 -0700 Subject: [PATCH 010/354] Update considerations-known-issues.md Main change to reflect CredSSP delegation issue affecting Live Migration with Hyper-V --- .../considerations-known-issues.md | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 70e69ba53f..431057b2f9 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -5,6 +5,9 @@ description: Considerations, recommendations and known issues when using Credent ms.topic: troubleshooting --- +> [!IMPORTANT] +> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. + # Considerations and known issues when using Credential Guard It's recommended that in addition to deploying Credential Guard, organizations move away from passwords to other authentication methods, such as Windows Hello for Business, FIDO 2 security keys or smart cards. @@ -17,18 +20,20 @@ If you're using WiFi and VPN endpoints that are based on MS-CHAPv2, they're subj For WiFi and VPN connections, it's recommended to move from MSCHAPv2-based connections (such as PEAP-MSCHAPv2 and EAP-MSCHAPv2), to certificate-based authentication (such as PEAP-TLS or EAP-TLS). -## Kerberos considerations +## Delegation considerations -When Credential Guard is enabled, you can no longer use Kerberos unconstrained delegation or DES encryption. Unconstrained delegation could allow attackers to extract Kerberos keys from the isolated LSA process.\ -Use constrained or resource-based Kerberos delegation instead. +When Credential Guard is enabled, certain types of identity delegation will be unusable, as their underlying authentication schemes are incompatible with Credential Guard or require supplied credentials. -## CredSSP considerations +When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) is no longer able to use saved or sign-on (SSO) credentials, though cleartext credentials can still be supplied. CredSSP-based Delegation requires cleartext credentials to be supplied on the destination machine and will not work with SSO once Credential Guard is enabled. Usage of [CredSSP for delegation](/windows/win32/secauthn/credential-security-support-provider), and in general, is not recommended due to the risk of credential theft. -When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) can no longer rely on the signed-in credentials. Thus, applications which choose to use CredSSP cannot rely on single sign-on and instead must prompt the user for credentials. +Kerberos Unconstrained delegation, as well as DES, are blocked by Credential Guard. [Unconstrained delegation](/defender-for-identity/security-assessment-unconstrained-kerberos#what-risk-does-unsecure-kerberos-delegation-pose-to-an-organization) is not a recommended practice. + +Instead [Kerberos](/windows-server/security/kerberos/kerberos-authentication-overview) or [Negotiate SSP](/windows/win32/secauthn/microsoft-negotiate) are recommended for authentication generally, and for delegation, [Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) and [Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview#resource-based-constrained-delegation-across-domains) are recommended. These methods provide greater credential security overall, and are also compatible with Credential Guard. ## Non-Microsoft Security Support Providers considerations -Some non-Microsoft Security Support Providers (SSPs and APs) might not be compatible with Credential Guard because it doesn't allow non-Microsoft SSPs to ask for password hashes from LSA. However, SSPs and APs still get notified of the password when a user logs on and/or changes their password. Any use of undocumented APIs within custom SSPs and APs aren't supported.\ +Some non-Microsoft Security Support Providers (SSPs and APs) might not be compatible with Credential Guard because it doesn't allow non-Microsoft SSPs to ask for password hashes from LSA. However, SSPs and APs still get notified of the password when a user logs on and/or changes their password. Any use of undocumented APIs within custom SSPs and APs aren't supported. + It's recommended that custom implementations of SSPs/APs are tested with Credential Guard. SSPs and APs that depend on any undocumented or unsupported behaviors fail. For example, using the KerbQuerySupplementalCredentialsMessage API isn't supported. Replacing the NTLM or Kerberos SSPs with custom SSPs and APs. For more information, see [Restrictions around Registering and Installing a Security Package](/windows/win32/secauthn/restrictions-around-registering-and-installing-a-security-package). @@ -37,7 +42,9 @@ For more information, see [Restrictions around Registering and Installing a Secu As the depth and breadth of protections provided by Credential Guard are increased, new releases of Windows with Credential Guard running may affect scenarios that were working in the past. For example, Credential Guard may block the use of a particular type of credential or a particular component to prevent malware from taking advantage of vulnerabilities. -Test scenarios required for operations in an organization before upgrading a device using Credential Guard. +We recommend testing scenarios required for operations in an organization before upgrading a device that uses Credential Guard. + +Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credential Guard [enabled by default](index.md#default-enablement) if it has not been explicitly disabled. ## Saved Windows credentials considerations @@ -114,8 +121,22 @@ Credential Guard blocks certain authentication capabilities. Applications that r This article describes known issues when Credential Guard is enabled. -### Live migration breaks on Server after upgrading to Windows Server 2025 -TODO +### Live Migration with Hyper-V breaks when upgrading to Windows Server 2025 (preview) + +Devices which use CredSSP-based Delegation may no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services which rely on Live Migration (such as [SCVMM](/system-center/vmm/overview)) may also be affected. + +#### Affected devices +Any Server with Credential Guard enabled may encounter this issue. Starting in Windows Server 2025, [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that are not Domain Controllers. Default enablement of Credential Guard can be [pre-emptively blocked](configure.md#how-to-prevent-default-enablement) before upgrade. + +#### Cause of the issue +Live Migration with Hyper-V, and applications and services which rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials. + +If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration will fail. In most cases, Credential Guard's enablement state on the destination machine will not impact Live Migration. Live Migration will also fail in cluster scenarios (eg, SCVMM), since any device may at one point act as a source machine. + +#### How to fix the issue +Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can configure these types of delegation manually or with the help of automated scripts. + +For a more immediate but less secure fix, [Credential Guard can be disabled](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft. ### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 or Windows Server 2025 From 02efdb67838fac87e2ebce97455c8a09b7dc9c4c Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Tue, 7 May 2024 13:16:06 -0700 Subject: [PATCH 011/354] Update considerations-known-issues.md Moved WS'25 preview disclaimer to fix compile warning --- .../credential-guard/considerations-known-issues.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 431057b2f9..80dffd3218 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -5,11 +5,11 @@ description: Considerations, recommendations and known issues when using Credent ms.topic: troubleshooting --- +# Considerations and known issues when using Credential Guard + > [!IMPORTANT] > Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -# Considerations and known issues when using Credential Guard - It's recommended that in addition to deploying Credential Guard, organizations move away from passwords to other authentication methods, such as Windows Hello for Business, FIDO 2 security keys or smart cards. ## Wi-fi and VPN considerations From 4767b1cead72b08451d5640f1367c33c9ae2a021 Mon Sep 17 00:00:00 2001 From: Lee Yan Date: Fri, 17 May 2024 15:53:59 -0700 Subject: [PATCH 012/354] Update policy-csp-devicelock.md Adding a doc note per comment in bug below to reduce customer calls: https://microsoft.visualstudio.com/OS/_workitems/edit/39320736 DeviceLock/DevicePasswordExpiration is not supported through MDMWinsOverGP. --- windows/client-management/mdm/policy-csp-devicelock.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/client-management/mdm/policy-csp-devicelock.md b/windows/client-management/mdm/policy-csp-devicelock.md index 1dea6a8e0c..02737a3f65 100644 --- a/windows/client-management/mdm/policy-csp-devicelock.md +++ b/windows/client-management/mdm/policy-csp-devicelock.md @@ -431,6 +431,9 @@ Specifies whether device lock is enabled. > - MaxInactivityTimeDeviceLock +[!NOTE] +DevicePasswordExpiration is not supported through MDMWinsOverGP. + **Description framework properties**: From 70ffc4a9ef36d9e7ddf011c497e83375d00dc5b1 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 4 Jun 2024 14:07:35 -0700 Subject: [PATCH 013/354] recall-app-dev --- windows/client-management/manage-recall.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/windows/client-management/manage-recall.md b/windows/client-management/manage-recall.md index 2db4f4d49a..106ae47278 100644 --- a/windows/client-management/manage-recall.md +++ b/windows/client-management/manage-recall.md @@ -3,7 +3,7 @@ title: Manage Recall for Windows clients description: Learn how to manage Recall for commercial environments using MDM and group policy. Learn about Recall features. ms.topic: how-to ms.subservice: windows-copilot -ms.date: 05/23/2024 +ms.date: 06/04/2024 ms.author: mstewart author: mestew ms.collection: @@ -12,7 +12,7 @@ ms.collection: appliesto: - ✅ Copilot+ PCs --- ---- + # Manage Recall @@ -87,3 +87,7 @@ The amount of disk space users can allocate to Recall varies depending on how mu Microsoft has been on a responsible AI journey since 2017, when we defined our principles and approach to ensuring this technology is used in a way that is driven by ethical principles that put people first. For more about our responsible AI journey, the ethical principles that guide us, and the tooling and capabilities we've created to assure that we develop AI technology responsibly, see [Responsible AI](https://www.microsoft.com/ai/responsible-ai). Recall uses optical character recognition (OCR), local to the PC, to analyze snapshots and facilitate search. For more information about OCR, see [Transparency note and use cases for OCR](/legal/cognitive-services/computer-vision/ocr-transparency-note). For more information about privacy and security, see [Privacy and control over your Recall experience](https://support.microsoft.com/windows/privacy-and-control-over-your-recall-experience-d404f672-7647-41e5-886c-a3c59680af15). + +## Information for developers + +If you're a developer and want to launch Recall, you can call the `ms-recall` protocol URI. When you call this, Recall opens and takes a snapshot of the screen, which is the default behavior for when Recall is launched. For more information about using Recall in your Windows app, see the [Recall overview](https://developer.microsoft.com/windows/recall-api) article in the Windows AI API documentation. From eafc53ee953027cdfa387e94b0ddf614c0d79da2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 4 Jun 2024 14:18:30 -0700 Subject: [PATCH 014/354] recall-app-dev --- windows/client-management/manage-recall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/manage-recall.md b/windows/client-management/manage-recall.md index 106ae47278..28447b395e 100644 --- a/windows/client-management/manage-recall.md +++ b/windows/client-management/manage-recall.md @@ -90,4 +90,4 @@ Recall uses optical character recognition (OCR), local to the PC, to analyze sna ## Information for developers -If you're a developer and want to launch Recall, you can call the `ms-recall` protocol URI. When you call this, Recall opens and takes a snapshot of the screen, which is the default behavior for when Recall is launched. For more information about using Recall in your Windows app, see the [Recall overview](https://developer.microsoft.com/windows/recall-api) article in the Windows AI API documentation. +If you're a developer and want to launch Recall, you can call the `ms-recall` protocol URI. When you call this, Recall opens and takes a snapshot of the screen, which is the default behavior for when Recall is launched. For more information about using Recall in your Windows app, see [Recall overview](/windows/ai/apis/recall) in the Windows AI API documentation. From cc144b4bac0eed7f84b35d35264d4c5fb0036bdf Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:53:32 -0700 Subject: [PATCH 015/354] Updates from PMs --- ...tial-services-and-connected-experiences.md | 81 ++++++++++--------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index 21beba4c56..9e32c8732e 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -7,7 +7,7 @@ ms.localizationpriority: high author: DHB-MSFT ms.author: danbrown manager: laurawi -ms.date: 06/28/2021 +ms.date: 06/06/2024 ms.collection: highpri ms.topic: reference --- @@ -36,42 +36,47 @@ Although enterprise admins can turn off most essential services, we recommend, w | **Essential service** | **Description** | | --- | --- | -|Authentication|The authentication service is required to enable sign in to work or school accounts. It validates a user’s identity and provides access to multiple apps and system components like OneDrive and activity history. Using a work or school account to sign in to Windows enables Microsoft to provide a consistent experience across your devices. If the authentication service is turned off, many apps and components may lose functionality and users may not be able to sign in.

To turn it off, see [Microsoft Account](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#12-microsoft-account).| +|Authentication|The authentication service is required to enable sign in to work or school accounts. It validates a user’s identity and provides access to multiple apps and system components like OneDrive and Activity History. Using a work or school account to sign in to Windows enables Microsoft to provide a consistent experience across your devices. If the authentication service is turned off, many apps and components may lose functionality and users may not be able to sign in.

To turn it off, see [Microsoft Account](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#12-microsoft-account).| |Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA), are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates that are publicly known to be fraudulent. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.

To turn it off, see [Automatic Root Certificates Update](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update).| -| Services Configuration | Services Configuration is used by Windows components and apps, such as the telemetry service, to dynamically update their configuration. If you turn off this service, apps using this service may stop working.

To turn it off, see [Services Configuration](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#31-services-configuration).| -| Licensing | Licensing services are used for the activation of Windows, and apps purchased from the Microsoft Store. If you disable the Windows License Manager Service or the Software Protection Platform Service, it may prevent activation of genuine Windows and store applications.

To turn off licensing services, see [License Manager](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#9-license-manager) and [Software Protection Platform](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#19-software-protection-platform).| -| Networking | Networking in Windows provides connectivity to and from your devices to the local intranet and internet. If you turn off networking, Windows devices will lose network connectivity.

To turn off Network Adapters, see [Disable-NetAdapter](/powershell/module/netadapter/disable-netadapter).| -| Device setup | The first time a user sets up a new device, the Windows out-of-box experience (OOBE) guides the user through the steps to accept the license agreement, connect to the internet, sign in to (or sign up for) a Microsoft account, and takes care of other important tasks. Most settings can also be changed after setup is completed.

To customize the initial setup experience, see [Customize Setup](/windows-hardware/customize/desktop/customize-oobe).| -| Diagnostic Data | Microsoft collects diagnostic data including error data about your devices with the help of the telemetry service. Diagnostic data gives every user a voice in the operating system’s development and ongoing improvement. It helps us understand how Windows behaves in the real world, focus on user priorities, find and fix problems, and improve services. This data allows Microsoft to improve the Windows experience. Setting diagnostic data to off means important information to help fix issues and improve quality won't be available to Microsoft.

To turn it off, see [Telemetry Services](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#1816-feedback--diagnostics).| -| Update | Windows Update ensures devices are kept up to date and secure by downloading the latest updates and security patches for Windows. This service also enables users to download apps from the Microsoft Store and keep them up to date. Turning off Windows Update will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

Other services like Device metadata retrieval and Font streaming also ensure that the content on your devices is kept up to date.

To turn off updates, see [Windows Update](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#29-windows-update), [Device Metadata Retrieval](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#4-device-metadata-retrieval), and [Font Streaming](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#6-font-streaming).| -| Microsoft Store | Microsoft Store enables users to purchase and download apps, games, and digital content. The Store also enables the developers of these apps to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to store apps in a power-efficient and dependable way. The Store can also revoke malicious apps.

To turn it off, see [Microsoft Store](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#26-microsoft-store).| |Device Management |Device management includes Mobile Device Management (MDM), which helps IT pros manage company security policies and business applications. A built-in management component can communicate with the management server. If this is turned off, the device may no longer be compliant with company policy and the user might lose access to company resources.

[Learn more about Mobile Device Management](/windows/client-management/mdm-overview) | +|Device setup | The first time a user sets up a new device, the Windows out-of-box experience (OOBE) guides the user through the steps to accept the license agreement, connect to the internet, sign in to (or sign up for) a Microsoft account, and takes care of other important tasks. Most settings can also be changed after setup is completed.

To customize the initial setup experience, see [Customize Setup](/windows-hardware/customize/desktop/customize-oobe).| +|Licensing | Licensing services are used for the activation of Windows, and apps purchased from the Microsoft Store. If you disable the Windows License Manager Service or the Software Protection Platform Service, it may prevent activation of genuine Windows and store applications.

To turn off licensing services, see [License Manager](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#9-license-manager) and [Software Protection Platform](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#19-software-protection-platform).| +|Microsoft Store | Microsoft Store enables users to purchase and download apps, games, and digital content. The Store also enables the developers of these apps to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to store apps in a power-efficient and dependable way. The Store can also revoke malicious apps.

To turn it off, see [Microsoft Store](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#26-microsoft-store).| +|Networking | Networking in Windows provides connectivity to and from your devices to the local intranet and internet. If you turn off networking, Windows devices will lose network connectivity.

To turn off Network Adapters, see [Disable-NetAdapter](/powershell/module/netadapter/disable-netadapter).| +|Services Configuration | Services Configuration is used by Windows components and apps, such as the telemetry service, to dynamically update their configuration. If you turn off this service, apps using this service may stop working.

To turn it off, see [Services Configuration](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#31-services-configuration).| +|Update | Windows Update ensures devices are kept up to date and secure by downloading the latest updates and security patches for Windows. This service also enables users to download apps from the Microsoft Store and keep them up to date. Turning off Windows Update will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

Other services like Device metadata retrieval and Font streaming also ensure that the content on your devices is kept up to date.

To turn off updates, see [Windows Update](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#29-windows-update), [Device Metadata Retrieval](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#4-device-metadata-retrieval), and [Font Streaming](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#6-font-streaming).| ## Windows connected experiences | **Connected experience** | **Description** | | --- | --- | -|Activity History|Activity History shows a history of activities a user has performed and can even synchronize activities across multiple devices for the same user. Synchronization across devices only works when a user signs in with the same account.

To turn it off, see [Activity History](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#1822-activity-history). | +|Activity History|Activity History shows a history of activities a user has performed and can even synchronize activities across multiple devices for the same user. Synchronization across devices only works when a user signs in with the same account. This feature is available in versions of Windows released prior to January 2024, and has been discontinued in new versions of Windows.

To turn it off, see [Activity History](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#1822-activity-history). | +|BitLocker|BitLocker is a Windows security feature that provides encryption for entire device volumes, addressing the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices.| |Cloud Clipboard|Cloud Clipboard enables users to copy images and text across all Windows devices when they sign in with the same account. Users can paste from their clipboard history and also pin items.

To turn it off, see [Cloud Clipboard](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#30-cloud-clipboard). | -| Date and Time | The Windows Time service is used to synchronize and maintain the most accurate date and time on your devices. It's installed by default and starts automatically on devices that are part of a domain. It can be started manually on other devices. If this service is stopped, date and time synchronization will be unavailable and any services that explicitly depend on it will fail to start.

To turn it off, see [Date and Time](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#3-date--time). | -| Delivery Optimization | Delivery Optimization is a cloud-managed, peer-to-peer client and a downloader service for Windows updates, upgrades, and applications to an organization's networked devices. Delivery Optimization allows devices to download updates from alternate sources, such as other peers on the network, in addition to Microsoft servers. This helps when you have a limited or unreliable Internet connection and reduces the bandwidth needed to keep all your organization's devices up to date.

If you have Delivery Optimization Peer-to-Peer option turned on, devices on your network may send and receive updates and apps to other devices on your local network, if you choose, or to devices on the Internet. By default, devices running Windows will only use Delivery Optimization to get and receive updates for devices and apps on your local network.

To turn it off, see [Delivery Optimization](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#28-delivery-optimization). | -| Emojis and more | The Emoji and more menu allows users to insert a variety of content like emoji, kaomoji, GIFs, symbols, and clipboard history. This connected experience is new in Windows 11.

To turn it off, see [Emojis availability](/windows/client-management/mdm/policy-csp-textinput). | -| Find My Device | Find My Device is a feature that can help users locate their Windows device if it's lost or stolen. This feature only works if a Microsoft account is used to sign in to the device, the user is an administrator on the device, and when location is turned on for the device. Users can find their device by logging in to [https://account.microsoft.com/devices](https://account.microsoft.com/devices) under the Find My Device tab.

To turn it off, see [Find My Device](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#5-find-my-device). | -| Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#182-location). | -| Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#bkmk-defender). | -| Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#241-microsoft-defender-smartscreen). | -| OneDrive | OneDrive is a cloud storage system that allows you to save your files and photos, and access them from any device, anywhere.

To turn off OneDrive, see [OneDrive](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#16-onedrive). | -| Troubleshooting Service | Windows troubleshooting service will automatically fix critical issues like corrupt settings that keep critical services from running. The service will also make adjustments to work with your hardware, or make other specific changes required for Windows to operate with the hardware, apps, and settings you’ve selected. In addition, it will recommend troubleshooting for other problems that aren’t critical to normal Windows operation but might impact your experience.

To turn it off, see [Troubleshooting service](/windows/client-management/mdm/policy-csp-troubleshooting). | -| Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#186-speech). | -| Windows backup | When settings synchronization is turned on, a user's settings are synced across all Windows devices when they sign in with the same account.

To turn it off, see [Sync your settings](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#21-sync-your-settings). | -| Windows Dashboard Widgets | Windows Dashboard widget is a dynamic view that shows users personalized content like news, weather, their calendar and to-do list, and recent photos. It provides a quick glance view, which allows users to be productive without needing to go to multiple apps or websites. This connected experience is new in Windows 11. | -| Windows Insider Program | The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to builds of Windows. Once you've registered for the program, you can run Insider Preview builds on as many devices as you want, each in the channel of your choice. Learn how to join the Windows Insider program by visiting the program’s [website](https://insider.windows.com/).

To turn it off, see [Windows Insider Program](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#7-insider-preview-builds). | -| Windows Search | Windows Search lets users use the search box on the taskbar to find what they're looking for, whether it’s on their device, in the cloud, or on the web. Windows Search can provide results for items from the device (including apps, settings, and files), the users account (including OneDrive, SharePoint, and other Microsoft services), and the internet.

To turn it off, see [Windows Search](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#2-cortana-and-search). | -| Windows Spotlight | Windows Spotlight displays new background images on the lock screen each day. Additionally, it provides feature suggestions, fun facts, and tips on the lock screen background.

Administrators can turn off Windows Spotlight features to prevent users from using the Windows Spotlight background.

To turn it off, see [Windows Spotlight](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#25-windows-spotlight). | +|Custom dictionary|Custom dictionary allows users to get better text suggestions by creating a custom dictionary using the user's typing and handwriting info.| +|Date and Time | The Windows Time service is used to synchronize and maintain the most accurate date and time on your devices. It's installed by default and starts automatically on devices that are part of a domain. It can be started manually on other devices. If this service is stopped, date and time synchronization will be unavailable and any services that explicitly depend on it will fail to start.

To turn it off, see [Date and Time](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#3-date--time). | +|Delivery Optimization | Delivery Optimization is a cloud-managed, peer-to-peer client and a downloader service for Windows updates, upgrades, and applications to an organization's networked devices. Delivery Optimization allows devices to download updates from alternate sources, such as other peers on the network, in addition to Microsoft servers. This helps when you have a limited or unreliable Internet connection and reduces the bandwidth needed to keep all your organization's devices up to date.

If you have Delivery Optimization Peer-to-Peer option turned on, devices on your network may send and receive updates and apps to other devices on your local network, if you choose, or to devices on the Internet. By default, devices running Windows will only use Delivery Optimization to get and receive updates for devices and apps on your local network.

To turn it off, see [Delivery Optimization](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#28-delivery-optimization). | +|Emojis and more | The Emoji and more menu allows users to insert a variety of content like emoji, kaomoji, GIFs, symbols, and clipboard history. This connected experience is new in Windows 11.

To turn it off, see [Emojis availability](/windows/client-management/mdm/policy-csp-textinput). | +|Find My Device | Find My Device is a feature that can help users locate their Windows device if it's lost or stolen. This feature only works if a Microsoft account is used to sign in to the device, the user is an administrator on the device, and when location is turned on for the device. Users can find their device by logging in to [https://account.microsoft.com/devices](https://account.microsoft.com/devices) under the Find My Device tab.

To turn it off, see [Find My Device](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#5-find-my-device). | +|Get Started|Get Started is an app on Windows 11 to help complete device setup and learn about new features on Windows.| +|Input Method Editor (IME)|IME is a Windows feature that allows you to type East Asian languages such as Japanese, Chinese Simplified, Chinese Traditional, Korean, Indic, Vietnamese, as well as rule-based languages like Tamil, Adlam, and Osage.| +|Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#182-location). | +|Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#bkmk-defender). | +|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#241-microsoft-defender-smartscreen). | +|Phone Link|Phone Link lets you find your mobile device notifications, messages, photos, mobile app list, and other mobile content from your Windows PC.| +|Troubleshooting Service | Windows troubleshooting service will automatically fix critical issues like corrupt settings that keep critical services from running. The service will also make adjustments to work with your hardware, or make other specific changes required for Windows to operate with the hardware, apps, and settings you’ve selected. In addition, it will recommend troubleshooting for other problems that aren’t critical to normal Windows operation but might impact your experience.

To turn it off, see [Troubleshooting service](/windows/client-management/mdm/policy-csp-troubleshooting). | +|Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#186-speech). | +|Windows Autopilot|Windows Autopilot is a collection of technologies used to set up and pre-configure new devices, getting them ready for productive use. Windows Autopilot can be used to deploy Windows PCs or HoloLens 2 devices. The client experiences that ship as part of Windows are specific to the Out-of-Box Experience (OOBE).| +|Windows Backup | When settings synchronization is turned on, a user's settings are synced across all Windows devices when they sign in with the same account.

To turn it off, see [Sync your settings](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#21-sync-your-settings). | +|Windows Dashboard Widgets | Windows Dashboard widget is a dynamic view that shows users personalized content like news, weather, their calendar and to-do list, and recent photos. It provides a quick glance view, which allows users to be productive without needing to go to multiple apps or websites. This connected experience is new in Windows 11. | +|Windows Hello|Windows Hello includes components for collecting and storing private key credentials for Windows logon. | +|Windows Insider Program | The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to builds of Windows. Once you've registered for the program, you can run Insider Preview builds on as many devices as you want, each in the channel of your choice. Learn how to join the Windows Insider program by visiting the program’s [website](https://insider.windows.com/).

To turn it off, see [Windows Insider Program](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#7-insider-preview-builds). | +|Windows Search | Windows Search lets users use the search box on the taskbar to find what they're looking for, whether it’s on their device, in the cloud, or on the web. Windows Search can provide results for items from the device (including apps, settings, and files), the users account (including OneDrive, SharePoint, and other Microsoft services), and the internet.

To turn it off, see [Windows Search](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#2-cortana-and-search). | +|Windows Spotlight | Windows Spotlight displays new background images on the lock screen each day. Additionally, it provides feature suggestions, fun facts, and tips on the lock screen background.

Administrators can turn off Windows Spotlight features to prevent users from using the Windows Spotlight background.

To turn it off, see [Windows Spotlight](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#25-windows-spotlight). | ## Microsoft Edge essential services and connected experiences -Windows ships with Microsoft Edge and Internet Explorer on Windows devices. Microsoft Edge is the default browser and is recommended for the best web browsing experience.
You can find details on all of Microsoft Edge's connected experiences and essential services [here](/microsoft-edge/privacy-whitepaper). To turn off specific Microsoft Edge feature, see [Microsoft Edge](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge). +Windows ships with Microsoft Edge and Internet Explorer on Windows devices. Microsoft Edge is the default browser and is recommended for the best web browsing experience.
You can find details on all of Microsoft Edge's connected experiences and essential services [here](/microsoft-edge/privacy-whitepaper). To turn off specific Microsoft Edge features, see [Microsoft Edge](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge). ## IE essential services and connected experiences @@ -82,29 +87,30 @@ Internet Explorer shares many of the Windows essential services listed above. Th | **Connected experience** | **Description** | | --- | --- | +|Accelerators | Accelerators are menu options in Internet Explorer that help automate common browser-related tasks. In Internet Explorer, when you right-click selected text, Accelerators appear in the list of available options.
For example, if you select a word, you can use the "Translate with Bing" Accelerator to obtain a translation of that word. | |ActiveX Filtering|ActiveX controls are small apps that allow websites to provide content such as videos and games, and let users interact with controls like toolbars and stock tickers. However, these apps can sometimes malfunction, and in some cases, they might be used to collect information from user devices, install software without a user's agreement, or be used to control a device remotely without a user's permission.
ActiveX Filtering in Internet Explorer prevents sites from installing and using these apps, which can help keep users safer as they browse, but it can also affect the user experience of certain sites as interactive content might not work when ActiveX Filtering is on.
Note: To further enhance security, Internet Explorer also allows you to block out-of-date ActiveX controls. | +|Address Bar and Search suggestions | With search suggestions enabled, users will be offered suggested search terms as they type in the Address Bar. As users type information, it will be sent to the default search provider. | +|Auto-complete feature for web addresses | The auto-complete feature suggests possible matches when users are typing web addresses in the browser address bar. | +|Compatibility logging | This feature is designed for use by developers and IT professionals to determine the compatibility of their websites with Internet Explorer. It's disabled by default and needs to be enabled to start logging Internet Explorer events in the Windows Event Viewer. These events describe failures that might have happened on the site and can include information about specific controls and webpages that failed. | +|Compatibility View | Compatibility View helps make websites designed for older browsers look better when viewed in Internet Explorer. The compatibility view setting allows you to choose whether an employee can fix website display problems they encounter while browsing. | +|Flip ahead | Flip ahead enables users to flip through web content quickly by swiping across the page or by clicking forward. When flip ahead is turned on, web browsing history is periodically sent to Microsoft. If you turn off this setting, users will no longer be able swipe across a screen or click forward to go to the next pre-loaded page of a website. | +|Pinning websites to Start | When a user pins a website to the Start menu, it displays as a tile similar to the way apps are displayed. Like Microsoft Store apps, website tiles might display updates if the website has been designed to do so. For example, an online email website might send updates to the tile indicating how many new messages a user has. | |Suggested Sites|Suggested Sites is an online experience that recommends websites, images, or videos a user might be interested in. When Suggested Sites is turned on, a user’s web browsing history is periodically sent to Microsoft.| -| Address Bar and Search suggestions | With search suggestions enabled, users will be offered suggested search terms as they type in the Address Bar. As users type information, it will be sent to the default search provider. | -| Auto-complete feature for web addresses | The auto-complete feature suggests possible matches when users are typing web addresses in the browser address bar. | -| Compatibility logging | This feature is designed for use by developers and IT professionals to determine the compatibility of their websites with Internet Explorer. It's disabled by default and needs to be enabled to start logging Internet Explorer events in the Windows Event Viewer. These events describe failures that might have happened on the site and can include information about specific controls and webpages that failed. | -| Compatibility View | Compatibility View helps make websites designed for older browsers look better when viewed in Internet Explorer. The compatibility view setting allows you to choose whether an employee can fix website display problems they encounter while browsing. | -| Flip ahead | Flip ahead enables users to flip through web content quickly by swiping across the page or by clicking forward. When flip ahead is turned on, web browsing history is periodically sent to Microsoft. If you turn off this setting, users will no longer be able swipe across a screen or click forward to go to the next pre-loaded page of a website. | -| Web Slices | A Web Slice enables users to subscribe to and automatically receive updates to content directly within a web page. Disabling the RSS Feeds setting will turn off background synchronization for feeds and Web Slices. | -| Accelerators | Accelerators are menu options in Internet Explorer that help automate common browser-related tasks. In Internet Explorer, when you right-click selected text, Accelerators appear in the list of available options.
For example, if you select a word, you can use the "Translate with Bing" Accelerator to obtain a translation of that word. | -| Pinning websites to Start | When a user pins a website to the Start menu, it displays as a tile similar to the way apps are displayed. Like Microsoft Store apps, website tiles might display updates if the website has been designed to do so. For example, an online email website might send updates to the tile indicating how many new messages a user has. | +|Web Slices | A Web Slice enables users to subscribe to and automatically receive updates to content directly within a web page. Disabling the RSS Feeds setting will turn off background synchronization for feeds and Web Slices. | ## Related links - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Connected Experiences in Office](/deployoffice/privacy/connected-experiences) -- [Essential Services in Office](/deployoffice/privacy/essential-services) +- [Connected experiences in Office](/deployoffice/privacy/connected-experiences) +- [Essential services for Office](/deployoffice/privacy/essential-services) To view endpoints for Windows Enterprise, see: - [Manage connection endpoints for Windows 11](manage-windows-11-endpoints.md) -- [Manage connection endpoints for Windows 10, version 21H1](manage-windows-21H1-endpoints.md) - [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) +- [Manage connection endpoints for Windows 10, version 21H1](manage-windows-21H1-endpoints.md) - [Manage connection endpoints for Windows 10, version 20H2](manage-windows-20h2-endpoints.md) +- [Manage connection endpoints for Windows 10 version 2004](manage-windows-2004-endpoints.md) - [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) - [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) - [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) @@ -114,6 +120,7 @@ To view endpoints for non-Enterprise Windows editions, see: - [Windows 11 connection endpoints for non-Enterprise editions](windows-11-endpoints-non-enterprise-editions.md) - [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) - [Windows 10, version 20H2, connection endpoints for non-Enterprise editions](windows-endpoints-20H2-non-enterprise-editions.md) +- [Windows 10, version 2004, connection endpoints for non-Enterprise editions](windows-endpoints-2004-non-enterprise-editions.md) - [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) - [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) - [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) From 73978f4f57001bff5f2e7656bb1971ac23d48376 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:25:48 -0700 Subject: [PATCH 016/354] Update some links --- ...tial-services-and-connected-experiences.md | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index 9e32c8732e..178eec3ccb 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -40,11 +40,11 @@ Although enterprise admins can turn off most essential services, we recommend, w |Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA), are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates that are publicly known to be fraudulent. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.

To turn it off, see [Automatic Root Certificates Update](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update).| |Device Management |Device management includes Mobile Device Management (MDM), which helps IT pros manage company security policies and business applications. A built-in management component can communicate with the management server. If this is turned off, the device may no longer be compliant with company policy and the user might lose access to company resources.

[Learn more about Mobile Device Management](/windows/client-management/mdm-overview) | |Device setup | The first time a user sets up a new device, the Windows out-of-box experience (OOBE) guides the user through the steps to accept the license agreement, connect to the internet, sign in to (or sign up for) a Microsoft account, and takes care of other important tasks. Most settings can also be changed after setup is completed.

To customize the initial setup experience, see [Customize Setup](/windows-hardware/customize/desktop/customize-oobe).| -|Licensing | Licensing services are used for the activation of Windows, and apps purchased from the Microsoft Store. If you disable the Windows License Manager Service or the Software Protection Platform Service, it may prevent activation of genuine Windows and store applications.

To turn off licensing services, see [License Manager](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#9-license-manager) and [Software Protection Platform](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#19-software-protection-platform).| -|Microsoft Store | Microsoft Store enables users to purchase and download apps, games, and digital content. The Store also enables the developers of these apps to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to store apps in a power-efficient and dependable way. The Store can also revoke malicious apps.

To turn it off, see [Microsoft Store](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#26-microsoft-store).| +|Licensing | Licensing services are used for the activation of Windows, and apps purchased from the Microsoft Store. If you disable the Windows License Manager Service or the Software Protection Platform Service, it may prevent activation of genuine Windows and store applications.

To turn off licensing services, see [License Manager](manage-connections-from-windows-operating-system-components-to-microsoft-services#9-license-manager) and [Software Protection Platform](manage-connections-from-windows-operating-system-components-to-microsoft-services#19-software-protection-platform).| +|Microsoft Store | Microsoft Store enables users to purchase and download apps, games, and digital content. The Store also enables the developers of these apps to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to store apps in a power-efficient and dependable way. The Store can also revoke malicious apps.

To turn it off, see [Microsoft Store](manage-connections-from-windows-operating-system-components-to-microsoft-services#26-microsoft-store).| |Networking | Networking in Windows provides connectivity to and from your devices to the local intranet and internet. If you turn off networking, Windows devices will lose network connectivity.

To turn off Network Adapters, see [Disable-NetAdapter](/powershell/module/netadapter/disable-netadapter).| -|Services Configuration | Services Configuration is used by Windows components and apps, such as the telemetry service, to dynamically update their configuration. If you turn off this service, apps using this service may stop working.

To turn it off, see [Services Configuration](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#31-services-configuration).| -|Update | Windows Update ensures devices are kept up to date and secure by downloading the latest updates and security patches for Windows. This service also enables users to download apps from the Microsoft Store and keep them up to date. Turning off Windows Update will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

Other services like Device metadata retrieval and Font streaming also ensure that the content on your devices is kept up to date.

To turn off updates, see [Windows Update](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#29-windows-update), [Device Metadata Retrieval](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#4-device-metadata-retrieval), and [Font Streaming](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#6-font-streaming).| +|Services Configuration | Services Configuration is used by Windows components and apps, such as the telemetry service, to dynamically update their configuration. If you turn off this service, apps using this service may stop working.

To turn it off, see [Services Configuration](manage-connections-from-windows-operating-system-components-to-microsoft-services#31-services-configuration).| +|Update | Windows Update ensures devices are kept up to date and secure by downloading the latest updates and security patches for Windows. This service also enables users to download apps from the Microsoft Store and keep them up to date. Turning off Windows Update will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

Other services like Device metadata retrieval and Font streaming also ensure that the content on your devices is kept up to date.

To turn off updates, see [Windows Update](manage-connections-from-windows-operating-system-components-to-microsoft-services#29-windows-update), [Device metadata retrieval](manage-connections-from-windows-operating-system-components-to-microsoft-services#4-device-metadata-retrieval), and [Font streaming](manage-connections-from-windows-operating-system-components-to-microsoft-services#6-font-streaming).| ## Windows connected experiences @@ -54,29 +54,31 @@ Although enterprise admins can turn off most essential services, we recommend, w |BitLocker|BitLocker is a Windows security feature that provides encryption for entire device volumes, addressing the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices.| |Cloud Clipboard|Cloud Clipboard enables users to copy images and text across all Windows devices when they sign in with the same account. Users can paste from their clipboard history and also pin items.

To turn it off, see [Cloud Clipboard](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#30-cloud-clipboard). | |Custom dictionary|Custom dictionary allows users to get better text suggestions by creating a custom dictionary using the user's typing and handwriting info.| -|Date and Time | The Windows Time service is used to synchronize and maintain the most accurate date and time on your devices. It's installed by default and starts automatically on devices that are part of a domain. It can be started manually on other devices. If this service is stopped, date and time synchronization will be unavailable and any services that explicitly depend on it will fail to start.

To turn it off, see [Date and Time](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#3-date--time). | -|Delivery Optimization | Delivery Optimization is a cloud-managed, peer-to-peer client and a downloader service for Windows updates, upgrades, and applications to an organization's networked devices. Delivery Optimization allows devices to download updates from alternate sources, such as other peers on the network, in addition to Microsoft servers. This helps when you have a limited or unreliable Internet connection and reduces the bandwidth needed to keep all your organization's devices up to date.

If you have Delivery Optimization Peer-to-Peer option turned on, devices on your network may send and receive updates and apps to other devices on your local network, if you choose, or to devices on the Internet. By default, devices running Windows will only use Delivery Optimization to get and receive updates for devices and apps on your local network.

To turn it off, see [Delivery Optimization](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#28-delivery-optimization). | +|Date and Time | The Windows Time service is used to synchronize and maintain the most accurate date and time on your devices. It's installed by default and starts automatically on devices that are part of a domain. It can be started manually on other devices. If this service is stopped, date and time synchronization will be unavailable and any services that explicitly depend on it will fail to start.

To turn it off, see [Date and Time](manage-connections-from-windows-operating-system-components-to-microsoft-services#3-date--time). | +|Delivery Optimization | Delivery Optimization is a cloud-managed, peer-to-peer client and a downloader service for Windows updates, upgrades, and applications to an organization's networked devices. Delivery Optimization allows devices to download updates from alternate sources, such as other peers on the network, in addition to Microsoft servers. This helps when you have a limited or unreliable Internet connection and reduces the bandwidth needed to keep all your organization's devices up to date.

If you have Delivery Optimization Peer-to-Peer option turned on, devices on your network may send and receive updates and apps to other devices on your local network, if you choose, or to devices on the Internet. By default, devices running Windows will only use Delivery Optimization to get and receive updates for devices and apps on your local network.

To turn it off, see [Delivery Optimization](manage-connections-from-windows-operating-system-components-to-microsoft-services#28-delivery-optimization). | |Emojis and more | The Emoji and more menu allows users to insert a variety of content like emoji, kaomoji, GIFs, symbols, and clipboard history. This connected experience is new in Windows 11.

To turn it off, see [Emojis availability](/windows/client-management/mdm/policy-csp-textinput). | -|Find My Device | Find My Device is a feature that can help users locate their Windows device if it's lost or stolen. This feature only works if a Microsoft account is used to sign in to the device, the user is an administrator on the device, and when location is turned on for the device. Users can find their device by logging in to [https://account.microsoft.com/devices](https://account.microsoft.com/devices) under the Find My Device tab.

To turn it off, see [Find My Device](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#5-find-my-device). | +|Find My Device | Find My Device is a feature that can help users locate their Windows device if it's lost or stolen. This feature only works if a Microsoft account is used to sign in to the device, the user is an administrator on the device, and when location is turned on for the device. Users can find their device by logging in to [https://account.microsoft.com/devices](https://account.microsoft.com/devices) under the Find My Device tab.

To turn it off, see [Find My Device](manage-connections-from-windows-operating-system-components-to-microsoft-services#5-find-my-device). | |Get Started|Get Started is an app on Windows 11 to help complete device setup and learn about new features on Windows.| |Input Method Editor (IME)|IME is a Windows feature that allows you to type East Asian languages such as Japanese, Chinese Simplified, Chinese Traditional, Korean, Indic, Vietnamese, as well as rule-based languages like Tamil, Adlam, and Osage.| -|Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#182-location). | -|Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#bkmk-defender). | -|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#241-microsoft-defender-smartscreen). | +|Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](manage-connections-from-windows-operating-system-components-to-microsoft-services#182-location). | +|Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](manage-connections-from-windows-operating-system-components-to-microsoft-services#24-microsoft-defender-antivirus). | +|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](manage-connections-from-windows-operating-system-components-to-microsoft-services#241-microsoft-defender-smartscreen). | |Phone Link|Phone Link lets you find your mobile device notifications, messages, photos, mobile app list, and other mobile content from your Windows PC.| |Troubleshooting Service | Windows troubleshooting service will automatically fix critical issues like corrupt settings that keep critical services from running. The service will also make adjustments to work with your hardware, or make other specific changes required for Windows to operate with the hardware, apps, and settings you’ve selected. In addition, it will recommend troubleshooting for other problems that aren’t critical to normal Windows operation but might impact your experience.

To turn it off, see [Troubleshooting service](/windows/client-management/mdm/policy-csp-troubleshooting). | -|Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#186-speech). | +|Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](manage-connections-from-windows-operating-system-components-to-microsoft-services#186-speech). | |Windows Autopilot|Windows Autopilot is a collection of technologies used to set up and pre-configure new devices, getting them ready for productive use. Windows Autopilot can be used to deploy Windows PCs or HoloLens 2 devices. The client experiences that ship as part of Windows are specific to the Out-of-Box Experience (OOBE).| -|Windows Backup | When settings synchronization is turned on, a user's settings are synced across all Windows devices when they sign in with the same account.

To turn it off, see [Sync your settings](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#21-sync-your-settings). | +|Windows Backup | When settings synchronization is turned on, a user's settings are synced across all Windows devices when they sign in with the same account.

To turn it off, see [Sync your settings](manage-connections-from-windows-operating-system-components-to-microsoft-services#21-sync-your-settings). | |Windows Dashboard Widgets | Windows Dashboard widget is a dynamic view that shows users personalized content like news, weather, their calendar and to-do list, and recent photos. It provides a quick glance view, which allows users to be productive without needing to go to multiple apps or websites. This connected experience is new in Windows 11. | |Windows Hello|Windows Hello includes components for collecting and storing private key credentials for Windows logon. | -|Windows Insider Program | The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to builds of Windows. Once you've registered for the program, you can run Insider Preview builds on as many devices as you want, each in the channel of your choice. Learn how to join the Windows Insider program by visiting the program’s [website](https://insider.windows.com/).

To turn it off, see [Windows Insider Program](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#7-insider-preview-builds). | -|Windows Search | Windows Search lets users use the search box on the taskbar to find what they're looking for, whether it’s on their device, in the cloud, or on the web. Windows Search can provide results for items from the device (including apps, settings, and files), the users account (including OneDrive, SharePoint, and other Microsoft services), and the internet.

To turn it off, see [Windows Search](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#2-cortana-and-search). | -|Windows Spotlight | Windows Spotlight displays new background images on the lock screen each day. Additionally, it provides feature suggestions, fun facts, and tips on the lock screen background.

Administrators can turn off Windows Spotlight features to prevent users from using the Windows Spotlight background.

To turn it off, see [Windows Spotlight](/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services#25-windows-spotlight). | +|Windows Insider Program | The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to builds of Windows. Once you've registered for the program, you can run Insider Preview builds on as many devices as you want, each in the channel of your choice. Learn how to join the Windows Insider program by visiting the program’s [website](https://www.microsoft.com/windowsinsider/).

To turn it off, see [Windows Insider Program](manage-connections-from-windows-operating-system-components-to-microsoft-services#7-insider-preview-builds). | +|Windows Search | Windows Search lets users use the search box on the taskbar to find what they're looking for, whether it’s on their device, in the cloud, or on the web. Windows Search can provide results for items from the device (including apps, settings, and files), the users account (including OneDrive, SharePoint, and other Microsoft services), and the internet.

To turn it off, see [Windows Search](manage-connections-from-windows-operating-system-components-to-microsoft-services#2-cortana-and-search). | +|Windows Spotlight | Windows Spotlight displays new background images on the lock screen each day. Additionally, it provides feature suggestions, fun facts, and tips on the lock screen background.

Administrators can turn off Windows Spotlight features to prevent users from using the Windows Spotlight background.

To turn it off, see [Windows Spotlight](manage-connections-from-windows-operating-system-components-to-microsoft-services#25-personalized-experiences). | ## Microsoft Edge essential services and connected experiences -Windows ships with Microsoft Edge and Internet Explorer on Windows devices. Microsoft Edge is the default browser and is recommended for the best web browsing experience.
You can find details on all of Microsoft Edge's connected experiences and essential services [here](/microsoft-edge/privacy-whitepaper). To turn off specific Microsoft Edge features, see [Microsoft Edge](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge). +Windows ships with Microsoft Edge and Internet Explorer on Windows devices. Microsoft Edge is the default browser and is recommended for the best web browsing experience. + +You can find details on all of Microsoft Edge's connected experiences and essential services [here](/microsoft-edge/privacy-whitepaper). To turn off specific Microsoft Edge features, see [Microsoft Edge](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge). ## IE essential services and connected experiences @@ -98,7 +100,7 @@ Internet Explorer shares many of the Windows essential services listed above. Th |Suggested Sites|Suggested Sites is an online experience that recommends websites, images, or videos a user might be interested in. When Suggested Sites is turned on, a user’s web browsing history is periodically sent to Microsoft.| |Web Slices | A Web Slice enables users to subscribe to and automatically receive updates to content directly within a web page. Disabling the RSS Feeds setting will turn off background synchronization for feeds and Web Slices. | -## Related links +## Related articles - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Connected experiences in Office](/deployoffice/privacy/connected-experiences) From d5408f04a20e02afa598914331829f5e1694c77d Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 6 Jun 2024 10:35:28 -0700 Subject: [PATCH 017/354] Fix link formatting (missing .md) --- ...tial-services-and-connected-experiences.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index 178eec3ccb..6d314f9b80 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -40,11 +40,11 @@ Although enterprise admins can turn off most essential services, we recommend, w |Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA), are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates that are publicly known to be fraudulent. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.

To turn it off, see [Automatic Root Certificates Update](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update).| |Device Management |Device management includes Mobile Device Management (MDM), which helps IT pros manage company security policies and business applications. A built-in management component can communicate with the management server. If this is turned off, the device may no longer be compliant with company policy and the user might lose access to company resources.

[Learn more about Mobile Device Management](/windows/client-management/mdm-overview) | |Device setup | The first time a user sets up a new device, the Windows out-of-box experience (OOBE) guides the user through the steps to accept the license agreement, connect to the internet, sign in to (or sign up for) a Microsoft account, and takes care of other important tasks. Most settings can also be changed after setup is completed.

To customize the initial setup experience, see [Customize Setup](/windows-hardware/customize/desktop/customize-oobe).| -|Licensing | Licensing services are used for the activation of Windows, and apps purchased from the Microsoft Store. If you disable the Windows License Manager Service or the Software Protection Platform Service, it may prevent activation of genuine Windows and store applications.

To turn off licensing services, see [License Manager](manage-connections-from-windows-operating-system-components-to-microsoft-services#9-license-manager) and [Software Protection Platform](manage-connections-from-windows-operating-system-components-to-microsoft-services#19-software-protection-platform).| -|Microsoft Store | Microsoft Store enables users to purchase and download apps, games, and digital content. The Store also enables the developers of these apps to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to store apps in a power-efficient and dependable way. The Store can also revoke malicious apps.

To turn it off, see [Microsoft Store](manage-connections-from-windows-operating-system-components-to-microsoft-services#26-microsoft-store).| +|Licensing | Licensing services are used for the activation of Windows, and apps purchased from the Microsoft Store. If you disable the Windows License Manager Service or the Software Protection Platform Service, it may prevent activation of genuine Windows and store applications.

To turn off licensing services, see [License Manager](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#9-license-manager) and [Software Protection Platform](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#19-software-protection-platform).| +|Microsoft Store | Microsoft Store enables users to purchase and download apps, games, and digital content. The Store also enables the developers of these apps to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to store apps in a power-efficient and dependable way. The Store can also revoke malicious apps.

To turn it off, see [Microsoft Store](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store).| |Networking | Networking in Windows provides connectivity to and from your devices to the local intranet and internet. If you turn off networking, Windows devices will lose network connectivity.

To turn off Network Adapters, see [Disable-NetAdapter](/powershell/module/netadapter/disable-netadapter).| -|Services Configuration | Services Configuration is used by Windows components and apps, such as the telemetry service, to dynamically update their configuration. If you turn off this service, apps using this service may stop working.

To turn it off, see [Services Configuration](manage-connections-from-windows-operating-system-components-to-microsoft-services#31-services-configuration).| -|Update | Windows Update ensures devices are kept up to date and secure by downloading the latest updates and security patches for Windows. This service also enables users to download apps from the Microsoft Store and keep them up to date. Turning off Windows Update will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

Other services like Device metadata retrieval and Font streaming also ensure that the content on your devices is kept up to date.

To turn off updates, see [Windows Update](manage-connections-from-windows-operating-system-components-to-microsoft-services#29-windows-update), [Device metadata retrieval](manage-connections-from-windows-operating-system-components-to-microsoft-services#4-device-metadata-retrieval), and [Font streaming](manage-connections-from-windows-operating-system-components-to-microsoft-services#6-font-streaming).| +|Services Configuration | Services Configuration is used by Windows components and apps, such as the telemetry service, to dynamically update their configuration. If you turn off this service, apps using this service may stop working.

To turn it off, see [Services Configuration](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#31-services-configuration).| +|Update | Windows Update ensures devices are kept up to date and secure by downloading the latest updates and security patches for Windows. This service also enables users to download apps from the Microsoft Store and keep them up to date. Turning off Windows Update will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

Other services like Device metadata retrieval and Font streaming also ensure that the content on your devices is kept up to date.

To turn off updates, see [Windows Update](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#29-windows-update), [Device metadata retrieval](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#4-device-metadata-retrieval), and [Font streaming](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#6-font-streaming).| ## Windows connected experiences @@ -54,25 +54,25 @@ Although enterprise admins can turn off most essential services, we recommend, w |BitLocker|BitLocker is a Windows security feature that provides encryption for entire device volumes, addressing the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices.| |Cloud Clipboard|Cloud Clipboard enables users to copy images and text across all Windows devices when they sign in with the same account. Users can paste from their clipboard history and also pin items.

To turn it off, see [Cloud Clipboard](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#30-cloud-clipboard). | |Custom dictionary|Custom dictionary allows users to get better text suggestions by creating a custom dictionary using the user's typing and handwriting info.| -|Date and Time | The Windows Time service is used to synchronize and maintain the most accurate date and time on your devices. It's installed by default and starts automatically on devices that are part of a domain. It can be started manually on other devices. If this service is stopped, date and time synchronization will be unavailable and any services that explicitly depend on it will fail to start.

To turn it off, see [Date and Time](manage-connections-from-windows-operating-system-components-to-microsoft-services#3-date--time). | -|Delivery Optimization | Delivery Optimization is a cloud-managed, peer-to-peer client and a downloader service for Windows updates, upgrades, and applications to an organization's networked devices. Delivery Optimization allows devices to download updates from alternate sources, such as other peers on the network, in addition to Microsoft servers. This helps when you have a limited or unreliable Internet connection and reduces the bandwidth needed to keep all your organization's devices up to date.

If you have Delivery Optimization Peer-to-Peer option turned on, devices on your network may send and receive updates and apps to other devices on your local network, if you choose, or to devices on the Internet. By default, devices running Windows will only use Delivery Optimization to get and receive updates for devices and apps on your local network.

To turn it off, see [Delivery Optimization](manage-connections-from-windows-operating-system-components-to-microsoft-services#28-delivery-optimization). | +|Date and Time | The Windows Time service is used to synchronize and maintain the most accurate date and time on your devices. It's installed by default and starts automatically on devices that are part of a domain. It can be started manually on other devices. If this service is stopped, date and time synchronization will be unavailable and any services that explicitly depend on it will fail to start.

To turn it off, see [Date and Time](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#3-date--time). | +|Delivery Optimization | Delivery Optimization is a cloud-managed, peer-to-peer client and a downloader service for Windows updates, upgrades, and applications to an organization's networked devices. Delivery Optimization allows devices to download updates from alternate sources, such as other peers on the network, in addition to Microsoft servers. This helps when you have a limited or unreliable Internet connection and reduces the bandwidth needed to keep all your organization's devices up to date.

If you have Delivery Optimization Peer-to-Peer option turned on, devices on your network may send and receive updates and apps to other devices on your local network, if you choose, or to devices on the Internet. By default, devices running Windows will only use Delivery Optimization to get and receive updates for devices and apps on your local network.

To turn it off, see [Delivery Optimization](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#28-delivery-optimization). | |Emojis and more | The Emoji and more menu allows users to insert a variety of content like emoji, kaomoji, GIFs, symbols, and clipboard history. This connected experience is new in Windows 11.

To turn it off, see [Emojis availability](/windows/client-management/mdm/policy-csp-textinput). | -|Find My Device | Find My Device is a feature that can help users locate their Windows device if it's lost or stolen. This feature only works if a Microsoft account is used to sign in to the device, the user is an administrator on the device, and when location is turned on for the device. Users can find their device by logging in to [https://account.microsoft.com/devices](https://account.microsoft.com/devices) under the Find My Device tab.

To turn it off, see [Find My Device](manage-connections-from-windows-operating-system-components-to-microsoft-services#5-find-my-device). | +|Find My Device | Find My Device is a feature that can help users locate their Windows device if it's lost or stolen. This feature only works if a Microsoft account is used to sign in to the device, the user is an administrator on the device, and when location is turned on for the device. Users can find their device by logging in to [https://account.microsoft.com/devices](https://account.microsoft.com/devices) under the Find My Device tab.

To turn it off, see [Find My Device](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#5-find-my-device). | |Get Started|Get Started is an app on Windows 11 to help complete device setup and learn about new features on Windows.| |Input Method Editor (IME)|IME is a Windows feature that allows you to type East Asian languages such as Japanese, Chinese Simplified, Chinese Traditional, Korean, Indic, Vietnamese, as well as rule-based languages like Tamil, Adlam, and Osage.| -|Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](manage-connections-from-windows-operating-system-components-to-microsoft-services#182-location). | -|Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](manage-connections-from-windows-operating-system-components-to-microsoft-services#24-microsoft-defender-antivirus). | -|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](manage-connections-from-windows-operating-system-components-to-microsoft-services#241-microsoft-defender-smartscreen). | +|Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#182-location). | +|Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#24-microsoft-defender-antivirus). | +|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#241-microsoft-defender-smartscreen). | |Phone Link|Phone Link lets you find your mobile device notifications, messages, photos, mobile app list, and other mobile content from your Windows PC.| |Troubleshooting Service | Windows troubleshooting service will automatically fix critical issues like corrupt settings that keep critical services from running. The service will also make adjustments to work with your hardware, or make other specific changes required for Windows to operate with the hardware, apps, and settings you’ve selected. In addition, it will recommend troubleshooting for other problems that aren’t critical to normal Windows operation but might impact your experience.

To turn it off, see [Troubleshooting service](/windows/client-management/mdm/policy-csp-troubleshooting). | -|Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](manage-connections-from-windows-operating-system-components-to-microsoft-services#186-speech). | +|Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#186-speech). | |Windows Autopilot|Windows Autopilot is a collection of technologies used to set up and pre-configure new devices, getting them ready for productive use. Windows Autopilot can be used to deploy Windows PCs or HoloLens 2 devices. The client experiences that ship as part of Windows are specific to the Out-of-Box Experience (OOBE).| -|Windows Backup | When settings synchronization is turned on, a user's settings are synced across all Windows devices when they sign in with the same account.

To turn it off, see [Sync your settings](manage-connections-from-windows-operating-system-components-to-microsoft-services#21-sync-your-settings). | +|Windows Backup | When settings synchronization is turned on, a user's settings are synced across all Windows devices when they sign in with the same account.

To turn it off, see [Sync your settings](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#21-sync-your-settings). | |Windows Dashboard Widgets | Windows Dashboard widget is a dynamic view that shows users personalized content like news, weather, their calendar and to-do list, and recent photos. It provides a quick glance view, which allows users to be productive without needing to go to multiple apps or websites. This connected experience is new in Windows 11. | |Windows Hello|Windows Hello includes components for collecting and storing private key credentials for Windows logon. | -|Windows Insider Program | The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to builds of Windows. Once you've registered for the program, you can run Insider Preview builds on as many devices as you want, each in the channel of your choice. Learn how to join the Windows Insider program by visiting the program’s [website](https://www.microsoft.com/windowsinsider/).

To turn it off, see [Windows Insider Program](manage-connections-from-windows-operating-system-components-to-microsoft-services#7-insider-preview-builds). | -|Windows Search | Windows Search lets users use the search box on the taskbar to find what they're looking for, whether it’s on their device, in the cloud, or on the web. Windows Search can provide results for items from the device (including apps, settings, and files), the users account (including OneDrive, SharePoint, and other Microsoft services), and the internet.

To turn it off, see [Windows Search](manage-connections-from-windows-operating-system-components-to-microsoft-services#2-cortana-and-search). | -|Windows Spotlight | Windows Spotlight displays new background images on the lock screen each day. Additionally, it provides feature suggestions, fun facts, and tips on the lock screen background.

Administrators can turn off Windows Spotlight features to prevent users from using the Windows Spotlight background.

To turn it off, see [Windows Spotlight](manage-connections-from-windows-operating-system-components-to-microsoft-services#25-personalized-experiences). | +|Windows Insider Program | The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to builds of Windows. Once you've registered for the program, you can run Insider Preview builds on as many devices as you want, each in the channel of your choice. Learn how to join the Windows Insider program by visiting the program’s [website](https://www.microsoft.com/windowsinsider/).

To turn it off, see [Windows Insider Program](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#7-insider-preview-builds). | +|Windows Search | Windows Search lets users use the search box on the taskbar to find what they're looking for, whether it’s on their device, in the cloud, or on the web. Windows Search can provide results for items from the device (including apps, settings, and files), the users account (including OneDrive, SharePoint, and other Microsoft services), and the internet.

To turn it off, see [Windows Search](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#2-cortana-and-search). | +|Windows Spotlight | Windows Spotlight displays new background images on the lock screen each day. Additionally, it provides feature suggestions, fun facts, and tips on the lock screen background.

Administrators can turn off Windows Spotlight features to prevent users from using the Windows Spotlight background.

To turn it off, see [Windows Spotlight](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#25-personalized-experiences). | ## Microsoft Edge essential services and connected experiences From 1a1160df1a5aa794ce507060202c5355f4ee2076 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 7 Jun 2024 09:44:34 -0600 Subject: [PATCH 018/354] Address UUF feedback --- windows/client-management/client-tools/quick-assist.md | 6 +++--- .../applocker/rule-collection-extensions.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/client-management/client-tools/quick-assist.md b/windows/client-management/client-tools/quick-assist.md index 496dfd0024..397791e335 100644 --- a/windows/client-management/client-tools/quick-assist.md +++ b/windows/client-management/client-tools/quick-assist.md @@ -20,7 +20,7 @@ Quick Assist is an application that enables a person to share their [Windows](#i ## Before you begin -All that's required to use Quick Assist is suitable network and internet connectivity. No roles, permissions, or policies are involved. Neither party needs to be in a domain. The helper must have a Microsoft account. The sharer doesn't have to authenticate. +All you need to use Quick Assist is suitable network and internet connectivity. No roles, permissions, or policies are involved. Neither party needs to be in a domain. The helper must have a Microsoft account. The sharer doesn't have to authenticate. ### Authentication @@ -99,7 +99,7 @@ In some scenarios, the helper does require the sharer to respond to application ### Install Quick Assist from the Microsoft Store 1. Download the new version of Quick Assist by visiting the [Microsoft Store](https://apps.microsoft.com/store/detail/quick-assist/9P7BP5VNWKX5). -1. In the Microsoft Store, select **Get in Store app**. Then, give permission to install Quick Assist. When the installation is complete, **Get** changes to **Open**.
:::image type="content" source="images/quick-assist-get.png" lightbox="images/quick-assist-get.png" alt-text="Microsoft Store window showing the Quick Assist app with a button labeled get in the bottom right corner."::: +1. In the Microsoft Store, select **View in store**, then install Quick Assist. When the installation is complete, **Install** changes to **Open**. For more information, visit [Install Quick Assist](https://support.microsoft.com/windows/install-quick-assist-c17479b7-a49d-4d12-938c-dbfb97c88bca). @@ -113,7 +113,7 @@ To install Quick Assist offline, you need to download your APPXBUNDLE and unenco 1. Start **Windows PowerShell** with Administrative privileges 1. In PowerShell, change the directory to the location where you saved the file in step 1: `cd ` -1. Run the following command to install Quick Assist: `Add-AppxProvisionedPackage -Online -PackagePath "MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe.AppxBundle" -LicensePath "MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe_4bc27046-84c5-8679-dcc7-d44c77a47dd0.xml"` +1. To install Quick Assist, run the following command: `Add-AppxProvisionedPackage -Online -PackagePath "MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe.AppxBundle" -LicensePath "MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe_4bc27046-84c5-8679-dcc7-d44c77a47dd0.xml"` 1. After Quick Assist is installed, run this command to confirm that Quick Assist is installed for the user: `Get-AppxPackage *QuickAssist* -AllUsers` ### Microsoft Edge WebView2 diff --git a/windows/security/application-security/application-control/windows-defender-application-control/applocker/rule-collection-extensions.md b/windows/security/application-security/application-control/windows-defender-application-control/applocker/rule-collection-extensions.md index 4b31cb39d6..f8756d82ac 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/applocker/rule-collection-extensions.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/applocker/rule-collection-extensions.md @@ -6,7 +6,7 @@ ms.collection: - must-keep ms.topic: conceptual ms.localizationpriority: medium -ms.date: 12/23/2023 +ms.date: 06/07/2024 --- # AppLocker rule collection extensions @@ -35,4 +35,4 @@ To apply AppLocker policy to nonuser processes, set ```` in the ```` section as shown in the preceding XML fragment. +When using AppLocker to control nonuser processes, your policy must allow all Windows system code or your device might behave unexpectedly. To automatically allow all system code that is part of Windows, set ```` in the ```` section as shown in the preceding XML fragment. From f5963a72d6d52a21a2288d695257b9a539663828 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 7 Jun 2024 10:13:34 -0600 Subject: [PATCH 019/354] Update ms.topic --- .../diagnose-provisioning-packages.md | 2 +- ...can-use-configuration-service-providers.md | 2 +- .../provision-pcs-for-initial-deployment.md | 2 +- .../provision-pcs-with-apps.md | 2 +- .../provisioning-apply-package.md | 2 +- .../provisioning-command-line.md | 2 +- .../provisioning-create-package.md | 2 +- .../provisioning-how-it-works.md | 2 +- .../provisioning-install-icd.md | 2 +- .../provisioning-multivariant.md | 2 +- .../provisioning-packages.md | 2 +- .../provisioning-powershell.md | 2 +- .../provisioning-script-to-install-app.md | 2 +- .../provisioning-uninstall-package.md | 2 +- ...nd-windows-defender-application-control.md | 2 +- ...perational-guide-appid-tagging-policies.md | 22 +++++----- .../deploy-appid-tagging-policies.md | 2 +- .../design-create-appid-tagging-policies.md | 28 ++++++------- .../AppIdTagging/wdac-appid-tagging-guide.md | 10 ++--- .../deployment/audit-wdac-policies.md | 2 +- ...deploy-wdac-policies-using-group-policy.md | 2 +- .../deploy-wdac-policies-with-script.md | 2 +- .../deployment/disable-wdac-policies.md | 2 +- .../deployment/enforce-wdac-policies.md | 2 +- .../deployment/merge-wdac-policies.md | 2 +- ...-com-object-registration-in-wdac-policy.md | 6 +-- .../design/common-wdac-use-cases.md | 4 +- ...-apps-deployed-with-a-managed-installer.md | 8 ++-- .../design/create-wdac-deny-policy.md | 2 +- ...te-wdac-policy-using-reference-computer.md | 2 +- .../design/deploy-multiple-wdac-policies.md | 2 +- .../design/manage-packaged-apps-with-wdac.md | 2 +- ...icrosoft-recommended-driver-block-rules.md | 2 +- .../design/plan-wdac-management.md | 4 +- .../design/script-enforcement.md | 2 +- .../design/select-types-of-rules-to-create.md | 2 +- ...understand-wdac-policy-design-decisions.md | 8 ++-- .../understanding-wdac-policy-settings.md | 2 +- ...l-specific-plug-ins-add-ins-and-modules.md | 4 +- ...se-wdac-with-intelligent-security-graph.md | 42 +++++++++---------- .../design/wdac-and-dotnet.md | 6 +-- .../operations/event-tag-explanations.md | 2 +- .../operations/inbox-wdac-policies.md | 2 +- .../operations/known-issues.md | 6 +-- ...events-centrally-using-advanced-hunting.md | 6 +-- .../wdac-and-applocker-overview.md | 2 +- .../windows-sandbox-architecture.md | 2 +- ...indows-sandbox-configure-using-wsb-file.md | 2 +- .../windows-sandbox-overview.md | 2 +- .../mbsa-removal-and-guidance.md | 2 +- .../wdsc-account-protection.md | 2 +- .../wdsc-app-browser-control.md | 2 +- .../wdsc-customize-contact-information.md | 2 +- .../wdsc-device-performance-health.md | 2 +- .../wdsc-device-security.md | 2 +- .../wdsc-family-options.md | 2 +- .../wdsc-firewall-network-protection.md | 2 +- .../wdsc-hide-notifications.md | 2 +- .../wdsc-virus-threat-protection.md | 2 +- .../windows-defender-security-center.md | 2 +- ...iew-of-threat-mitigations-in-windows-10.md | 2 +- 61 files changed, 125 insertions(+), 125 deletions(-) diff --git a/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md b/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md index 7efc313edb..53a0f7861e 100644 --- a/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md +++ b/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md @@ -1,7 +1,7 @@ --- title: Diagnose Provisioning Packages description: Diagnose general failures in provisioning. -ms.topic: article +ms.topic: troubleshooting ms.date: 01/18/2023 --- diff --git a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md index e88f25ff70..a535175bf7 100644 --- a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md +++ b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md @@ -1,7 +1,7 @@ --- title: Configuration service providers for IT pros description: Describes how IT pros and system administrators can use configuration service providers (CSPs) to configure devices. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md b/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md index 7d869e903f..97dec0c215 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md +++ b/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md @@ -1,7 +1,7 @@ --- title: Provision PCs with common settings description: Create a provisioning package to apply common settings to a PC running Windows 10. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md index 99f20c85aa..fd7134875e 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md +++ b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md @@ -1,7 +1,7 @@ --- title: Provision PCs with apps description: Learn how to install multiple Universal Windows Platform (UWP) apps and Windows desktop applications (Win32) in a provisioning package. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-apply-package.md b/windows/configuration/provisioning-packages/provisioning-apply-package.md index d4e5be28f7..2f8bb266e1 100644 --- a/windows/configuration/provisioning-packages/provisioning-apply-package.md +++ b/windows/configuration/provisioning-packages/provisioning-apply-package.md @@ -1,7 +1,7 @@ --- title: Apply a provisioning package description: Provisioning packages can be applied to a device during initial setup (OOBE) and after (runtime). -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-command-line.md b/windows/configuration/provisioning-packages/provisioning-command-line.md index 9ebacde2fb..686b79ac68 100644 --- a/windows/configuration/provisioning-packages/provisioning-command-line.md +++ b/windows/configuration/provisioning-packages/provisioning-command-line.md @@ -1,7 +1,7 @@ --- title: Windows Configuration Designer command-line interface description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command-line interface for Windows10/11 client devices. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-create-package.md b/windows/configuration/provisioning-packages/provisioning-create-package.md index d09f0ee4b9..0824710f19 100644 --- a/windows/configuration/provisioning-packages/provisioning-create-package.md +++ b/windows/configuration/provisioning-packages/provisioning-create-package.md @@ -1,7 +1,7 @@ --- title: Create a provisioning package description: Learn how to create a provisioning package for Windows 10/11, which lets you quickly configure a device without having to install a new image. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-how-it-works.md b/windows/configuration/provisioning-packages/provisioning-how-it-works.md index dc714cbc36..24c02a6557 100644 --- a/windows/configuration/provisioning-packages/provisioning-how-it-works.md +++ b/windows/configuration/provisioning-packages/provisioning-how-it-works.md @@ -1,7 +1,7 @@ --- title: How provisioning works in Windows 10/11 description: Learn more about how provisioning package work on Windows client devices. A provisioning package (.ppkg) is a container for a collection of configuration settings. -ms.topic: article +ms.topic: conceptual ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-install-icd.md b/windows/configuration/provisioning-packages/provisioning-install-icd.md index bfb515538f..9b572cde75 100644 --- a/windows/configuration/provisioning-packages/provisioning-install-icd.md +++ b/windows/configuration/provisioning-packages/provisioning-install-icd.md @@ -1,7 +1,7 @@ --- title: Install Windows Configuration Designer description: Learn how to install and use Windows Configuration Designer so you can easily configure devices running Windows 10/11. -ms.topic: article +ms.topic: how-to ms.reviewer: kevinsheehan ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-multivariant.md b/windows/configuration/provisioning-packages/provisioning-multivariant.md index 64da06a98c..6ecb125be7 100644 --- a/windows/configuration/provisioning-packages/provisioning-multivariant.md +++ b/windows/configuration/provisioning-packages/provisioning-multivariant.md @@ -1,7 +1,7 @@ --- title: Create a provisioning package with multivariant settings description: Create a provisioning package with multivariant settings to customize the provisioned settings for defined conditions. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-packages.md b/windows/configuration/provisioning-packages/provisioning-packages.md index 13e86abb25..050fc24beb 100644 --- a/windows/configuration/provisioning-packages/provisioning-packages.md +++ b/windows/configuration/provisioning-packages/provisioning-packages.md @@ -2,7 +2,7 @@ title: Provisioning packages overview description: With Windows 10 and Windows 11, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. Learn about what provisioning packages, are and what they do. ms.reviewer: kevinsheehan -ms.topic: article +ms.topic: conceptual ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-powershell.md b/windows/configuration/provisioning-packages/provisioning-powershell.md index 4c938d7786..e5e7ea6019 100644 --- a/windows/configuration/provisioning-packages/provisioning-powershell.md +++ b/windows/configuration/provisioning-packages/provisioning-powershell.md @@ -1,7 +1,7 @@ --- title: PowerShell cmdlets for provisioning Windows 10/11 description: Learn more about the Windows PowerShell cmdlets that you can use with Provisioning packages on Windows10/11 client desktop devices. -ms.topic: article +ms.topic: conceptual ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md index 199616a94e..c9aff98df4 100644 --- a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md +++ b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md @@ -1,7 +1,7 @@ --- title: Use a script to install a desktop app in provisioning packages description: With Windows 10/11, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. -ms.topic: article +ms.topic: how-to ms.date: 12/31/2017 --- diff --git a/windows/configuration/provisioning-packages/provisioning-uninstall-package.md b/windows/configuration/provisioning-packages/provisioning-uninstall-package.md index 9a75ffc29b..6615407051 100644 --- a/windows/configuration/provisioning-packages/provisioning-uninstall-package.md +++ b/windows/configuration/provisioning-packages/provisioning-uninstall-package.md @@ -1,7 +1,7 @@ --- title: Uninstall a provisioning package - reverted settings description: This article lists the settings that are reverted when you uninstall a provisioning package on Windows 10/11 desktop client devices. -ms.topic: article +ms.topic: conceptual ms.date: 12/31/2017 --- diff --git a/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md b/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md index 05fed4e21e..239ddd052c 100644 --- a/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md +++ b/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md @@ -6,7 +6,7 @@ author: vinaypamnani-msft ms.author: vinpa manager: aaroncz ms.date: 03/26/2024 -ms.topic: article +ms.topic: conceptual appliesto: - ✅ Windows 11 - ✅ Windows 10 diff --git a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/debugging-operational-guide-appid-tagging-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/debugging-operational-guide-appid-tagging-policies.md index b8552a63ca..1507fc348c 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/debugging-operational-guide-appid-tagging-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/debugging-operational-guide-appid-tagging-policies.md @@ -3,7 +3,7 @@ title: Testing and Debugging AppId Tagging Policies description: Testing and Debugging AppId Tagging Policies to ensure your policies are deployed successfully. ms.localizationpriority: medium ms.date: 04/29/2022 -ms.topic: article +ms.topic: troubleshooting --- # Testing and Debugging AppId Tagging Policies @@ -11,28 +11,28 @@ ms.topic: article > [!NOTE] > Some capabilities of Windows Defender Application Control (WDAC) are only available on specific Windows versions. Learn more about the [Windows Defender Application Control feature availability](../feature-availability.md). -After deployment of the WDAC AppId Tagging policy, WDAC will log a 3099 policy deployed event in the [Event Viewer logs](../operations/event-id-explanations.md). You first should ensure that the policy has been successfully deployed onto the system by verifying the presence of the 3099 event. +After deployment of the WDAC AppId Tagging policy, WDAC will log a 3099 policy deployed event in the [Event Viewer logs](../operations/event-id-explanations.md). You first should ensure that the policy has been successfully deployed onto the system by verifying the presence of the 3099 event. ## Verifying Tags on Running Processes -After verifying the policy has been deployed, the next step is to verify that the application processes you expect to pass the AppId Tagging policy have your tag set. Note that processes running at the time of policy deployment will need to be restarted since Windows Defender Application Control (WDAC) can only tag processes created after the policy has been deployed. +After verifying the policy has been deployed, the next step is to verify that the application processes you expect to pass the AppId Tagging policy have your tag set. Note that processes running at the time of policy deployment will need to be restarted since Windows Defender Application Control (WDAC) can only tag processes created after the policy has been deployed. -1. Download and Install the Windows Debugger +1. Download and Install the Windows Debugger - [Microsoft's WinDbg Preview application](https://www.microsoft.com/store/productId/9PGJGD53TN86) can be downloaded from the Store and used to verify tags on running processes. + [Microsoft's WinDbg Preview application](https://www.microsoft.com/store/productId/9PGJGD53TN86) can be downloaded from the Store and used to verify tags on running processes. 2. Get the Process ID (PID) of the process under validation - Using Task Manager, or an equivalent process monitoring tool, locate the PID of the process you wish to inspect. In the example below, we've located the PID for the running process for Microsoft Edge to be 2260. The PID will be used in the next step. + Using Task Manager, or an equivalent process monitoring tool, locate the PID of the process you wish to inspect. In the example below, we've located the PID for the running process for Microsoft Edge to be 2260. The PID will be used in the next step. - ![Using Task Manager to locate the process ID - PID.](../images/appid-pid-task-mgr.png) + ![Using Task Manager to locate the process ID - PID.](../images/appid-pid-task-mgr.png) 3. Use WinDbg to inspect the process - After opening WinDbg. select File followed by `Attach to Process`, and select the process with the PID identified in the step prior. Finally, select `Attach` to connect to the process. + After opening WinDbg. select File followed by `Attach to Process`, and select the process with the PID identified in the step prior. Finally, select `Attach` to connect to the process. - ![Attach to the process using WinDbg.](../images/appid-pid-windbg.png) + ![Attach to the process using WinDbg.](../images/appid-pid-windbg.png) - Lastly, in the textbox, type `!token` and then press the Enter key to dump the security attributes on the process, including the _POLICYAPPID://_ followed by the key you set in the policy, and its corresponding value in the Value[0] field. + Lastly, in the textbox, type `!token` and then press the Enter key to dump the security attributes on the process, including the _POLICYAPPID://_ followed by the key you set in the policy, and its corresponding value in the Value[0] field. - ![Dump the security attributes on the process using WinDbg.](../images/appid-pid-windbg-token.png) + ![Dump the security attributes on the process using WinDbg.](../images/appid-pid-windbg-token.png) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/deploy-appid-tagging-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/deploy-appid-tagging-policies.md index e8af7434cc..7f0824cace 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/deploy-appid-tagging-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/deploy-appid-tagging-policies.md @@ -3,7 +3,7 @@ title: Deploying Windows Defender Application Control AppId tagging policies description: How to deploy your WDAC AppId tagging policies locally and globally within your managed environment. ms.localizationpriority: medium ms.date: 04/29/2022 -ms.topic: article +ms.topic: conceptual --- # Deploying Windows Defender Application Control AppId tagging policies diff --git a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/design-create-appid-tagging-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/design-create-appid-tagging-policies.md index a677075cdb..4b7e1e6b2f 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/design-create-appid-tagging-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/design-create-appid-tagging-policies.md @@ -3,7 +3,7 @@ title: Create your Windows Defender Application Control AppId Tagging Policies description: Create your Windows Defender Application Control AppId tagging policies for Windows devices. ms.localizationpriority: medium ms.date: 04/29/2022 -ms.topic: article +ms.topic: conceptual --- # Creating your WDAC AppId Tagging Policies @@ -17,12 +17,12 @@ You can use the Windows Defender Application Control (WDAC) Wizard and the Power 1. Create a new base policy using the templates: - Start with the Policy Creator task and select Multiple Policy Format and Base Policy. Select the Base Template to use for the policy. The following example shows beginning with the [Default Windows Mode](../design/wdac-wizard-create-base-policy.md#template-base-policies) template and build on top of these rules. + Start with the Policy Creator task and select Multiple Policy Format and Base Policy. Select the Base Template to use for the policy. The following example shows beginning with the [Default Windows Mode](../design/wdac-wizard-create-base-policy.md#template-base-policies) template and build on top of these rules. ![Configuring the policy base and template.](../images/appid-wdac-wizard-1.png) - + > [!NOTE] - > If your AppId Tagging Policy does build off the base templates or does not allow Windows in-box processes, you will notice significant performance regressions, especially during boot. For this reason, it is strongly recommended to build off the base templates. + > If your AppId Tagging Policy does build off the base templates or does not allow Windows in-box processes, you will notice significant performance regressions, especially during boot. For this reason, it is strongly recommended to build off the base templates. For more information on the issue, see the [AppId Tagging Known Issue](../operations/known-issues.md#slow-boot-and-performance-with-custom-policies). 2. Set the following rule-options using the Wizard toggles: @@ -31,13 +31,13 @@ You can use the Windows Defender Application Control (WDAC) Wizard and the Power 3. Create custom rules: - Selecting the `+ Custom Rules` button opens the Custom Rules panel. The Wizard supports five types of file rules: + Selecting the `+ Custom Rules` button opens the Custom Rules panel. The Wizard supports five types of file rules: - - Publisher rules: Create a rule based off the signing certificate hierarchy. Additionally, the original filename and version can be combined with the signing certificate for added security. - - Path rules: Create a rule based off the path to a file or a parent folder path. Path rules support wildcards. + - Publisher rules: Create a rule based off the signing certificate hierarchy. Additionally, the original filename and version can be combined with the signing certificate for added security. + - Path rules: Create a rule based off the path to a file or a parent folder path. Path rules support wildcards. - File attribute rules: Create a rule based off a file's immutable properties like the original filename, file description, product name or internal name. - Package app name rules: Create a rule based off the package family name of an appx/msix. - - Hash rules: Create a rule based off the PE Authenticode hash of a file. + - Hash rules: Create a rule based off the PE Authenticode hash of a file. For more information on creating new policy file rules, see the guidelines provided in the [creating policy file rules section](../design/wdac-wizard-create-base-policy.md#creating-custom-file-rules). @@ -48,9 +48,9 @@ You can use the Windows Defender Application Control (WDAC) Wizard and the Power ```powershell Set-CIPolicyIdInfo -ResetPolicyID -FilePath .\AppIdPolicy.xml -AppIdTaggingPolicy -AppIdTaggingKey "MyKey" -AppIdTaggingValue "MyValue" ``` - The policyID GUID is returned by the PowerShell command if successful. + The policyID GUID is returned by the PowerShell command if successful. -## Create the policy using PowerShell +## Create the policy using PowerShell Using this method, you create an AppId Tagging policy directly using the WDAC PowerShell commands. These PowerShell commands are only available on the supported platforms listed in [AppId Tagging Guide](wdac-appid-tagging-guide.md). In an elevate PowerShell instance: @@ -72,20 +72,20 @@ Using this method, you create an AppId Tagging policy directly using the WDAC Po Set-RuleOption -Option 18 .\AppIdPolicy.xml # (Optional) Disable FilePath Rule Protection ``` - If you're using filepath rules, you may want to set option 18. Otherwise, there's no need. - + If you're using filepath rules, you may want to set option 18. Otherwise, there's no need. + 4. Set the name and ID on the policy, which is helpful for future debugging: ```powershell Set-CIPolicyIdInfo -ResetPolicyId -PolicyName "MyPolicyName" -PolicyId "MyPolicyId" -AppIdTaggingPolicy -FilePath ".\AppIdPolicy.xml" ``` - The policyID GUID is returned by the PowerShell command if successful. + The policyID GUID is returned by the PowerShell command if successful. ## Deploy for Local Testing After creating your AppId Tagging policy in the above steps, you can deploy the policy to your local machine for testing before broadly deploying the policy to your endpoints: -1. Depending on your deployment method, convert the xml to binary: +1. Depending on your deployment method, convert the xml to binary: ```powershell Convertfrom-CIPolicy .\policy.xml ".\{PolicyIDGUID}.cip" diff --git a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md index 2d94e08d99..c7ba6859ae 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md @@ -3,7 +3,7 @@ title: Designing, creating, managing and troubleshooting Windows Defender Applic description: How to design, create, manage and troubleshoot your WDAC AppId Tagging policies ms.localizationpriority: medium ms.date: 04/27/2022 -ms.topic: article +ms.topic: conceptual --- # WDAC Application ID (AppId) Tagging guide @@ -13,17 +13,17 @@ ms.topic: article ## AppId Tagging Feature Overview -The Application ID (AppId) Tagging Policy feature, while based off Windows Defender Application Control (WDAC), does not control whether applications will run. AppId Tagging policies can be used to mark the processes of the running application with a customizable tag defined in the policy. Application processes that pass the AppId policy will receive the tag while failing applications won't. +The Application ID (AppId) Tagging Policy feature, while based off Windows Defender Application Control (WDAC), does not control whether applications will run. AppId Tagging policies can be used to mark the processes of the running application with a customizable tag defined in the policy. Application processes that pass the AppId policy will receive the tag while failing applications won't. ## AppId Tagging Feature Availability -The WDAC AppId Tagging feature is available on the following versions of the Windows platform: +The WDAC AppId Tagging feature is available on the following versions of the Windows platform: -Client: +Client: - Windows 10 20H1, 20H2 and 21H1 versions only - Windows 11 -Server: +Server: - Windows Server 2022 ## In this section diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/audit-wdac-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/audit-wdac-policies.md index 98ac6cf37d..fa463a999a 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/audit-wdac-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/audit-wdac-policies.md @@ -3,7 +3,7 @@ title: Use audit events to create WDAC policy rules description: Audits allow admins to discover apps, binaries, and scripts that should be added to the WDAC policy. ms.localizationpriority: medium ms.date: 05/03/2018 -ms.topic: article +ms.topic: conceptual --- # Use audit events to create WDAC policy rules diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-using-group-policy.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-using-group-policy.md index aed9b36b5b..78a686dada 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-using-group-policy.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-using-group-policy.md @@ -3,7 +3,7 @@ title: Deploy WDAC policies via Group Policy description: Windows Defender Application Control (WDAC) policies can easily be deployed and managed with Group Policy. Learn how by following this step-by-step guide. ms.localizationpriority: medium ms.date: 01/23/2023 -ms.topic: article +ms.topic: how-to --- # Deploy Windows Defender Application Control policies by using Group Policy diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-with-script.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-with-script.md index a96124b086..6910b03b04 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-with-script.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/deploy-wdac-policies-with-script.md @@ -3,7 +3,7 @@ title: Deploy Windows Defender Application Control (WDAC) policies using script description: Use scripts to deploy Windows Defender Application Control (WDAC) policies. Learn how with this step-by-step guide. ms.manager: jsuther ms.date: 01/23/2023 -ms.topic: article +ms.topic: how-to ms.localizationpriority: medium --- diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/disable-wdac-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/disable-wdac-policies.md index 5c4d60cfa8..2685a6db1d 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/disable-wdac-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/disable-wdac-policies.md @@ -3,7 +3,7 @@ title: Remove Windows Defender Application Control policies description: Learn how to disable both signed and unsigned Windows Defender Application Control policies, within Windows and within the BIOS. ms.localizationpriority: medium ms.date: 11/04/2022 -ms.topic: article +ms.topic: how-to --- # Remove Windows Defender Application Control (WDAC) policies diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/enforce-wdac-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/enforce-wdac-policies.md index 9000c01d85..07bc66c51a 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/enforce-wdac-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/enforce-wdac-policies.md @@ -3,7 +3,7 @@ title: Enforce Windows Defender Application Control (WDAC) policies description: Learn how to switch a WDAC policy from audit to enforced mode. ms.manager: jsuther ms.date: 04/22/2021 -ms.topic: article +ms.topic: how-to ms.localizationpriority: medium --- diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/merge-wdac-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/merge-wdac-policies.md index 20bf91ea2a..d1b96ca2d6 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/merge-wdac-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/merge-wdac-policies.md @@ -3,7 +3,7 @@ title: Merge Windows Defender Application Control policies (WDAC) description: Learn how to merge WDAC policies as part of your policy lifecycle management. ms.manager: jsuther ms.date: 04/22/2021 -ms.topic: article +ms.topic: how-to ms.localizationpriority: medium --- diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/allow-com-object-registration-in-wdac-policy.md b/windows/security/application-security/application-control/windows-defender-application-control/design/allow-com-object-registration-in-wdac-policy.md index ad1b478b40..fc9395851d 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/allow-com-object-registration-in-wdac-policy.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/allow-com-object-registration-in-wdac-policy.md @@ -3,7 +3,7 @@ title: Allow COM object registration in a WDAC policy description: You can allow COM object registration in a Windows Defender Application Control policy. ms.localizationpriority: medium ms.date: 04/05/2023 -ms.topic: article +ms.topic: how-to --- # Allow COM object registration in a Windows Defender Application Control policy @@ -153,11 +153,11 @@ The table that follows describes the list of COM objects that are inherently tru | scrrun.dll | 0D43FE01-F093-11CF-8940-00A0C9054228 | | vbscript.dll | 3F4DACA4-160D-11D2-A8E9-00104B365C9F | | WEX.Logger.Log | 70B46225-C474-4852-BB81-48E0D36F9A5A | -| TE.Common.TestData | 1d68f3c0-b5f8-4abd-806a-7bc57cdce35a | +| TE.Common.TestData | 1d68f3c0-b5f8-4abd-806a-7bc57cdce35a | | TE.Common.RuntimeParameters | 9f3d4048-6028-4c5b-a92d-01bc977af600 | | TE.Common.Verify | e72cbabf-8e48-4d27-b14e-1f347f6ec71a | | TE.Common.Interruption | 5850ba6f-ce72-46d4-a29b-0d3d9f08cc0b | -| msxml6.dll | 2933BF90-7B36-11d2-B20E-00C04F983E60 | +| msxml6.dll | 2933BF90-7B36-11d2-B20E-00C04F983E60 | | msxml6.dll | ED8C108E-4349-11D2-91A4-00C04F7969E8 | | mmcndmgr.dll | ADE6444B-C91F-4E37-92A4-5BB430A33340 | | puiobj.dll | B021FF57-A928-459C-9D6C-14DED0C9BED2 | diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/common-wdac-use-cases.md b/windows/security/application-security/application-control/windows-defender-application-control/design/common-wdac-use-cases.md index 2d96cac781..7f203efaf7 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/common-wdac-use-cases.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/common-wdac-use-cases.md @@ -3,7 +3,7 @@ title: Policy creation for common WDAC usage scenarios description: Develop a plan for deploying Windows Defender Application Control (WDAC) in your organization based on these common scenarios. ms.localizationpriority: medium ms.date: 04/05/2023 -ms.topic: article +ms.topic: conceptual --- # Windows Defender Application Control deployment in different scenarios: types of devices @@ -15,7 +15,7 @@ Typically, deployment of Windows Defender Application Control (WDAC) happens bes ## Types of devices -| Type of device | How WDAC relates to this type of device | +| Type of device | How WDAC relates to this type of device | |------------------------------------|------------------------------------------------------| | **Lightly managed devices**: Company-owned, but users are free to install software.
Devices are required to run organization's antivirus solution and client management tools. | Windows Defender Application Control can be used to help protect the kernel, and to monitor (audit) for problem applications rather than limiting the applications that can be run. | | **Fully managed devices**: Allowed software is restricted by IT department.
Users can request for more software, or install from a list of applications provided by IT department.
Examples: locked-down, company-owned desktops and laptops. | An initial baseline Windows Defender Application Control policy can be established and enforced. Whenever the IT department approves more applications, it updates the WDAC policy and (for unsigned LOB applications) the catalog. | diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/configure-authorized-apps-deployed-with-a-managed-installer.md b/windows/security/application-security/application-control/windows-defender-application-control/design/configure-authorized-apps-deployed-with-a-managed-installer.md index 6154ff435d..ff3b5d8fa8 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/configure-authorized-apps-deployed-with-a-managed-installer.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/configure-authorized-apps-deployed-with-a-managed-installer.md @@ -3,7 +3,7 @@ title: Allow apps deployed with a WDAC managed installer description: Explains how to configure a custom Managed Installer. ms.localizationpriority: medium ms.date: 02/02/2023 -ms.topic: article +ms.topic: how-to --- # Automatically allow apps deployed by a managed installer with Windows Defender Application Control @@ -78,7 +78,7 @@ The AppLocker policy creation UI in GPO Editor and the AppLocker PowerShell cmdl ``` 3. Manually edit your AppLocker policy and add the EXE and DLL rule collections with at least one rule for each. To ensure your policy can be safely applied on systems that may already have an active AppLocker policy, we recommend using a benign DENY rule to block a fake binary and set the rule collection's EnforcementMode to AuditOnly. Additionally, since many installation processes rely on services, you need to enable services tracking for each of those rule collections. The following example shows a partial AppLocker policy with the EXE and DLL rule collection configured as recommended. - + ```xml @@ -147,7 +147,7 @@ The AppLocker policy creation UI in GPO Editor and the AppLocker PowerShell cmdl - + @@ -183,7 +183,7 @@ The AppLocker policy creation UI in GPO Editor and the AppLocker PowerShell cmdl ```console appidtel.exe start [-mionly] ``` - + Specify "-mionly" if you don't plan to use the Intelligent Security Graph (ISG). > [!NOTE] diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-deny-policy.md b/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-deny-policy.md index 3dcec18e4f..3e76a698d2 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-deny-policy.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-deny-policy.md @@ -3,7 +3,7 @@ title: Create WDAC Deny Policy description: Explains how to create WDAC deny policies ms.localizationpriority: medium ms.date: 12/31/2017 -ms.topic: article +ms.topic: how-to --- # Guidance on Creating WDAC Deny Policies diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-policy-using-reference-computer.md b/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-policy-using-reference-computer.md index 77a4402365..4b7a2f317b 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-policy-using-reference-computer.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/create-wdac-policy-using-reference-computer.md @@ -3,7 +3,7 @@ title: Create a WDAC policy using a reference computer description: To create a Windows Defender Application Control (WDAC) policy that allows all code installed on a reference computer within your organization, follow this guide. ms.localizationpriority: medium ms.date: 08/08/2022 -ms.topic: article +ms.topic: how-to --- # Create a WDAC policy using a reference computer diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/deploy-multiple-wdac-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/design/deploy-multiple-wdac-policies.md index 38c5700dab..621718eb69 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/deploy-multiple-wdac-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/deploy-multiple-wdac-policies.md @@ -3,7 +3,7 @@ title: Use multiple Windows Defender Application Control Policies description: Windows Defender Application Control supports multiple code integrity policies for one device. ms.localizationpriority: medium ms.date: 04/15/2024 -ms.topic: article +ms.topic: how-to --- # Use multiple Windows Defender Application Control Policies diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/manage-packaged-apps-with-wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/design/manage-packaged-apps-with-wdac.md index db1a336471..d136e3824b 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/manage-packaged-apps-with-wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/manage-packaged-apps-with-wdac.md @@ -3,7 +3,7 @@ title: Manage packaged apps with WDAC description: Packaged apps, also known as Universal Windows apps, allow you to control the entire app by using a single Windows Defender Application Control (WDAC) rule. ms.localizationpriority: medium ms.date: 03/01/2023 -ms.topic: article +ms.topic: how-to --- # Manage Packaged Apps with Windows Defender Application Control diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/microsoft-recommended-driver-block-rules.md b/windows/security/application-security/application-control/windows-defender-application-control/design/microsoft-recommended-driver-block-rules.md index 5b5d018a69..c99e4f6e9e 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/microsoft-recommended-driver-block-rules.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/microsoft-recommended-driver-block-rules.md @@ -6,7 +6,7 @@ ms.collection: - tier3 - must-keep ms.date: 01/24/2024 -ms.topic: article +ms.topic: how-to --- # Microsoft recommended driver block rules diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/plan-wdac-management.md b/windows/security/application-security/application-control/windows-defender-application-control/design/plan-wdac-management.md index c1eee0110d..caebc2c6c3 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/plan-wdac-management.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/plan-wdac-management.md @@ -3,7 +3,7 @@ title: Plan for WDAC policy management description: Learn about the decisions you need to make to establish the processes for managing and maintaining Windows Defender Application Control policies. ms.localizationpriority: medium ms.date: 11/22/2023 -ms.topic: article +ms.topic: conceptual --- # Plan for Windows Defender Application Control lifecycle policy management @@ -25,7 +25,7 @@ Most Windows Defender Application Control policies will evolve over time and pro 4. Repeat steps 2-3 until the remaining block events meet expectations. 5. [Generate the enforced mode version](/windows/security/threat-protection/windows-defender-application-control/enforce-windows-defender-application-control-policies) of the policy. In enforced mode, files that the policy doesn't allow are prevented from running and corresponding block events are generated. 6. [Deploy the enforced mode policy](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control-deployment-guide) to intended devices. We recommend using staged rollouts for enforced policies to detect and respond to issues before deploying the policy broadly. -7. Repeat steps 1-6 anytime the desired "circle-of-trust" changes. +7. Repeat steps 1-6 anytime the desired "circle-of-trust" changes. ![Recommended WDAC policy deployment process.](../images/policyflow.png) diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/script-enforcement.md b/windows/security/application-security/application-control/windows-defender-application-control/design/script-enforcement.md index 4a1aaf70e2..8ebfc6ca57 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/script-enforcement.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/script-enforcement.md @@ -3,7 +3,7 @@ title: Understand WDAC script enforcement description: WDAC script enforcement ms.manager: jsuther ms.date: 05/26/2023 -ms.topic: article +ms.topic: conceptual ms.localizationpriority: medium --- diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/select-types-of-rules-to-create.md b/windows/security/application-security/application-control/windows-defender-application-control/design/select-types-of-rules-to-create.md index ea4260f8c1..ce2f7e2e2f 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/select-types-of-rules-to-create.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/select-types-of-rules-to-create.md @@ -3,7 +3,7 @@ title: Understand Windows Defender Application Control (WDAC) policy rules and f description: Learn how WDAC policy rules and file rules can control your Windows 10 and Windows 11 computers. ms.localizationpriority: medium ms.date: 11/22/2023 -ms.topic: article +ms.topic: conceptual --- # Understand Windows Defender Application Control (WDAC) policy rules and file rules diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/understand-wdac-policy-design-decisions.md b/windows/security/application-security/application-control/windows-defender-application-control/design/understand-wdac-policy-design-decisions.md index 026cd262be..abaeda5f34 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/understand-wdac-policy-design-decisions.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/understand-wdac-policy-design-decisions.md @@ -3,10 +3,10 @@ title: Understand Windows Defender Application Control policy design decisions description: Understand Windows Defender Application Control policy design decisions. ms.localizationpriority: medium ms.date: 02/08/2018 -ms.topic: article +ms.topic: conceptual --- -# Understand Windows Defender Application Control policy design decisions +# Understand Windows Defender Application Control policy design decisions > [!NOTE] > Some capabilities of Windows Defender Application Control (WDAC) are only available on specific Windows versions. Learn more about the [Windows Defender Application Control feature availability](../feature-availability.md). @@ -56,8 +56,8 @@ Traditional Win32 apps on Windows can run without being digitally signed. This p | Possible answers | Design considerations | | - | - | | All apps used in your organization must be signed. | Organizations that enforce [codesigning](../deployment/use-code-signing-for-better-control-and-protection.md) for all executable code are best-positioned to protect their Windows computers from malicious code execution. Windows Defender Application Control rules can be created to authorize apps and binaries from the organization's internal development teams and from trusted independent software vendors (ISV). | -| Apps used in your organization don't need to meet any codesigning requirements. | Organizations can [use built-in Windows tools](../deployment/deploy-catalog-files-to-support-wdac.md) to add organization-specific App Catalog signatures to existing apps as a part of the app deployment process, which can be used to authorize code execution. Solutions like Microsoft Intune offer multiple ways to distribute signed App Catalogs. | - +| Apps used in your organization don't need to meet any codesigning requirements. | Organizations can [use built-in Windows tools](../deployment/deploy-catalog-files-to-support-wdac.md) to add organization-specific App Catalog signatures to existing apps as a part of the app deployment process, which can be used to authorize code execution. Solutions like Microsoft Intune offer multiple ways to distribute signed App Catalogs. | + ### Are there specific groups in your organization that need customized application control policies? Most business teams or departments have specific security requirements that pertain to data access and the applications used to access that data. Consider the scope of the project for each group and the group's priorities before you deploy application control policies for the entire organization. There's overhead in managing policies that might lead you to choose between broad, organization-wide policies and multiple team-specific policies. diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/understanding-wdac-policy-settings.md b/windows/security/application-security/application-control/windows-defender-application-control/design/understanding-wdac-policy-settings.md index 0c615d15e5..6f2f154463 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/understanding-wdac-policy-settings.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/understanding-wdac-policy-settings.md @@ -3,7 +3,7 @@ title: Understanding Windows Defender Application Control (WDAC) secure settings description: Learn about secure settings in Windows Defender Application Control. ms.localizationpriority: medium ms.date: 04/05/2023 -ms.topic: article +ms.topic: conceptual --- # Understanding WDAC Policy Settings diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-policy-to-control-specific-plug-ins-add-ins-and-modules.md b/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-policy-to-control-specific-plug-ins-add-ins-and-modules.md index 7fa7fe71a2..d46c2de5a6 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-policy-to-control-specific-plug-ins-add-ins-and-modules.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-policy-to-control-specific-plug-ins-add-ins-and-modules.md @@ -3,10 +3,10 @@ title: Use a Windows Defender Application Control policy to control specific plu description: WDAC policies can be used not only to control applications, but also to control whether specific plug-ins, add-ins, and modules can run from specific apps. ms.localizationpriority: medium ms.date: 11/02/2022 -ms.topic: article +ms.topic: how-to --- -# Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules +# Use a Windows Defender Application Control policy to control specific plug-ins, add-ins, and modules > [!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). diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-with-intelligent-security-graph.md b/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-with-intelligent-security-graph.md index ee718c6bff..02cd2f93cd 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-with-intelligent-security-graph.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/use-wdac-with-intelligent-security-graph.md @@ -1,9 +1,9 @@ --- title: Authorize reputable apps with the Intelligent Security Graph (ISG) -description: Automatically authorize applications that Microsoft’s ISG recognizes as having known good reputation. +description: Automatically authorize applications that Microsoft's ISG recognizes as having known good reputation. ms.localizationpriority: medium ms.date: 12/31/2017 -ms.topic: article +ms.topic: how-to --- # Authorize reputable apps with the Intelligent Security Graph (ISG) @@ -42,29 +42,29 @@ Setting up the ISG is easy using any management solution you wish. Configuring t To allow apps and binaries based on the Microsoft Intelligent Security Graph, the **Enabled:Intelligent Security Graph authorization** option must be specified in the WDAC policy. This step can be done with the Set-RuleOption cmdlet. You should also set the **Enabled:Invalidate EAs on Reboot** option so that ISG results are verified again after each reboot. The ISG option isn't recommended for devices that don't have regular access to the internet. The following example shows both options set. ```xml - - - - - - - - - - + + + + + + + + + + - + - - - - - - - + + + + + + + ``` ### Enable the necessary services to allow WDAC to use the ISG correctly on the client @@ -91,7 +91,7 @@ Since the ISG only allows binaries that are "known good", there are cases where Packaged apps aren't supported with the ISG and will need to be separately authorized in your WDAC policy. Since packaged apps have a strong app identity and must be signed, it's straightforward to [authorize packaged apps](/windows/security/threat-protection/windows-defender-application-control/manage-packaged-apps-with-windows-defender-application-control) with your WDAC policy. -The ISG doesn't authorize kernel mode drivers. The WDAC policy must have rules that allow the necessary drivers to run. +The ISG doesn't authorize kernel mode drivers. The WDAC policy must have rules that allow the necessary drivers to run. > [!NOTE] > A rule that explicitly denies or allows a file will take precedence over that file's reputation data. Microsoft Intune's built-in WDAC support includes the option to trust apps with good reputation via the ISG, but it has no option to add explicit allow or deny rules. In most cases, customers using application control will need to deploy a custom WDAC policy (which can include the ISG option if desired) using [Intune's OMA-URI functionality](../deployment/deploy-wdac-policies-using-intune.md#deploy-wdac-policies-with-custom-oma-uri). diff --git a/windows/security/application-security/application-control/windows-defender-application-control/design/wdac-and-dotnet.md b/windows/security/application-security/application-control/windows-defender-application-control/design/wdac-and-dotnet.md index b0ec0ebfe9..f99639f8fd 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/design/wdac-and-dotnet.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/design/wdac-and-dotnet.md @@ -3,7 +3,7 @@ title: Windows Defender Application Control and .NET description: Understand how WDAC and .NET work together and use Dynamic Code Security to verify code loaded by .NET at runtime. ms.localizationpriority: medium ms.date: 11/22/2023 -ms.topic: article +ms.topic: conceptual --- # Windows Defender Application Control (WDAC) and .NET @@ -41,7 +41,7 @@ Additionally, customers can precompile for deployment only to prevent an allowed To enable Dynamic Code Security, add the following option to the `` section of your WDAC policy: ```xml - - + + ``` diff --git a/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations.md b/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations.md index 7fb31cd8a4..298b965229 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations.md @@ -3,7 +3,7 @@ title: Understanding Application Control event tags description: Learn what different Windows Defender Application Control event tags signify. ms.localizationpriority: medium ms.date: 05/09/2023 -ms.topic: article +ms.topic: conceptual --- # Understanding Application Control event tags diff --git a/windows/security/application-security/application-control/windows-defender-application-control/operations/inbox-wdac-policies.md b/windows/security/application-security/application-control/windows-defender-application-control/operations/inbox-wdac-policies.md index 9edd163212..c8432d0129 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/operations/inbox-wdac-policies.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/operations/inbox-wdac-policies.md @@ -3,7 +3,7 @@ title: Inbox WDAC policies description: This article describes the inbox WDAC policies that may be active on a device. ms.manager: jsuther ms.date: 03/10/2023 -ms.topic: article +ms.topic: conceptual ms.localizationpriority: medium --- diff --git a/windows/security/application-security/application-control/windows-defender-application-control/operations/known-issues.md b/windows/security/application-security/application-control/windows-defender-application-control/operations/known-issues.md index 2522308d55..f33e99121c 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/operations/known-issues.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/operations/known-issues.md @@ -3,7 +3,7 @@ title: WDAC Admin Tips & Known Issues description: WDAC Known Issues ms.manager: jsuther ms.date: 04/15/2024 -ms.topic: article +ms.topic: troubleshooting ms.localizationpriority: medium --- @@ -84,7 +84,7 @@ msiexec -i https://download.microsoft.com/download/2/E/3/2E3A1E42-8F50-4396-9E7E As a workaround, download the MSI file and run it locally: ```console -msiexec -i c:\temp\Windows10_Version_1511_ADMX.msi +msiexec -i c:\temp\Windows10_Version_1511_ADMX.msi ``` ### Slow boot and performance with custom policies @@ -93,7 +93,7 @@ WDAC evaluates all processes that run, including inbox Windows processes. You ca #### AppId Tagging policy considerations -AppId Tagging policies that aren't built upon the WDAC base templates or don't allow the Windows in-box signers might cause a significant increase in boot times (~2 minutes). +AppId Tagging policies that aren't built upon the WDAC base templates or don't allow the Windows in-box signers might cause a significant increase in boot times (~2 minutes). If you can't allowlist the Windows signers or build off the WDAC base templates, add the following rule to your policies to improve the performance: diff --git a/windows/security/application-security/application-control/windows-defender-application-control/operations/querying-application-control-events-centrally-using-advanced-hunting.md b/windows/security/application-security/application-control/windows-defender-application-control/operations/querying-application-control-events-centrally-using-advanced-hunting.md index f6671dc740..c17adb2b1c 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/operations/querying-application-control-events-centrally-using-advanced-hunting.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/operations/querying-application-control-events-centrally-using-advanced-hunting.md @@ -3,10 +3,10 @@ title: Query Application Control events with Advanced Hunting description: Learn how to query Windows Defender Application Control events across your entire organization by using Advanced Hunting. ms.localizationpriority: medium ms.date: 03/01/2022 -ms.topic: article +ms.topic: troubleshooting --- -# Querying Application Control events centrally using Advanced hunting +# Querying Application Control events centrally using Advanced hunting A Windows Defender Application Control (WDAC) policy logs events locally in Windows Event Viewer in either enforced or audit mode. While Event Viewer helps to see the impact on a single system, IT Pros want to gauge it across many systems. @@ -65,7 +65,7 @@ The query results can be used for several important functions related to managin Query Example #2: Query to determine audit blocks in the past seven days ``` -DeviceEvents +DeviceEvents | where ActionType startswith "AppControlExecutableAudited" | where Timestamp > ago(7d) |project DeviceId, // the device ID where the audit block happened diff --git a/windows/security/application-security/application-control/windows-defender-application-control/wdac-and-applocker-overview.md b/windows/security/application-security/application-control/windows-defender-application-control/wdac-and-applocker-overview.md index 5e998b8788..81042f2926 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/wdac-and-applocker-overview.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/wdac-and-applocker-overview.md @@ -3,7 +3,7 @@ title: WDAC and AppLocker Overview description: Compare Windows application control technologies. ms.localizationpriority: medium ms.date: 01/03/2024 -ms.topic: article +ms.topic: conceptual --- # Windows Defender Application Control and AppLocker Overview diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md index 399efd6820..0da205053a 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-architecture.md @@ -1,7 +1,7 @@ --- title: Windows Sandbox architecture description: Windows Sandbox architecture -ms.topic: article +ms.topic: conceptual ms.date: 03/26/2024 --- diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md index 50526dc308..6420d0019f 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md @@ -1,7 +1,7 @@ --- title: Windows Sandbox configuration description: Windows Sandbox configuration -ms.topic: article +ms.topic: how-to ms.date: 03/26/2024 --- diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md index 1a0695eb98..adf405569f 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md @@ -1,7 +1,7 @@ --- title: Windows Sandbox description: Windows Sandbox overview -ms.topic: article +ms.topic: conceptual ms.date: 03/26/2024 --- diff --git a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md index 8faa272dca..e68c6df87a 100644 --- a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md +++ b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md @@ -3,7 +3,7 @@ title: Guide to removing Microsoft Baseline Security Analyzer (MBSA) description: This article documents the removal of Microsoft Baseline Security Analyzer (MBSA) and provides alternative solutions. ms.localizationpriority: medium ms.date: 07/11/2023 -ms.topic: article +ms.topic: conceptual --- # What is Microsoft Baseline Security Analyzer and its uses? diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md index 6f077f8f37..2dba2d4677 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md @@ -2,7 +2,7 @@ title: Account protection in Windows Security description: Use the Account protection section to manage security for your account and sign in to Microsoft. ms.date: 08/11/2023 -ms.topic: article +ms.topic: how-to --- diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md index 6ede491eeb..375aeb3fa0 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md @@ -2,7 +2,7 @@ title: App & browser control in Windows Security description: Use the App & browser control section to see and configure Windows Defender SmartScreen and Exploit protection settings. ms.date: 08/11/2023 -ms.topic: article +ms.topic: how-to --- # App and browser control diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md index 70c71bc872..4bf296c839 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md @@ -2,7 +2,7 @@ title: Customize Windows Security contact information in Windows Security description: Provide information to your employees on how to contact your IT department when a security issue occurs ms.date: 08/11/2023 -ms.topic: article +ms.topic: how-to --- # Customize the Windows Security settings for your organization diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md index b34941e7bb..a15b5f11b6 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md @@ -2,7 +2,7 @@ title: Device & performance health in Windows Security description: Use the Device & performance health section to see the status of the machine and note any storage, update, battery, driver, or hardware configuration issues ms.date: 07/31/2023 -ms.topic: article +ms.topic: how-to --- diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md index 0c75434023..e47d41fc91 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md @@ -2,7 +2,7 @@ title: Device security in Windows Security description: Use the Device security section to manage security built into your device, including Virtualization-based security. ms.date: 08/11/2023 -ms.topic: article +ms.topic: how-to --- # Device security diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md index 7ba7b42e75..50f38d64dd 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md @@ -2,7 +2,7 @@ title: Family options in Windows Security description: Learn how to hide the Family options section of Windows Security for enterprise environments. Family options aren't intended for business environments. ms.date: 08/11/2023 -ms.topic: article +ms.topic: how-to --- diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md index 3ac877ec3f..0070445c0d 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md @@ -2,7 +2,7 @@ title: Firewall and network protection in Windows Security description: Use the Firewall & network protection section to see the status of and make changes to firewalls and network connections for the machine. ms.date: 08/11/2023 -ms.topic: article +ms.topic: how-to --- # Firewall and network protection diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md index 6e0c20b83c..5e330d95a0 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md @@ -2,7 +2,7 @@ title: Hide notifications from Windows Security description: Prevent Windows Security notifications from appearing on user endpoints ms.date: 07/31/2023 -ms.topic: article +ms.topic: how-to --- # Hide Windows Security notifications diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md index cc0979c845..f48a985759 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md @@ -2,7 +2,7 @@ title: Virus and threat protection in Windows Security description: Use the Virus & threat protection section to see and configure Microsoft Defender Antivirus, Controlled folder access, and 3rd-party AV products. ms.date: 08/11/2023 -ms.topic: article +ms.topic: conceptual --- # Virus and threat protection diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md index a316bca4b5..2feb4cecb2 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md @@ -2,7 +2,7 @@ title: Windows Security description: Windows Security brings together common Windows security features into one place. ms.date: 08/11/2023 -ms.topic: article +ms.topic: conceptual --- # Windows Security diff --git a/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10.md b/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10.md index 61a3073fa1..564b83b498 100644 --- a/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10.md +++ b/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10.md @@ -6,7 +6,7 @@ author: aczechowski ms.author: aaroncz manager: aaroncz ms.date: 12/31/2017 -ms.topic: article +ms.topic: conceptual --- # Mitigate threats by using Windows 10 security features From c75d0204127a1b9069964361abd8c93f8a2ff38b Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 7 Jun 2024 10:36:56 -0600 Subject: [PATCH 020/354] Acro-updates --- .../provisioning-command-line.md | 14 +++++++------- .../AppIdTagging/wdac-appid-tagging-guide.md | 16 ++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/windows/configuration/provisioning-packages/provisioning-command-line.md b/windows/configuration/provisioning-packages/provisioning-command-line.md index 686b79ac68..12a10ae502 100644 --- a/windows/configuration/provisioning-packages/provisioning-command-line.md +++ b/windows/configuration/provisioning-packages/provisioning-command-line.md @@ -1,13 +1,13 @@ --- -title: Windows Configuration Designer command-line interface -description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command-line interface for Windows10/11 client devices. +title: Windows Configuration Designer command line interface +description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command line interface for Windows10/11 client devices. ms.topic: how-to ms.date: 12/31/2017 --- -# Windows Configuration Designer command-line interface (reference) +# Windows Configuration Designer command line interface (reference) -You can use the Windows Configuration Designer command-line interface (CLI) to automate the building of provisioning packages. +You can use the Windows Configuration Designer command line interface (CLI) to automate the building of provisioning packages. - IT pros can use the Windows Configuration Designer CLI to require less retooling of existing processes. You must run the Windows Configuration Designer CLI from a command window with administrator privileges. @@ -30,10 +30,10 @@ icd.exe /Build-ProvisioningPackage /CustomizationXML: /PackagePath: | --- | --- | --- | | /CustomizationXML | No | Specifies the path to a Windows provisioning XML file that contains the customization assets and settings. For more information, see Windows provisioning answer file. | | /PackagePath | Yes | Specifies the path and the package name where the built provisioning package will be saved. | -| /StoreFile | No


See Important note. | For partners using a settings store other than the default store(s) used by Windows Configuration Designer, use this parameter to specify the path to one or more comma-separated Windows settings store file. By default, if you don't specify a settings store file, the settings store that's common to all Windows editions will be loaded by Windows Configuration Designer.


**Important** If you use this parameter, you must not use /MSPackageRoot or /OEMInputXML. | +| /StoreFile | No


See Important note. | For partners using a settings store other than the default store(s) used by Windows Configuration Designer, use this parameter to specify the path to one or more comma-separated Windows settings store file. By default, if you don't specify a settings store file, the settings store that's common to all Windows editions is loaded by Windows Configuration Designer.


**Important** If you use this parameter, you must not use /MSPackageRoot or /OEMInputXML. | | /Variables | No | Specifies a semicolon separated `` and `` macro pair. The format for the argument must be `=`. | -| Encrypted | No | Denotes whether the provisioning package should be built with encryption. Windows Configuration Designer autogenerates the decryption password and includes this information in the output.


Precede with `+` for encryption, or `-` for no encryption. The default is no encryption. | -| Overwrite | No | Denotes whether to overwrite an existing provisioning package.


Precede with + to overwrite an existing package or - if you don't want to overwrite an existing package. The default is false (don't overwrite). | +| Encrypted | No | Denotes whether the provisioning package should be built with encryption. Windows Configuration Designer autogenerates the decryption password and includes this information in the output.

Precede with `+` for encryption, or `-` for no encryption. The default is no encryption. | +| Overwrite | No | Denotes whether to overwrite an existing provisioning package.

Precede with + to overwrite an existing package or - if you don't want to overwrite an existing package. The default is false (don't overwrite). | | /? | No | Lists the switches and their descriptions for the command-line tool or for certain commands. | diff --git a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md index c7ba6859ae..4dc0da5aba 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/AppIdTagging/wdac-appid-tagging-guide.md @@ -1,6 +1,6 @@ --- -title: Designing, creating, managing and troubleshooting Windows Defender Application Control AppId Tagging policies -description: How to design, create, manage and troubleshoot your WDAC AppId Tagging policies +title: Designing, creating, managing, and troubleshooting Windows Defender Application Control AppId Tagging policies +description: How to design, create, manage, and troubleshoot your WDAC AppId Tagging policies ms.localizationpriority: medium ms.date: 04/27/2022 ms.topic: conceptual @@ -13,14 +13,14 @@ ms.topic: conceptual ## AppId Tagging Feature Overview -The Application ID (AppId) Tagging Policy feature, while based off Windows Defender Application Control (WDAC), does not control whether applications will run. AppId Tagging policies can be used to mark the processes of the running application with a customizable tag defined in the policy. Application processes that pass the AppId policy will receive the tag while failing applications won't. +The Application ID (AppId) Tagging Policy feature, while based off Windows Defender Application Control (WDAC), doesn't control whether applications run. AppId Tagging policies can be used to mark the processes of the running application with a customizable tag defined in the policy. Application processes that pass the AppId policy receive the tag while failing applications don't. ## AppId Tagging Feature Availability The WDAC AppId Tagging feature is available on the following versions of the Windows platform: Client: -- Windows 10 20H1, 20H2 and 21H1 versions only +- Windows 10 20H1, 20H2, and 21H1 versions only - Windows 11 Server: @@ -28,8 +28,8 @@ Server: ## In this section -| Topic | Description | +| article | Description | | - | - | -| [Designing and Creating AppId Policies](design-create-appid-tagging-policies.md) | This topic covers how to design and create AppId Tagging policies. | -| [Deploying AppId Policies](deploy-appid-tagging-policies.md) | This topic covers how to deploy AppId Tagging policies. | -| [Debugging AppId Policies](debugging-operational-guide-appid-tagging-policies.md) | This topic covers how to debug and view events from AppId Tagging policies. | +| [Designing and Creating AppId Policies](design-create-appid-tagging-policies.md) | This article covers how to design and create AppId Tagging policies. | +| [Deploying AppId Policies](deploy-appid-tagging-policies.md) | This article covers how to deploy AppId Tagging policies. | +| [Debugging AppId Policies](debugging-operational-guide-appid-tagging-policies.md) | This article covers how to debug and view events from AppId Tagging policies. | From c2c5d757ac4edc39e6e1e26e664d814e269c0877 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Fri, 7 Jun 2024 12:21:03 -0600 Subject: [PATCH 021/354] Add subnet for restricted peers --- .../deployment/do/waas-delivery-optimization-reference.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index 9c90b088c4..f17d4c5f5b 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -37,7 +37,7 @@ In MDM, the same settings are under **.Vendor/MSFT/Policy/Config/DeliveryOptimiz | [Download mode](#download-mode) | DODownloadMode | 1511 | Default is configured to LAN(1). The Group [Download mode](#download-mode) (2) combined with [Group ID](#group-id), enables administrators to create custom device groups that share content between devices in the group.| | [Group ID](#group-id) | DOGroupID | 1511 | Used with Group [Download mode](#download-mode). If not configured, check [GroupIDSource](#select-the-source-of-group-ids). When GroupID or GroupIDSource policies aren't configured, the GroupID is defined as the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. | | [Select the source of Group IDs](#select-the-source-of-group-ids) | DOGroupIDSource | 1803 | If not configured, check [Group ID](#group-id). When the GroupID or GroupIDSource policies aren't configured, the Group is defined as the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. | -| [Select a method to restrict peer selection](#select-a-method-to-restrict-peer-selection) | DORestrictPeerSelectionBy | 1803 | Starting in Windows 11, a new option to use 'Local discovery (DNS-SD)' is available to configure via this policy. | +| [Select a method to restrict peer selection](#select-a-method-to-restrict-peer-selection) | DORestrictPeerSelectionBy | 1803 | Windows 10 - default isn't configured. Windows 11 - default peer selection is restricted to the Subnet only in LAN [Download mode](#download-mode) (1). | | [Minimum RAM (inclusive) allowed to use peer caching](#minimum-ram-inclusive-allowed-to-use-peer-caching) | DOMinRAMAllowedToPeer | 1703 | Default value is 4 GB. | | [Minimum disk size allowed to use peer caching](#minimum-disk-size-allowed-to-use-peer-caching) | DOMinDiskSizeAllowedToPeer | 1703 | Default value is 32 GB. | | [Max cache age](#max-cache-age) | DOMaxCacheAge | 1511 | Default value is 259,200 seconds (three days). | @@ -235,10 +235,12 @@ MDM Setting: **DORestrictPeerSelectionBy** Starting in Windows 10, version 1803, configure 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's no peering between subnets. -If Group mode is configured, Delivery Optimization connects to locally discovered peers that are also part of the same Group (have the same Group ID). +If Group mode is configured, Delivery Optimization connects to locally discovered peers that are also part of the same Group (have the same Group ID) and prevents devices that aren't using the same Group ID from participating. In Windows 11, the Local Peer Discovery (DNS-SD) option can be configured via MDM or Group Policy. However, in Windows 10, this feature can be enabled by setting the `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization\DORestrictPeerSelectionBy` value to **2**. +The default behaviors differ between Windows 10 and Windows 11. In Windows 10, there is no restriction configured. In Windows 11, the default peer selection is restricted to the Subnet only in LAN [Download mode](#download-mode) (1) + ### Delay foreground download from HTTP (in secs) MDM Setting: **DODelayForegroundDownloadFromHttp** From 68a58b006096f03ccede5448fb53dd76f6531762 Mon Sep 17 00:00:00 2001 From: Rebecca Agiewich Date: Fri, 7 Jun 2024 14:37:31 -0700 Subject: [PATCH 022/354] change --- windows/deployment/do/waas-delivery-optimization-reference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index f17d4c5f5b..185766cfc6 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -96,7 +96,7 @@ More options available that control the impact Delivery Optimization has on your #### Policies to prioritize the use of peer-to-peer and cache server sources -When Delivery Optimization client is configured to use peers and Microsoft Connected Cache (MCC), to achieve the best possible content delivery experience, the client connects to both MCC and peers in parallel. If the desired content can't be obtained from MCC or peers, Delivery Optimization will automatically fallback to the HTTP source to get the requested content. There are four settings that allow you to prioritize peer-to-peer or MCC sources by delaying the immediate fallback to HTTP source, which is the default behavior. +When Delivery Optimization client is configured to use peers and Microsoft Connected Cache (MCC), to achieve the best possible content delivery experience, the client connects to both MCC and peers in parallel. If the desired content can't be obtained from MCC or peers, Delivery Optimization will automatically fall back to the HTTP source to get the requested content. There are four settings that allow you to prioritize peer-to-peer or MCC sources by delaying the immediate fallback to HTTP source, which is the default behavior. ##### Peer-to-peer delay fallback settings From 3fbf2b77939bc85bc2943e0c852b32f3d8f75294 Mon Sep 17 00:00:00 2001 From: sabieler Date: Sat, 8 Jun 2024 16:47:26 +0000 Subject: [PATCH 023/354] Added Security intelligence updates for Microsoft Defender Antivirus and other Microsoft antimalware Added Security intelligence updates for Microsoft Defender Antivirus and other Microsoft antimalware to the other update list. (https://www.microsoft.com/en-us/wdsi/defenderupdates) Moved "Windows Admin Center" alphabetically down in the list. --- .../update/update-other-microsoft-products.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/windows/deployment/update/update-other-microsoft-products.md b/windows/deployment/update/update-other-microsoft-products.md index f4d26b82ec..f71f77a7f1 100644 --- a/windows/deployment/update/update-other-microsoft-products.md +++ b/windows/deployment/update/update-other-microsoft-products.md @@ -1,16 +1,16 @@ --- -title: Update other Microsoft products +title: Update other Microsoft products titleSuffix: Windows Update for Business -description: List of other Microsoft products that are updated when install updates for other Microsoft products (allowmuupdateservice) is used. +description: List of other Microsoft products that are updated when install updates for other Microsoft products (allowmuupdateservice) is used. ms.service: windows-client ms.subservice: itpro-updates ms.topic: reference author: mestew ms.author: mstewart manager: aaroncz -appliesto: +appliesto: - ✅ Windows 11 -- ✅ Windows 10 +- ✅ Windows 10 ms.date: 06/07/2024 --- @@ -53,9 +53,9 @@ The following is a list of other Microsoft products that might be updated: - Microsoft StreamInsight - Mobile and IoT - MSRC -- Office 2016 (MSI versions of Office) +- Office 2016 (MSI versions of Office) - PlayReady -- Windows Admin Center +- Security intelligence updates for Microsoft Defender Antivirus and other Microsoft antimalware - Silverlight - Skype for Business - SQL @@ -65,6 +65,7 @@ The following is a list of other Microsoft products that might be updated: - System Center Orchestrator - System Center Virtual Machine Manager - Visual Studio +- Windows Admin Center - Windows Azure Hyper-V Recovery Manager - Windows Azure Pack - Web Sites - Windows Azure Pack From 8b2f448d2a57d4203c3ee8e5988c8578ecc5e841 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:07:46 -0700 Subject: [PATCH 024/354] Update configure.md Resolving comments from feature team review. --- .../credential-guard/configure.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index 58c4a829ce..4db3ec9c52 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -9,16 +9,19 @@ ms.topic: how-to This article describes how to configure Credential Guard using Microsoft Intune, Group Policy, or the registry. -## Default Enablement +> [!IMPORTANT] +> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. + +## Default enablement Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). -System administrators can still explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state, typically after reboot. - -### How to Prevent Default Enablement +System administrators can explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state after reboot. Devices that have had Credential Guard explicitly disabled *prior* to updating to a version of Windows that comes with default enablement will NOT have Credential Guard enabled upon update. In this case Credential Guard will continue to be disabled even after updating to a version of Windows that enables Credential Guard by default. +> [!IMPORTANT] +> For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md). ## Enable Credential Guard @@ -394,9 +397,6 @@ bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO, bcdedit /set vsmlaunchtype off ``` -> [!IMPORTANT] -> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. - ## Next steps - Review the advice and sample code for making your environment more secure and robust with Credential Guard in the [Additional mitigations](additional-mitigations.md) article From 5fe62f7f1a29b08c47a46e120b6e3d2f703a6559 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:08:34 -0700 Subject: [PATCH 025/354] Update configure.md Moved Windows Server 2025 Preview disclaimer. --- .../identity-protection/credential-guard/configure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index 4db3ec9c52..595159b2e9 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -9,11 +9,11 @@ ms.topic: how-to This article describes how to configure Credential Guard using Microsoft Intune, Group Policy, or the registry. +## Default enablement + > [!IMPORTANT] > Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -## Default enablement - Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). System administrators can explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state after reboot. From acde5f2d7a95a2d1e1fa606cf942a2e531999bf6 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:47:27 -0700 Subject: [PATCH 026/354] Update considerations-known-issues.md Resolving comments from feature team review. --- .../considerations-known-issues.md | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 80dffd3218..add35c7682 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -7,10 +7,18 @@ ms.topic: troubleshooting # Considerations and known issues when using Credential Guard +It's recommended that in addition to deploying Credential Guard, organizations move away from passwords to other authentication methods, such as Windows Hello for Business, FIDO 2 security keys or smart cards. + +## Upgrade considerations + > [!IMPORTANT] > Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -It's recommended that in addition to deploying Credential Guard, organizations move away from passwords to other authentication methods, such as Windows Hello for Business, FIDO 2 security keys or smart cards. +As the depth and breadth of protections provided by Credential Guard are increased, new releases of Windows with Credential Guard running may affect scenarios that were working in the past. For example, Credential Guard may block the use of a particular type of credential or a particular component to prevent malware from taking advantage of vulnerabilities. + +We recommend testing scenarios required for operations in an organization before upgrading a device that uses Credential Guard. + +Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credential Guard [enabled by default](index.md#default-enablement) if it has not been explicitly disabled. ## Wi-fi and VPN considerations @@ -24,7 +32,7 @@ For WiFi and VPN connections, it's recommended to move from MSCHAPv2-based conne When Credential Guard is enabled, certain types of identity delegation will be unusable, as their underlying authentication schemes are incompatible with Credential Guard or require supplied credentials. -When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) is no longer able to use saved or sign-on (SSO) credentials, though cleartext credentials can still be supplied. CredSSP-based Delegation requires cleartext credentials to be supplied on the destination machine and will not work with SSO once Credential Guard is enabled. Usage of [CredSSP for delegation](/windows/win32/secauthn/credential-security-support-provider), and in general, is not recommended due to the risk of credential theft. +When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) is no longer able to use saved or sign-on (SSO) credentials, though cleartext credentials can still be supplied. CredSSP-based Delegation requires cleartext credentials to be supplied on the destination machine and will not work with SSO once Credential Guard is enabled and blocks cleartext credential disclosure. Usage of [CredSSP for delegation](/windows/win32/secauthn/credential-security-support-provider), and in general, is not recommended due to the risk of credential theft. Kerberos Unconstrained delegation, as well as DES, are blocked by Credential Guard. [Unconstrained delegation](/defender-for-identity/security-assessment-unconstrained-kerberos#what-risk-does-unsecure-kerberos-delegation-pose-to-an-organization) is not a recommended practice. @@ -38,14 +46,6 @@ It's recommended that custom implementations of SSPs/APs are tested with Credent For more information, see [Restrictions around Registering and Installing a Security Package](/windows/win32/secauthn/restrictions-around-registering-and-installing-a-security-package). -## Upgrade considerations - -As the depth and breadth of protections provided by Credential Guard are increased, new releases of Windows with Credential Guard running may affect scenarios that were working in the past. For example, Credential Guard may block the use of a particular type of credential or a particular component to prevent malware from taking advantage of vulnerabilities. - -We recommend testing scenarios required for operations in an organization before upgrading a device that uses Credential Guard. - -Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credential Guard [enabled by default](index.md#default-enablement) if it has not been explicitly disabled. - ## Saved Windows credentials considerations *Credential Manager* allows you to store three types of credentials: @@ -121,35 +121,36 @@ Credential Guard blocks certain authentication capabilities. Applications that r This article describes known issues when Credential Guard is enabled. -### Live Migration with Hyper-V breaks when upgrading to Windows Server 2025 (preview) +### Live migration with Hyper-V breaks when upgrading to Windows Server 2025 (preview) -Devices which use CredSSP-based Delegation may no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services which rely on Live Migration (such as [SCVMM](/system-center/vmm/overview)) may also be affected. +> [!IMPORTANT] +> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. + +Devices which use CredSSP-based Delegation may no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services which rely on live migration (such as [SCVMM](/system-center/vmm/overview)) may also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. #### Affected devices -Any Server with Credential Guard enabled may encounter this issue. Starting in Windows Server 2025, [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that are not Domain Controllers. Default enablement of Credential Guard can be [pre-emptively blocked](configure.md#how-to-prevent-default-enablement) before upgrade. +Any server with Credential Guard enabled may encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that are not Domain Controllers. Default enablement of Credential Guard can be [pre-emptively blocked](configure.md#how-to-prevent-default-enablement) before upgrade. #### Cause of the issue Live Migration with Hyper-V, and applications and services which rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials. -If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration will fail. In most cases, Credential Guard's enablement state on the destination machine will not impact Live Migration. Live Migration will also fail in cluster scenarios (eg, SCVMM), since any device may at one point act as a source machine. +If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration will fail. In most cases, Credential Guard's enablement state on the destination machine will not impact Live Migration. Live Migration will also fail in cluster scenarios (e.g., SCVMM), since any device may at one point act as a source machine. #### How to fix the issue -Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can configure these types of delegation manually or with the help of automated scripts. +Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can [configure these types of delegation](/windows-server/virtualization/hyper-v/deploy/set-up-hosts-for-live-migration-without-failover-clustering#BKMK_Step1) manually or with the help of automated scripts. -For a more immediate but less secure fix, [Credential Guard can be disabled](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft. - -### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 or Windows Server 2025 +### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 or Windows Server 2025 (preview) Devices that use 802.1x wireless or wired network, RDP, or VPN connections that rely on insecure protocols with password-based authentication are unable to use SSO to sign in and are forced to manually re-authenticate in every new Windows session when Credential Guard is running. #### Affected devices -Any device with Credential Guard enabled may encounter the issue. As part of the Windows 11, version 22H2 and Windows Server 2025 updates, eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, as well as some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements). +Any device with Credential Guard enabled may encounter the issue. Starting in Windows 11, version 22H2 and Windows Server 2025 (preview), eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, as well as some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements). All Windows Pro devices that previously ran Credential Guard on an eligible license and later downgraded to Pro, and which still meet the [minimum hardware requirements](index.md#hardware-and-software-requirements), will receive default enablement. > [!TIP] -> To determine if a Windows Pro device receives default enablement when upgraded to **Windows 11, version 22H2** or **Windows Server 2025**, check if the registry key `IsolatedCredentialsRootSecret` is present in `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0`. +> To determine if a Windows Pro device receives default enablement when upgraded to **Windows 11, version 22H2** or **Windows Server 2025 (preview)**, check if the registry key `IsolatedCredentialsRootSecret` is present in `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0`. > If it's present, the device enables Credential Guard after the update. > > Credential Guard can be disabled after upgrade by following the [disablement instructions](configure.md#disable-credential-guard). From abbc5fd7669f82e64c88ef2f1e9f8c383b44b6dd Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:49:54 -0700 Subject: [PATCH 027/354] Update how-it-works.md Resolving comments from feature team review. --- .../identity-protection/credential-guard/how-it-works.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/how-it-works.md b/windows/security/identity-protection/credential-guard/how-it-works.md index 8acc209f13..d3af49e5aa 100644 --- a/windows/security/identity-protection/credential-guard/how-it-works.md +++ b/windows/security/identity-protection/credential-guard/how-it-works.md @@ -21,7 +21,7 @@ Some ways to store credentials aren't protected by Credential Guard, including: - When Credential Guard is enabled, NTLMv1, MS-CHAPv2, Digest, and CredSSP can't use the signed-in credentials. Thus, single sign-on doesn't work with these protocols. However, applications can prompt for credentials or use credentials stored in the Windows Vault, which aren't protected by Credential Guard with any of these protocols > [!CAUTION] - > It's recommended that valuable credentials, such as the sign-in credentials, aren't used with NTLMv1, MS-CHAPv2, Digest, or CredSSP protocols. If these protocols must be used by domain or Microsoft Entra users, secondary credentials should be provisioned for these use cases. + > It's recommended that valuable credentials, such as the sign-in credentials, aren't used with NTLMv1, MS-CHAPv2, Digest, or CredSSP protocols. - Software that manages credentials outside of Windows feature protection - Local accounts and Microsoft Accounts - Credential Guard doesn't protect the Active Directory database running on Windows Server domain controllers. It also doesn't protect credential input pipelines, such as Windows Server running Remote Desktop Gateway. If you're using a Windows Server OS as a client PC, it will get the same protection as it would when running a Windows client OS From 11bd89951b63758f839e4cdb61bbefc65258cf33 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Sun, 9 Jun 2024 17:00:37 -0700 Subject: [PATCH 028/354] Update index.md Resolving comments from feature team review. --- .../credential-guard/index.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 73f23a56b2..aa17cc040f 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -20,18 +20,21 @@ When enabled, Credential Guard provides the following benefits: > [!NOTE] > While Credential Guard is a powerful mitigation, persistent threat attacks will likely shift to new attack techniques, and you should also incorporate other security strategies and architectures. -## Default Enablement +## Default enablement + +> [!IMPORTANT] +> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and Credential Guard are enabled by default on devices that meet the requirements below. This means that going forward, domain credentials will automatically be protected by Credential Guard on most relevant Windows devices. The default enablement is **without UEFI Lock**, thus allowing administrators to disable Credential Guard remotely if needed. -If the preconditions for default enablement of Credential Guard listed below are met, and neither Credential Guard nor VBS have been explicitly disabled beforehand, the default enablement of Credential Guard will also automatically enable [VBS](#system-requirements). +If the preconditions for default enablement of Credential Guard listed below are met, and Credential Guard has not been [explicitly disabled](configure.md#disable-credential-guard) beforehand, the default enablement of Credential Guard will also automatically enable [VBS](#system-requirements). > [!NOTE] -> If Credential Guard or VBS is explicitly [disabled](configure.md#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 (preview) or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. +> If Credential Guard is explicitly [disabled](configure.md#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 (preview) or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. -### Default Enablement on Windows client +### Default enablement on Windows Devices running Windows 11, 22H2 or later will have Credential Guard enabled by default if they: @@ -39,9 +42,14 @@ Devices running Windows 11, 22H2 or later will have Credential Guard enabled by - Meet the [hardware and sofware requirements](#system-requirements) - Have not been [explicitly configured to disable Credential Guard](configure.md#default-enablement) -### Default Enablement on Windows Server +> [!NOTE] +> Devices running Windows 11 Pro/Pro Edu 22H2 or later may have Virtualization-based Security (VBS) and/or Credential Guard automatically enabled if they meet the other requirements for default enablement, and have previously run Credential Guard. For example if Credential Guard was enabled on an Enterprise device that later downgraded to Pro. +> +> To determine whether the Pro device is in this state, check if the following registry key exists: `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\IsolatedCredentialsRootSecret`. In this scenario, if you wish to disable VBS and Credential Guard, follow the instructions to [disable Virtualization-based Security](configure.md#disable-virtualization-based-security). If you wish to disable Credential Guard only, without disabling VBS, use the procedures to [disable Credential Guard](configure.md#disable-credential-guard). -Devices running Windows Server 2025 (preview) or later will have Credential Guard enabled by default if they meet the above requirements for client and additionally: +### Default enablement on Windows Server + +Devices running Windows Server 2025 (preview) or later will have Credential Guard enabled by default if they meet the above requirements for Windows and additionally: - Are joined to a domain - Are not a Domain Controller @@ -49,11 +57,6 @@ Devices running Windows Server 2025 (preview) or later will have Credential Guar > [!IMPORTANT] > For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#known-issues). -> [!NOTE] -> Devices running Windows 11 Pro/Pro Edu 22H2 or later may have Virtualization-based Security (VBS) and/or Credential Guard automatically enabled if they meet the other requirements for default enablement, and have previously run Credential Guard. For example if Credential Guard was enabled on an Enterprise device that later downgraded to Pro. -> -> To determine whether the Pro device is in this state, check if the following registry key exists: `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\IsolatedCredentialsRootSecret`. In this scenario, if you wish to disable VBS and Credential Guard, follow the instructions to [disable Virtualization-based Security](configure.md#disable-virtualization-based-security). If you wish to disable Credential Guard only, without disabling VBS, use the procedures to [disable Credential Guard](configure.md#disable-credential-guard). - ## System requirements For Credential Guard to provide protection, the device must meet certain hardware, firmware, and software requirements. @@ -121,9 +124,6 @@ Applications may cause performance issues when they attempt to hook the isolated Services or protocols that rely on Kerberos, such as file shares or remote desktop, continue to work and aren't affected by Credential Guard. -> [!IMPORTANT] -> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. - ## Next steps - Learn [how Credential Guard works](how-it-works.md) From 8a1c3f19ca1adb6a267e68ce838367ff2ff9283e Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Sun, 9 Jun 2024 17:03:32 -0700 Subject: [PATCH 029/354] Update considerations-known-issues.md Fixed broken link --- .../credential-guard/considerations-known-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index add35c7682..981313f76c 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -129,7 +129,7 @@ This article describes known issues when Credential Guard is enabled. Devices which use CredSSP-based Delegation may no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services which rely on live migration (such as [SCVMM](/system-center/vmm/overview)) may also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. #### Affected devices -Any server with Credential Guard enabled may encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that are not Domain Controllers. Default enablement of Credential Guard can be [pre-emptively blocked](configure.md#how-to-prevent-default-enablement) before upgrade. +Any server with Credential Guard enabled may encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that are not Domain Controllers. Default enablement of Credential Guard can be [pre-emptively blocked](configure.md#default-enablement) before upgrade. #### Cause of the issue Live Migration with Hyper-V, and applications and services which rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials. From d929c5489f600bd34921e3ac097537d502938777 Mon Sep 17 00:00:00 2001 From: Samantha Robertson Date: Mon, 10 Jun 2024 12:44:34 -0700 Subject: [PATCH 030/354] Update windows-11-plan.md --- windows/whats-new/windows-11-plan.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/whats-new/windows-11-plan.md b/windows/whats-new/windows-11-plan.md index d8b9301431..a32a7baeb6 100644 --- a/windows/whats-new/windows-11-plan.md +++ b/windows/whats-new/windows-11-plan.md @@ -10,6 +10,7 @@ ms.topic: conceptual ms.collection: - highpri - tier1 + - essentials-get-started ms.subservice: itpro-fundamentals ms.date: 02/06/2024 appliesto: From 2c6abfd77d640f3c6e6f71ce995f9c73d23c10ba Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Mon, 10 Jun 2024 14:37:27 -0600 Subject: [PATCH 031/354] Small changes to reflect accurate behavior --- windows/deployment/do/waas-delivery-optimization-reference.md | 4 ++-- windows/deployment/do/whats-new-do.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index f17d4c5f5b..407beacb3f 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -37,7 +37,7 @@ In MDM, the same settings are under **.Vendor/MSFT/Policy/Config/DeliveryOptimiz | [Download mode](#download-mode) | DODownloadMode | 1511 | Default is configured to LAN(1). The Group [Download mode](#download-mode) (2) combined with [Group ID](#group-id), enables administrators to create custom device groups that share content between devices in the group.| | [Group ID](#group-id) | DOGroupID | 1511 | Used with Group [Download mode](#download-mode). If not configured, check [GroupIDSource](#select-the-source-of-group-ids). When GroupID or GroupIDSource policies aren't configured, the GroupID is defined as the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. | | [Select the source of Group IDs](#select-the-source-of-group-ids) | DOGroupIDSource | 1803 | If not configured, check [Group ID](#group-id). When the GroupID or GroupIDSource policies aren't configured, the Group is defined as the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. | -| [Select a method to restrict peer selection](#select-a-method-to-restrict-peer-selection) | DORestrictPeerSelectionBy | 1803 | Windows 10 - default isn't configured. Windows 11 - default peer selection is restricted to the Subnet only in LAN [Download mode](#download-mode) (1). | +| [Select a method to restrict peer selection](#select-a-method-to-restrict-peer-selection) | DORestrictPeerSelectionBy | 1803 | Windows 10/11 default isn't configured. | | [Minimum RAM (inclusive) allowed to use peer caching](#minimum-ram-inclusive-allowed-to-use-peer-caching) | DOMinRAMAllowedToPeer | 1703 | Default value is 4 GB. | | [Minimum disk size allowed to use peer caching](#minimum-disk-size-allowed-to-use-peer-caching) | DOMinDiskSizeAllowedToPeer | 1703 | Default value is 32 GB. | | [Max cache age](#max-cache-age) | DOMaxCacheAge | 1511 | Default value is 259,200 seconds (three days). | @@ -233,7 +233,7 @@ Starting in Windows 10, version 1803, specifies the maximum background download MDM Setting: **DORestrictPeerSelectionBy** -Starting in Windows 10, version 1803, configure 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's no peering between subnets. +Starting in Windows 10, version 1803, configure 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 (DNS-SD). These options apply to both Download Modes LAN (1) and Group (2) and therefore means there's no peering between subnets. If Group mode is configured, Delivery Optimization connects to locally discovered peers that are also part of the same Group (have the same Group ID) and prevents devices that aren't using the same Group ID from participating. diff --git a/windows/deployment/do/whats-new-do.md b/windows/deployment/do/whats-new-do.md index b750903a23..fbde146028 100644 --- a/windows/deployment/do/whats-new-do.md +++ b/windows/deployment/do/whats-new-do.md @@ -46,7 +46,7 @@ There are two different versions: - New setting: Customize vpn detection by choosing custom keywords. Now, you don't have to rely on Delivery Optimization keywords to detect your Vpn. By using the new VpnKeywords configuration you can add keywords for Delivery Optimization to use when detecting a Vpn when in use. You can find this configuration **[VPN Keywords](waas-delivery-optimization-reference.md#vpn-keywords)** in Group Policy or MDM under **DOVpnKeywords**. - New setting: Use the disallow downloads from a connected cache server, when a Vpn is detected and you want to prevent the download from the connected cache server. You can find this configuration **[Disallow download from MCC over VPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) in Group Policy or MDM under **DODisallowCacheServerDownloadsOnVPN**. - Delivery Optimization introduced support for receiver side ledbat (rLedbat). -- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID).Currently the available options include: 0 = None, 1 = Subnet mask, and 2 = Local Peer Discovery. The subnet mask option applies to both Download Modes LAN (1) and Group (2). +- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID). Currently the available options include: 0 = NAT, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). The subnet mask option applies to both Download Modes LAN (1) and Group (2). > [!NOTE] > The Local Peer Discovery (DNS-SD, [RFC 6763](https://datatracker.ietf.org/doc/html/rfc6763)) 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**. For more information, see [Delivery Optimization reference](waas-delivery-optimization-reference.md). From 486b725a974d34a32da494e18cb6632aaffcc481 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:13:00 -0700 Subject: [PATCH 032/354] Metadata change Conceptual to Reference Some Acrolinx inspired changes --- ...ponents-to-microsoft-services-using-MDM.md | 18 ++++++------ ...system-components-to-microsoft-services.md | 29 +++++++++---------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md index 45d6b7c45e..e664498af2 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md @@ -8,7 +8,7 @@ author: DHB-MSFT ms.author: danbrown manager: laurawi ms.date: 05/15/2019 -ms.topic: conceptual +ms.topic: reference --- # Manage connections from Windows 10 and Windows 11 operating system components to Microsoft services using Microsoft Intune MDM Server @@ -19,7 +19,7 @@ ms.topic: conceptual - Windows 10 Enterprise 1903 version and newer -This article describes the network connections that Windows 10 and Windows 11 components make to Microsoft and the Mobile Device Management/Configuration Service Provider (MDM/CSP) and custom Open Mobile Alliance Uniform Resource Identifier ([OMA URI](/intune/custom-settings-windows-10)) policies available to IT Professionals using Microsoft Intune to help manage the data shared with Microsoft. If you want to minimize connections from Windows to Microsoft services, or configure privacy settings, there are a number of settings for consideration. For example, you can configure diagnostic data to the lowest level for your edition of Windows and evaluate other connections Windows makes to Microsoft services you want to turn off using the instructions in this article. While it is possible to minimize network connections to Microsoft, there are many reasons why these communications are enabled by default, such as updating malware definitions and maintaining current certificate revocation lists. This data helps us deliver a secure, reliable, and up-to-date experience. +This article describes the network connections that Windows 10 and Windows 11 components make to Microsoft and the Mobile Device Management/Configuration Service Provider (MDM/CSP) and custom Open Mobile Alliance Uniform Resource Identifier ([OMA URI](/intune/custom-settings-windows-10)) policies available to IT Professionals using Microsoft Intune to help manage the data shared with Microsoft. If you want to minimize connections from Windows to Microsoft services, or configure privacy settings, there are a number of settings for consideration. For example, you can configure diagnostic data to the lowest level for your edition of Windows and evaluate other connections Windows makes to Microsoft services you want to turn off using the instructions in this article. While it's possible to minimize network connections to Microsoft, there are many reasons why these communications are enabled by default, such as updating malware definitions and maintaining current certificate revocation lists. This data helps us deliver a secure, reliable, and up-to-date experience. >[!IMPORTANT] >- The Allowed Traffic endpoints for an MDM configuration are here: [Allowed Traffic](#bkmk-mdm-allowedtraffic) @@ -32,11 +32,11 @@ This article describes the network connections that Windows 10 and Windows 11 co >[!Warning] >If a user executes the "Reset this PC" command (Settings -> Update & Security -> Recovery) with the "Remove Everything" option the >Windows Restricted Traffic Limited Functionality settings will need to be re-applied in order re-restrict the device's egress traffic. >To do this the client must be re-enrolled to the Microsoft Intune service. Egress traffic may occur during the period prior to the re->application of the Restricted Traffic Limited Functionality settings. If the user executes a "Reset this PC" with the "Keep my files" >option the Restricted Traffic Limited Functionality settings are retained on the device, and therefore the client will remain in a >Restricted Traffic configuration during and after the "Keep my files" reset, and no re-enrollment is required. -For more information on Microsoft Intune please see [Transform IT service delivery for your modern workplace](https://www.microsoft.com/en-us/enterprise-mobility-security/microsoft-intune?rtc=1) and [Microsoft Intune documentation](/intune/). +For more information on Microsoft Intune, see [Transform IT service delivery for your modern workplace](https://www.microsoft.com/en-us/enterprise-mobility-security/microsoft-intune?rtc=1) and [Microsoft Intune documentation](/intune/). For detailed information about managing network connections to Microsoft services using Windows Settings, Group Policies and Registry settings see [Manage connections from Windows operating system components to Microsoft services](./manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -We are always striving to improve our documentation and welcome your feedback. You can provide feedback by sending email to **telmhelp**@**microsoft.com**. +We're always striving to improve our documentation and welcome your feedback. You can provide feedback by sending email to **telmhelp**@**microsoft.com**. ## Settings for Windows 10 Enterprise edition 1903 and later and Windows 11 @@ -46,7 +46,7 @@ The following table lists management options for each setting. For Windows 10 and Windows 11, the following MDM policies are available in the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider). 1. **Automatic Root Certificates Update** - 1. MDM Policy: There is intentionally no MDM available for Automatic Root Certificate Update. This MDM does not exist since it would prevent the operation and management of MDM management of devices. + 1. MDM Policy: There's intentionally no MDM available for Automatic Root Certificate Update. This MDM doesn't exist since it would prevent the operation and management of MDM management of devices. 1. **Cortana and Search** 1. MDM Policy: [Experience/AllowCortana](/windows/client-management/mdm/policy-csp-experience#experience-allowcortana). Choose whether to let Cortana install and run on the device. **Set to 0 (zero)** @@ -77,10 +77,10 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. **\\** 1. **Live Tiles** - 1. MDM Policy: [Notifications/DisallowTileNotification](/windows/client-management/mdm/policy-csp-notifications). This policy setting turns off tile notifications. If you enable this policy setting applications and system features will not be able to update their tiles and tile badges in the Start screen. **Integer value 1** + 1. MDM Policy: [Notifications/DisallowTileNotification](/windows/client-management/mdm/policy-csp-notifications). This policy setting turns off tile notifications. If you enable this policy setting applications and system features won't be able to update their tiles and tile badges in the Start screen. **Integer value 1** 1. **Mail synchronization** - 1. MDM Policy: [Accounts/AllowMicrosoftAccountConnection](/windows/client-management/mdm/policy-csp-accounts#accounts-allowmicrosoftaccountconnection). Specifies whether the user is allowed to use an Microsoft account for non-email related connection authentication and services. **Set to 0 (zero)** + 1. MDM Policy: [Accounts/AllowMicrosoftAccountConnection](/windows/client-management/mdm/policy-csp-accounts#accounts-allowmicrosoftaccountconnection). Specifies whether the user is allowed to use a Microsoft account for non-email related connection authentication and services. **Set to 0 (zero)** 1. **Microsoft Account** 1. MDM Policy: [Accounts/AllowMicrosoftAccountSignInAssistant](/windows/client-management/mdm/policy-csp-accounts#accounts-allowmicrosoftaccountsigninassistant). Disable the Microsoft Account Sign-In Assistant. **Set to 0 (zero)** @@ -94,7 +94,7 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. MDM Policy: [Browser/AllowSmartScreen](/windows/client-management/mdm/policy-csp-browser#browser-allowsmartscreen). Choose whether Windows Defender SmartScreen is turned on or off. **Set to 0 (zero)** 1. **Network Connection Status Indicator** - 1. [Connectivity/DisallowNetworkConnectivityActiveTests](/windows/client-management/mdm/policy-csp-connectivity#connectivity-disallownetworkconnectivityactivetests). Note: After you apply this policy you must restart the device for the policy setting to take effect. **Set to 1 (one)** + 1. [Connectivity/DisallowNetworkConnectivityActiveTests](/windows/client-management/mdm/policy-csp-connectivity#connectivity-disallownetworkconnectivityactivetests). Note: After you apply this policy, you must restart the device for the policy setting to take effect. **Set to 1 (one)** 1. **Offline maps** 1. MDM Policy: [AllowOfflineMapsDownloadOverMeteredConnection](/windows/client-management/mdm/policy-csp-maps). Allows the download and update of map data over metered connections.
**Set to 0 (zero)** @@ -102,7 +102,7 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. **OneDrive** 1. MDM Policy: [DisableOneDriveFileSync](/windows/client-management/mdm/policy-csp-system#system-disableonedrivefilesync). Allows IT Admins to prevent apps and features from working with files on OneDrive. **Set to 1 (one)** - 1. Ingest the ADMX - To get the latest OneDrive ADMX file you need an up-to-date Windows 10 or Windows 11 client. The ADMX files are located under the following path: %LocalAppData%\Microsoft\OneDrive\ there's a folder with the current OneDrive build (e.g. "18.162.0812.0001"). There is a folder named "adm" which contains the admx and adml policy definition files. + 1. Ingest the ADMX - To get the latest OneDrive ADMX file you need an up-to-date Windows 10 or Windows 11 client. The ADMX files are located under the following path: %LocalAppData%\Microsoft\OneDrive\ there's a folder with the current OneDrive build (for example "18.162.0812.0001"). There's a folder named "adm" which contains the admx and adml policy definition files. 1. MDM Policy: Prevent Network Traffic before User SignIn. **PreventNetworkTrafficPreUserSignIn**. The OMA-URI value is: **./Device/Vendor/MSFT/Policy/Config/OneDriveNGSC\~Policy\~OneDriveNGSC/PreventNetworkTrafficPreUserSignIn**, Data type: **String**, Value: **\** diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index e5ca2312fd..8d8aa99a85 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -8,8 +8,7 @@ author: DHB-MSFT ms.author: danbrown manager: laurawi ms.date: 03/07/2016 -ms.collection: highpri -ms.topic: conceptual +ms.topic: reference --- # Manage connections from Windows 10 and Windows 11 operating system components to Microsoft services @@ -21,9 +20,9 @@ ms.topic: conceptual - Windows Server 2016 - Windows Server 2019 -This article describes the network connections that Windows 10 and Windows 11 components make to Microsoft and the Windows Settings, Group Policies and registry settings available to IT Professionals to help manage the data shared with Microsoft. If you want to minimize connections from Windows to Microsoft services, or configure privacy settings, there are a number of settings for consideration. For example, you can configure diagnostic data to the lowest level for your edition of Windows and evaluate other connections Windows makes to Microsoft services you want to turn off using the instructions in this article. While it is possible to minimize network connections to Microsoft, there are many reasons why these communications are enabled by default, such as updating malware definitions and maintaining current certificate revocation lists. This data helps us deliver a secure, reliable, and up-to-date experience. +This article describes the network connections that Windows 10 and Windows 11 components make to Microsoft and the Windows Settings, Group Policies and registry settings available to IT Professionals to help manage the data shared with Microsoft. If you want to minimize connections from Windows to Microsoft services, or configure privacy settings, there are a number of settings for consideration. For example, you can configure diagnostic data to the lowest level for your edition of Windows and evaluate other connections Windows makes to Microsoft services you want to turn off using the instructions in this article. While it's possible to minimize network connections to Microsoft, there are many reasons why these communications are enabled by default, such as updating malware definitions and maintaining current certificate revocation lists. This data helps us deliver a secure, reliable, and up-to-date experience. -Microsoft provides a [Windows Restricted Traffic Limited Functionality Baseline](https://download.microsoft.com/download/D/9/0/D905766D-FEDA-43E5-86ED-8987CEBD8D89/WindowsRTLFB.zip) package that will allow your organization to quickly configure the settings covered in this document to restrict connections from Windows 10 and Windows 11 to Microsoft. The Windows Restricted Traffic Limited Baseline is based on [Group Policy Administrative Template](/troubleshoot/windows-client/group-policy/create-and-manage-central-store) functionality and the package you download contains further instructions on how to deploy to devices in your organization. Since some of the settings can reduce the functionality and security configuration of your device, **before deploying Windows Restricted Traffic Limited Functionality Baseline** make sure you **choose the right settings configuration for your environment** and **ensure that Windows and Microsoft Defender Antivirus are fully up to date**. Failure to do so may result in errors or unexpected behavior. You should not extract this package to the windows\system32 folder because it will not apply correctly. +Microsoft provides a [Windows Restricted Traffic Limited Functionality Baseline](https://download.microsoft.com/download/D/9/0/D905766D-FEDA-43E5-86ED-8987CEBD8D89/WindowsRTLFB.zip) package that will allow your organization to quickly configure the settings covered in this document to restrict connections from Windows 10 and Windows 11 to Microsoft. The Windows Restricted Traffic Limited Baseline is based on [Group Policy Administrative Template](/troubleshoot/windows-client/group-policy/create-and-manage-central-store) functionality and the package you download contains further instructions on how to deploy to devices in your organization. Since some of the settings can reduce the functionality and security configuration of your device, **before deploying Windows Restricted Traffic Limited Functionality Baseline** make sure you **choose the right settings configuration for your environment** and **ensure that Windows and Microsoft Defender Antivirus are fully up to date**. Failure to do so may result in errors or unexpected behavior. You shouldn't extract this package to the windows\system32 folder because it will not apply correctly. > [!IMPORTANT] > - The downloadable Windows 10, version 1903 scripts/settings can be used on Windows 10, version 1909 devices. @@ -38,9 +37,9 @@ Microsoft provides a [Windows Restricted Traffic Limited Functionality Baseline] > - To restrict a device effectively (first time or subsequently), it is recommended to apply the Restricted Traffic Limited Functionality Baseline settings package in offline mode. > - During update or upgrade of Windows, egress traffic may occur. -To use Microsoft Intune cloud-based device management for restricting traffic please refer to the [Manage connections from Windows 10 and Windows 11 operating system components to Microsoft services using Microsoft Intune MDM Server](manage-connections-from-windows-operating-system-components-to-microsoft-services-using-mdm.md). +To use Microsoft Intune cloud-based device management for restricting traffic, refer to the [Manage connections from Windows 10 and Windows 11 operating system components to Microsoft services using Microsoft Intune MDM Server](manage-connections-from-windows-operating-system-components-to-microsoft-services-using-mdm.md). -We are always striving to improve our documentation and welcome your feedback. You can provide feedback by contacting **telmhelp**@**microsoft.com**. +We're always striving to improve our documentation and welcome your feedback. You can provide feedback by contacting **telmhelp**@**microsoft.com**. ## Management options for each setting @@ -397,7 +396,7 @@ If you're running Windows 10, version 1607, Windows Server 2016, or later: ### 7. Insider Preview builds The Windows Insider Preview program lets you help shape the future of Windows, be part of the community, and get early access to releases of Windows 10 and Windows 11. This setting stops communication with the Windows Insider Preview service that checks for new builds. -Windows Insider Preview builds only apply to Windows 10 and Windows 11 and are not available for Windows Server 2016. +Windows Insider Preview builds only apply to Windows 10 and Windows 11 and aren't available for Windows Server 2016. > [!NOTE] @@ -689,7 +688,7 @@ To turn off OneDrive in your organization: ### 17. Preinstalled apps -Some preinstalled apps get content before they are opened to ensure a great experience. You can remove these using the steps in this section. +Some preinstalled apps get content before they're opened to ensure a great experience. You can remove these using the steps in this section. To remove the News app: @@ -1766,7 +1765,7 @@ If you're running Windows 10, version 1607 or later, or Windows 11, you need to: You can turn off the ability to launch apps from the Microsoft Store that were preinstalled or downloaded. This will also turn off automatic app updates, and the Microsoft Store will be disabled. -In addition, new email accounts cannot be created by clicking **Settings** > **Accounts** > **Email & app accounts** > **Add an account**. +In addition, new email accounts can't be created by clicking **Settings** > **Accounts** > **Email & app accounts** > **Add an account**. On Windows Server 2016, this will block Microsoft Store calls from Universal Windows Apps. - **Disable** the Group Policy: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **Store** > **Disable all apps from Microsoft Store**. @@ -1795,7 +1794,7 @@ You can turn off apps for websites, preventing customers who visit websites that ### 28. Delivery Optimization -Delivery Optimization is the downloader of Windows updates, Microsoft Store apps, Office and other content from Microsoft. Delivery Optimization can also download from sources in addition to Microsoft, which not only helps when you have a limited or unreliable Internet connection, but can also help you reduce the amount of bandwidth needed to keep all of your organization's PCs up-to-date. If you have Delivery Optimization Peer-to-Peer option turned on, PCs on your network may send and receive updates and apps to other PCs on your local network, if you choose, or to PCs on the Internet. +Delivery Optimization is the downloader of Windows updates, Microsoft Store apps, Office, and other content from Microsoft. Delivery Optimization can also download from sources in addition to Microsoft, which not only helps when you have a limited or unreliable Internet connection, but can also help you reduce the amount of bandwidth needed to keep all of your organization's PCs up-to-date. If you have Delivery Optimization Peer-to-Peer option turned on, PCs on your network may send and receive updates and apps to other PCs on your local network, if you choose, or to PCs on the Internet. By default, PCs running Windows 10 or Windows 11 will only use Delivery Optimization to get and receive updates for PCs and apps on your local network. @@ -1848,15 +1847,15 @@ You can turn off Windows Update by setting the following registry entries: -and- -- Add a REG_SZ value named **WUServer** to **HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate** and ensure it is blank with a space character **" "**. +- Add a REG_SZ value named **WUServer** to **HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate** and ensure it's blank with a space character **" "**. -and- -- Add a REG_SZ value named **WUStatusServer** to **HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate** and ensure it is blank with a space character **" "**. +- Add a REG_SZ value named **WUStatusServer** to **HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate** and ensure it's blank with a space character **" "**. -and- -- Add a REG_SZ value named **UpdateServiceUrlAlternate** to **HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate** and ensure it is blank with a space character **" "**. +- Add a REG_SZ value named **UpdateServiceUrlAlternate** to **HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate** and ensure it's blank with a space character **" "**. -and- @@ -1879,12 +1878,12 @@ You can turn off Windows Update by setting the following registry entries: - Set the Group Policy **User Configuration** > **Administrative Templates** > **Windows Components** > **Windows Update** > **Remove access to use all Windows Update features** to **Enabled** and then set **Computer Configurations** to **0 (zero)**. -You can turn off automatic updates by doing the following. This is not recommended. +You can turn off automatic updates by doing the following. This isn't recommended. - Add a REG_DWORD value named **AutoDownload** to **HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\WindowsStore\\WindowsUpdate** and set the value to 5. -For China releases of Windows 10 there is one additional Regkey to be set to prevent traffic: +For China releases of Windows 10 there's one additional Regkey to be set to prevent traffic: - Add a REG_DWORD value named **HapDownloadEnabled** to **HKEY_LOCAL_MACHINE\\Software\\Microsoft\\LexiconUpdate\\loc_0804** and set the **value to 0 (zero)**. From f247b79724b6abc17908ee8885cbc6c6e472509e Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:22:45 -0700 Subject: [PATCH 033/354] Update metadata --- windows/privacy/essential-services-and-connected-experiences.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index 6d314f9b80..0c59bcd158 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -8,7 +8,6 @@ author: DHB-MSFT ms.author: danbrown manager: laurawi ms.date: 06/06/2024 -ms.collection: highpri ms.topic: reference --- From 0f0b2ef62bff29884f583bbbb0b3ab91580e2053 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:04:45 -0400 Subject: [PATCH 034/354] WHfB updates --- .../identity-protection/hello-for-business/how-it-works.md | 5 +++++ .../identity-protection/hello-for-business/rdp-sign-in.md | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/how-it-works.md b/windows/security/identity-protection/hello-for-business/how-it-works.md index f08348d61a..95bc613cdc 100644 --- a/windows/security/identity-protection/hello-for-business/how-it-works.md +++ b/windows/security/identity-protection/hello-for-business/how-it-works.md @@ -227,6 +227,11 @@ For more information, see [What is a Primary Refresh Token][ENTRA-2]. Changing a user account password doesn't affect sign-in or unlock, since Windows Hello for Business uses a key or certificate. +> [!NOTE] +> If you change the user's password from a Microsoft Entra hybrid joined device, the Windows Hello for Business cache is invalidated. To update the cache, the user must log off and then log back on. +> +> To change a user's password, the device must be able to communicate with a domain controller. + ## Next steps > [!div class="nextstepaction"] diff --git a/windows/security/identity-protection/hello-for-business/rdp-sign-in.md b/windows/security/identity-protection/hello-for-business/rdp-sign-in.md index 72c3fffd3f..c8a7d312ad 100644 --- a/windows/security/identity-protection/hello-for-business/rdp-sign-in.md +++ b/windows/security/identity-protection/hello-for-business/rdp-sign-in.md @@ -1,7 +1,7 @@ --- title: Remote Desktop sign-in with Windows Hello for Business description: Learn how to configure Remote Desktop (RDP) sign-in with Windows Hello for Business. -ms.date: 04/23/2024 +ms.date: 06/11/2024 ms.topic: how-to --- @@ -273,6 +273,10 @@ While users appreciate the convenience of biometrics, and administrators value t For more information, see [Use Windows Hello for Business certificates as smart card certificate](policy-settings.md#use-windows-hello-for-business-certificates-as-smart-card-certificates) +## Known issues + +There's a known issue when attempting to perform TLS 1.3 client authentication with a Hello certificate via RDP. The authentication fails with the error: ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED. Microsoft is aware of this issue and investigating possible solutions. + [MEM-1]: /mem/intune/protect/certificates-scep-configure From afa7ae683a8c94a7f3e68b4abd8894dab2ac4997 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Tue, 11 Jun 2024 14:11:19 -0600 Subject: [PATCH 035/354] Change to wording. --- windows/deployment/do/waas-delivery-optimization-reference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index 1e1aacaed4..6f2f4baed3 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -233,7 +233,7 @@ Starting in Windows 10, version 1803, specifies the maximum background download MDM Setting: **DORestrictPeerSelectionBy** -Starting in Windows 10, version 1803, configure 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 (DNS-SD). These options apply to both Download Modes LAN (1) and Group (2) and therefore means there's no peering between subnets. +Starting in Windows 10, version 1803, configure this policy to further restrict peer selection in Download Modes LAN (1) and Group (2). In Windows 11, the 'Local Peer Discovery' option was introduced to restrict peer discovery to the local network. Currently the available options include: 0 = None, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). Choosing either Subnet mask (1) or Local Peer Discovery (2) will avoid peering between subnets. If Group mode is configured, Delivery Optimization connects to locally discovered peers that are also part of the same Group (have the same Group ID) and prevents devices that aren't using the same Group ID from participating. From 05d9f16c4994c59fed9b1f55dc22568611a20fe5 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Tue, 11 Jun 2024 14:21:37 -0600 Subject: [PATCH 036/354] More details added --- windows/deployment/do/waas-delivery-optimization-reference.md | 2 +- windows/deployment/do/whats-new-do.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index 6f2f4baed3..cf03e3d310 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -37,7 +37,7 @@ In MDM, the same settings are under **.Vendor/MSFT/Policy/Config/DeliveryOptimiz | [Download mode](#download-mode) | DODownloadMode | 1511 | Default is configured to LAN(1). The Group [Download mode](#download-mode) (2) combined with [Group ID](#group-id), enables administrators to create custom device groups that share content between devices in the group.| | [Group ID](#group-id) | DOGroupID | 1511 | Used with Group [Download mode](#download-mode). If not configured, check [GroupIDSource](#select-the-source-of-group-ids). When GroupID or GroupIDSource policies aren't configured, the GroupID is defined as the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. | | [Select the source of Group IDs](#select-the-source-of-group-ids) | DOGroupIDSource | 1803 | If not configured, check [Group ID](#group-id). When the GroupID or GroupIDSource policies aren't configured, the Group is defined as the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. | -| [Select a method to restrict peer selection](#select-a-method-to-restrict-peer-selection) | DORestrictPeerSelectionBy | 1803 | Windows 10/11 default isn't configured. | +| [Select a method to restrict peer selection](#select-a-method-to-restrict-peer-selection) | DORestrictPeerSelectionBy | 1803 | Default isn't configured.| | [Minimum RAM (inclusive) allowed to use peer caching](#minimum-ram-inclusive-allowed-to-use-peer-caching) | DOMinRAMAllowedToPeer | 1703 | Default value is 4 GB. | | [Minimum disk size allowed to use peer caching](#minimum-disk-size-allowed-to-use-peer-caching) | DOMinDiskSizeAllowedToPeer | 1703 | Default value is 32 GB. | | [Max cache age](#max-cache-age) | DOMaxCacheAge | 1511 | Default value is 259,200 seconds (three days). | diff --git a/windows/deployment/do/whats-new-do.md b/windows/deployment/do/whats-new-do.md index fbde146028..096f3b3468 100644 --- a/windows/deployment/do/whats-new-do.md +++ b/windows/deployment/do/whats-new-do.md @@ -46,7 +46,7 @@ There are two different versions: - New setting: Customize vpn detection by choosing custom keywords. Now, you don't have to rely on Delivery Optimization keywords to detect your Vpn. By using the new VpnKeywords configuration you can add keywords for Delivery Optimization to use when detecting a Vpn when in use. You can find this configuration **[VPN Keywords](waas-delivery-optimization-reference.md#vpn-keywords)** in Group Policy or MDM under **DOVpnKeywords**. - New setting: Use the disallow downloads from a connected cache server, when a Vpn is detected and you want to prevent the download from the connected cache server. You can find this configuration **[Disallow download from MCC over VPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) in Group Policy or MDM under **DODisallowCacheServerDownloadsOnVPN**. - Delivery Optimization introduced support for receiver side ledbat (rLedbat). -- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID). Currently the available options include: 0 = NAT, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). The subnet mask option applies to both Download Modes LAN (1) and Group (2). +- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID). Currently the available options include: 0 = None, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). The subnet mask option applies to both Download Modes LAN (1) and Group (2). > [!NOTE] > The Local Peer Discovery (DNS-SD, [RFC 6763](https://datatracker.ietf.org/doc/html/rfc6763)) 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**. For more information, see [Delivery Optimization reference](waas-delivery-optimization-reference.md). From 42b936cc624ef42d89047687e450925373ffa8d6 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Tue, 11 Jun 2024 14:27:37 -0600 Subject: [PATCH 037/354] More clarification --- windows/deployment/do/whats-new-do.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/whats-new-do.md b/windows/deployment/do/whats-new-do.md index 096f3b3468..e1a925a69d 100644 --- a/windows/deployment/do/whats-new-do.md +++ b/windows/deployment/do/whats-new-do.md @@ -46,7 +46,7 @@ There are two different versions: - New setting: Customize vpn detection by choosing custom keywords. Now, you don't have to rely on Delivery Optimization keywords to detect your Vpn. By using the new VpnKeywords configuration you can add keywords for Delivery Optimization to use when detecting a Vpn when in use. You can find this configuration **[VPN Keywords](waas-delivery-optimization-reference.md#vpn-keywords)** in Group Policy or MDM under **DOVpnKeywords**. - New setting: Use the disallow downloads from a connected cache server, when a Vpn is detected and you want to prevent the download from the connected cache server. You can find this configuration **[Disallow download from MCC over VPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) in Group Policy or MDM under **DODisallowCacheServerDownloadsOnVPN**. - Delivery Optimization introduced support for receiver side ledbat (rLedbat). -- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID). Currently the available options include: 0 = None, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). The subnet mask option applies to both Download Modes LAN (1) and Group (2). +- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID). Currently the available options include: 0 = None, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). > [!NOTE] > The Local Peer Discovery (DNS-SD, [RFC 6763](https://datatracker.ietf.org/doc/html/rfc6763)) 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**. For more information, see [Delivery Optimization reference](waas-delivery-optimization-reference.md). From 371b3816efe2eecf63bdc151e6b6e86407963804 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:26:48 -0700 Subject: [PATCH 038/354] Remove EOS versions from TOC --- windows/privacy/toc.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index b6ad626c23..08dc42f79d 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -21,22 +21,12 @@ href: required-windows-11-diagnostic-events-and-fields.md - name: Windows 10, versions 22H2, 21H2, 21H1, 20H2, and 2004 href: required-windows-diagnostic-data-events-and-fields-2004.md - - name: Windows 10, versions 1909 and 1903 - href: basic-level-windows-diagnostic-events-and-fields-1903.md - name: Windows 10, version 1809 href: basic-level-windows-diagnostic-events-and-fields-1809.md - - name: Windows 10, version 1803 - href: basic-level-windows-diagnostic-events-and-fields-1803.md - - name: Windows 10, version 1709 - href: basic-level-windows-diagnostic-events-and-fields-1709.md - - name: Windows 10, version 1703 - href: basic-level-windows-diagnostic-events-and-fields-1703.md - name: Optional Windows diagnostic data events and fields items: - name: Windows 10, version 1709 and later and Windows 11 optional diagnostic data href: windows-diagnostic-data.md - - name: Windows 10, version 1703 optional diagnostic data - href: windows-diagnostic-data-1703.md - name: Windows 10 diagnostic data events and fields collected through the limit enhanced diagnostic data policy href: enhanced-diagnostic-data-windows-analytics-events-and-fields.md - name: Manage Windows connected experiences @@ -51,29 +41,10 @@ href: manage-windows-11-endpoints.md - name: Connection endpoints for Windows 10, version 21H2 href: manage-windows-21h2-endpoints.md - - name: Connection endpoints for Windows 10, version 21H1 - href: manage-windows-21H1-endpoints.md - - name: Connection endpoints for Windows 10, version 20H2 - href: manage-windows-20H2-endpoints.md - - name: Connection endpoints for Windows 10, version 2004 - href: manage-windows-2004-endpoints.md - - name: Connection endpoints for Windows 10, version 1909 - href: manage-windows-1909-endpoints.md - - name: Connection endpoints for Windows 10, version 1903 - href: manage-windows-1903-endpoints.md - name: Connection endpoints for Windows 10, version 1809 href: manage-windows-1809-endpoints.md - name: Connection endpoints for non-Enterprise editions of Windows 11 href: windows-11-endpoints-non-enterprise-editions.md - - name: Connection endpoints for non-Enterprise editions of Windows 10, version 21H1 - href: windows-endpoints-21H1-non-enterprise-editions.md - - name: Connection endpoints for non-Enterprise editions of Windows 10, version 20H2 - href: windows-endpoints-20H2-non-enterprise-editions.md - - name: Connection endpoints for non-Enterprise editions of Windows 10, version 2004 - href: windows-endpoints-2004-non-enterprise-editions.md - - name: Connection endpoints for non-Enterprise editions of Windows 10, version 1909 - href: windows-endpoints-1909-non-enterprise-editions.md - - name: Connection endpoints for non-Enterprise editions of Windows 10, version 1903 href: windows-endpoints-1903-non-enterprise-editions.md - name: Connection endpoints for non-Enterprise editions of Windows 10, version 1809 href: windows-endpoints-1809-non-enterprise-editions.md From 77e641b0873edcd767318d698f4730ecb84dcccb Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:38:13 -0700 Subject: [PATCH 039/354] Fix error --- windows/privacy/toc.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index 08dc42f79d..b8331db606 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -45,6 +45,5 @@ href: manage-windows-1809-endpoints.md - name: Connection endpoints for non-Enterprise editions of Windows 11 href: windows-11-endpoints-non-enterprise-editions.md - href: windows-endpoints-1903-non-enterprise-editions.md - name: Connection endpoints for non-Enterprise editions of Windows 10, version 1809 href: windows-endpoints-1809-non-enterprise-editions.md From eb3a60abc2108655df2eeca29cbb627845a864b1 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 11 Jun 2024 17:28:06 -0700 Subject: [PATCH 040/354] Remove crosslinks to EOS articles --- ...-level-windows-diagnostic-events-and-fields-1809.md | 4 ---- .../essential-services-and-connected-experiences.md | 9 --------- windows/privacy/manage-windows-1809-endpoints.md | 5 ----- windows/privacy/manage-windows-21h2-endpoints.md | 10 ---------- ...equired-diagnostic-events-fields-windows-11-22H2.md | 3 --- ...required-windows-11-diagnostic-events-and-fields.md | 3 --- windows/privacy/toc.yml | 2 -- 7 files changed, 36 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index ef87c4289b..dcc02b4101 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -30,10 +30,6 @@ You can learn more about Windows functional and diagnostic data through these ar - [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) - [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) - [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) -- [Windows 10, version 1903 and Windows 10, version 1909 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index 21beba4c56..799d80a554 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -102,21 +102,12 @@ Internet Explorer shares many of the Windows essential services listed above. Th To view endpoints for Windows Enterprise, see: - [Manage connection endpoints for Windows 11](manage-windows-11-endpoints.md) -- [Manage connection endpoints for Windows 10, version 21H1](manage-windows-21H1-endpoints.md) - [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 20H2](manage-windows-20h2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) - [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) To view endpoints for non-Enterprise Windows editions, see: - [Windows 11 connection endpoints for non-Enterprise editions](windows-11-endpoints-non-enterprise-editions.md) -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 20H2, connection endpoints for non-Enterprise editions](windows-endpoints-20H2-non-enterprise-editions.md) -- [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) > [!IMPORTANT] > To inquire about Windows data access or interoperability related to the Digital Markets Act (DMA), [submit this form](https://go.microsoft.com/fwlink/p/?linkid=2271128). \ No newline at end of file diff --git a/windows/privacy/manage-windows-1809-endpoints.md b/windows/privacy/manage-windows-1809-endpoints.md index 1bebf8277d..8e55fa3f0b 100644 --- a/windows/privacy/manage-windows-1809-endpoints.md +++ b/windows/privacy/manage-windows-1809-endpoints.md @@ -486,11 +486,6 @@ To view endpoints for other versions of Windows 10 Enterprise, see: - [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) - ## Related links diff --git a/windows/privacy/manage-windows-21h2-endpoints.md b/windows/privacy/manage-windows-21h2-endpoints.md index 458536998a..6c1dcfce86 100644 --- a/windows/privacy/manage-windows-21h2-endpoints.md +++ b/windows/privacy/manage-windows-21h2-endpoints.md @@ -129,18 +129,8 @@ The following methodology was used to derive these network endpoints: To view endpoints for other versions of Windows 10 Enterprise, see: -- [Manage connection endpoints for Windows 10, version 2004](manage-windows-2004-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) - [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 2004, connection endpoints for non-Enterprise editions](windows-endpoints-2004-non-enterprise-editions.md) -- [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) ## Related links diff --git a/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md b/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md index 99496ee032..59e5b2137c 100644 --- a/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md +++ b/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md @@ -31,9 +31,6 @@ You can learn more about Windows functional and diagnostic data through these ar - [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) - [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) diff --git a/windows/privacy/required-windows-11-diagnostic-events-and-fields.md b/windows/privacy/required-windows-11-diagnostic-events-and-fields.md index 7969cc1cca..533c2d7770 100644 --- a/windows/privacy/required-windows-11-diagnostic-events-and-fields.md +++ b/windows/privacy/required-windows-11-diagnostic-events-and-fields.md @@ -31,9 +31,6 @@ You can learn more about Windows functional and diagnostic data through these ar - [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) - [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index b8331db606..ab8ba5cf43 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -45,5 +45,3 @@ href: manage-windows-1809-endpoints.md - name: Connection endpoints for non-Enterprise editions of Windows 11 href: windows-11-endpoints-non-enterprise-editions.md - - name: Connection endpoints for non-Enterprise editions of Windows 10, version 1809 - href: windows-endpoints-1809-non-enterprise-editions.md From 67e65b672c8bad54b1d9eb821a5d99630300cacf Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 12 Jun 2024 08:02:07 -0400 Subject: [PATCH 041/354] password expiration issue --- .../hello-for-business/how-it-works.md | 12 +++++++++--- .../hello-for-business/rdp-sign-in.md | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/how-it-works.md b/windows/security/identity-protection/hello-for-business/how-it-works.md index 95bc613cdc..fc2d4b3ddf 100644 --- a/windows/security/identity-protection/hello-for-business/how-it-works.md +++ b/windows/security/identity-protection/hello-for-business/how-it-works.md @@ -227,9 +227,15 @@ For more information, see [What is a Primary Refresh Token][ENTRA-2]. Changing a user account password doesn't affect sign-in or unlock, since Windows Hello for Business uses a key or certificate. -> [!NOTE] -> If you change the user's password from a Microsoft Entra hybrid joined device, the Windows Hello for Business cache is invalidated. To update the cache, the user must log off and then log back on. -> +However, when users are required to change their password (for example, due to password expiration policies), then they won't be notified of the password change requirement when signing in with Windows Hello. This might cause failures to authenticate to Active Directory-protected resources. To mitigate the issue consider one of the following options: + +- Disable password expiration for the user accounts +- As an alternative to password expiration policies, consider adopting [PIN expiration policies](policy-settings?tabs=pin#expiration) +- If password expiration is an organization's requirement, instruct the users to change their passwords regularly or when they receive authentication failure messages. Users can reset their password by: + - Using the Ctrl + Alt + Del > **Change a password** option + - Sign in with their password. If the password must be changed, Windows prompts the user to update it + +> [!IMPORTANT] > To change a user's password, the device must be able to communicate with a domain controller. ## Next steps diff --git a/windows/security/identity-protection/hello-for-business/rdp-sign-in.md b/windows/security/identity-protection/hello-for-business/rdp-sign-in.md index c8a7d312ad..97e372d620 100644 --- a/windows/security/identity-protection/hello-for-business/rdp-sign-in.md +++ b/windows/security/identity-protection/hello-for-business/rdp-sign-in.md @@ -275,7 +275,7 @@ For more information, see [Use Windows Hello for Business certificates as smart ## Known issues -There's a known issue when attempting to perform TLS 1.3 client authentication with a Hello certificate via RDP. The authentication fails with the error: ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED. Microsoft is aware of this issue and investigating possible solutions. +There's a known issue when attempting to perform TLS 1.3 client authentication with a Hello certificate via RDP. The authentication fails with the error: `ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED`. Microsoft is investigating possible solutions. From 55e9a1d73b8641c3324464093facab67215aa001 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 12 Jun 2024 08:29:34 -0400 Subject: [PATCH 042/354] removed insider note for disablepostlogonprovisioning --- .../includes/use-windows-hello-for-business.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/includes/use-windows-hello-for-business.md b/windows/security/identity-protection/hello-for-business/includes/use-windows-hello-for-business.md index d850382fae..34185c8503 100644 --- a/windows/security/identity-protection/hello-for-business/includes/use-windows-hello-for-business.md +++ b/windows/security/identity-protection/hello-for-business/includes/use-windows-hello-for-business.md @@ -16,16 +16,6 @@ Select the option *Don't start Windows Hello provisioning after sign-in* when yo - If you select *Don't start Windows Hello provisioning after sign-in*, Windows Hello for Business doesn't automatically start provisioning after the user has signed in - If you don't select *Don't start Windows Hello provisioning after sign-in*, Windows Hello for Business automatically starts provisioning after the user has signed in -:::row::: -:::column span="1"::: -:::image type="content" source="../../../images/insider.png" alt-text="Logo of Windows Insider." border="false"::: -:::column-end::: -:::column span="3"::: -> [!IMPORTANT] ->This policy setting is available via CSP only for [Windows Insider Preview builds](/windows-insider/). -:::column-end::: -:::row-end::: - | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/PassportForWork/{TenantId}/Policies/`[UsePassportForWork](/windows/client-management/mdm/passportforwork-csp#devicetenantidpoliciesusepassportforwork)

`./Device/Vendor/MSFT/PassportForWork/{TenantId}/Policies/`[DisablePostLogonProvisioning](/windows/client-management/mdm/passportforwork-csp#devicetenantidpoliciesdisablepostlogonprovisioning)| From 2a90f96c3588b750e94c8801dbf094627d2e7367 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:14:02 -0400 Subject: [PATCH 043/354] updates --- .../identity-protection/hello-for-business/how-it-works.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/how-it-works.md b/windows/security/identity-protection/hello-for-business/how-it-works.md index fc2d4b3ddf..659f4a0e25 100644 --- a/windows/security/identity-protection/hello-for-business/how-it-works.md +++ b/windows/security/identity-protection/hello-for-business/how-it-works.md @@ -230,7 +230,7 @@ Changing a user account password doesn't affect sign-in or unlock, since Windows However, when users are required to change their password (for example, due to password expiration policies), then they won't be notified of the password change requirement when signing in with Windows Hello. This might cause failures to authenticate to Active Directory-protected resources. To mitigate the issue consider one of the following options: - Disable password expiration for the user accounts -- As an alternative to password expiration policies, consider adopting [PIN expiration policies](policy-settings?tabs=pin#expiration) +- As an alternative to password expiration policies, consider adopting [PIN expiration policies](policy-settings.md?tabs=pin#expiration) - If password expiration is an organization's requirement, instruct the users to change their passwords regularly or when they receive authentication failure messages. Users can reset their password by: - Using the Ctrl + Alt + Del > **Change a password** option - Sign in with their password. If the password must be changed, Windows prompts the user to update it From 40b25734a5c73ab32c81c1039121942be566ba89 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:02:44 -0700 Subject: [PATCH 044/354] manage=cpw-note-pwa --- windows/client-management/manage-windows-copilot.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index 3faee22933..cdfa61e0a3 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -3,7 +3,7 @@ title: Manage Copilot in Windows description: Learn how to manage Copilot in Windows for commercial environments using MDM and group policy. Learn about the chat providers available to Copilot in Windows. ms.topic: how-to ms.subservice: windows-copilot -ms.date: 03/21/2024 +ms.date: 06/12/2024 ms.author: mstewart author: mestew ms.collection: @@ -18,16 +18,20 @@ appliesto: >**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0). +> [!Note] +> - This article along with the [TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) policy listed isn't for the [new Copilot experience](https://blogs.windows.com/windows-insider/2024/05/31/announcing-windows-11-insider-preview-build-26120-751-dev-channel/) that is currently in some Windows Insider builds such as [Windows 11, version 24H2 in the Release Preview channel](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/). + Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar docked on the Windows desktop and is designed to help users get things done in Windows. Copilot in Windows can perform common tasks in Windows like changing Windows settings, which makes it different from the browser-based [Copilot in Edge](/copilot/edge). However, both user experiences, Copilot in Windows and Copilot in Edge, can share the same underlying chat provider platform. It's important for organizations to properly configure the chat provider platform that Copilot in Windows uses, since it's possible for users to copy and paste sensitive information into the chat. -> [!Note] -> - Copilot in Windows is currently available as a preview. We will continue to experiment with new ideas and methods using your feedback. -> - Copilot in Windows (in preview) is available in select global markets and will be rolled out to additional markets over time. [Learn more](https://www.microsoft.com/windows/copilot-ai-features#faq). ## Configure Copilot in Windows for commercial environments At a high level, managing and configuring Copilot in Windows for your organization involves the following steps: +> [!Note] +> - Copilot in Windows is currently available as a preview. We will continue to experiment with new ideas and methods using your feedback. +> - Copilot in Windows (in preview) is available in select global markets and will be rolled out to additional markets over time. [Learn more](https://www.microsoft.com/windows/copilot-ai-features#faq). + 1. Understand the [available chat provider platforms for Copilot in Windows](#chat-provider-platforms-for-copilot-in-windows) 1. [Configure the chat provider platform](#configure-the-chat-provider-platform-that-copilot-in-windows-uses) used by Copilot in Windows 1. Ensure the [Copilot in Windows user experience](#ensure-the-copilot-in-windows-user-experience-is-enabled) is enabled From f5c9e93e03c80445ce26e307b40404388c2c8382 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:09:05 -0700 Subject: [PATCH 045/354] manage=cpw-note-pwa --- windows/client-management/manage-windows-copilot.md | 2 +- windows/client-management/mdm/policy-csp-windowsai.md | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index cdfa61e0a3..0dca7cc8aa 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -19,7 +19,7 @@ appliesto: >**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0). > [!Note] -> - This article along with the [TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) policy listed isn't for the [new Copilot experience](https://blogs.windows.com/windows-insider/2024/05/31/announcing-windows-11-insider-preview-build-26120-751-dev-channel/) that is currently in some Windows Insider builds such as [Windows 11, version 24H2 in the Release Preview channel](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/). +> - This article along with the [TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) policy listed isn't for the [new Copilot experience](https://blogs.windows.com/windows-insider/2024/05/31/announcing-windows-11-insider-preview-build-26120-751-dev-channel/) that is currently in some Windows Insider builds such as [Windows 11, version 24H2 in the Release Preview channel](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/). Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar docked on the Windows desktop and is designed to help users get things done in Windows. Copilot in Windows can perform common tasks in Windows like changing Windows settings, which makes it different from the browser-based [Copilot in Edge](/copilot/edge). However, both user experiences, Copilot in Windows and Copilot in Edge, can share the same underlying chat provider platform. It's important for organizations to properly configure the chat provider platform that Copilot in Windows uses, since it's possible for users to copy and paste sensitive information into the chat. diff --git a/windows/client-management/mdm/policy-csp-windowsai.md b/windows/client-management/mdm/policy-csp-windowsai.md index cf79d817d1..38ad01c865 100644 --- a/windows/client-management/mdm/policy-csp-windowsai.md +++ b/windows/client-management/mdm/policy-csp-windowsai.md @@ -164,6 +164,9 @@ This policy setting allows you to turn off Windows Copilot. + +> [!Note] +> - The TurnOffWindowsCopilot policy listed isn't for the [new Copilot experience](https://blogs.windows.com/windows-insider/2024/05/31/announcing-windows-11-insider-preview-build-26120-751-dev-channel/) that is currently in some Windows Insider builds such as [Windows 11, version 24H2 in the Release Preview channel](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/). From 77cf796b8084f146467df02474ed14b4915c0093 Mon Sep 17 00:00:00 2001 From: mikolding Date: Wed, 12 Jun 2024 17:07:17 -0700 Subject: [PATCH 046/354] Learn Editor: Update updatemanagedvsupdateunmanageddevices.md --- windows/deployment/TOC.yml | 2 + .../updatemanagedvsupdateunmanageddevices.md | 143 ++++++++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 windows/deployment/update/updatemanagedvsupdateunmanageddevices.md diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index f9b8d24681..5daf2b7ae1 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -13,6 +13,8 @@ href: update/release-cycle.md - name: Basics of Windows updates, channels, and tools href: update/get-started-updates-channels-tools.md + - name: Defining Windows Update managed and Windows Update unmanaged devices + href: ./update/updatemanagedvsupdateunmanageddevices.md - name: Prepare servicing strategy for Windows client updates href: update/waas-servicing-strategy-windows-10-updates.md - name: Deployment proof of concept diff --git a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md new file mode 100644 index 0000000000..da212512ce --- /dev/null +++ b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md @@ -0,0 +1,143 @@ +--- +# Required metadata +# For more information, see https://review.learn.microsoft.com/en-us/help/platform/learn-editor-add-metadata?branch=main +# For valid values of ms.service, ms.prod, and ms.topic, see https://review.learn.microsoft.com/en-us/help/platform/metadata-taxonomies?branch=main + +title: # Add a title for the browser tab +description: # Add a meaningful description for search results +author: mikolding # GitHub alias +ms.author: v-mikolding # Microsoft alias +ms.service: # Add the ms.service or ms.prod value +# ms.prod: # To use ms.prod, uncomment it and delete ms.service +ms.topic: # Add the ms.topic value +ms.date: 06/12/2024 +--- + +# Update-managed vs Update-unmanaged devices + +--- +title: "Managing Windows Updates: IT Managed vs. Unmanaged Devices" +--- + +**Request title**: Defining Windows Update managed and Windows Update unmanaged devices + +**Generated text**: + +------------------------------------------------------------------------ + +--- +title: "Defining Windows Update managed and Windows Update unmanaged devices" +description: +author: +ms.author: v-mikolding +manager: +ms.date: 06/05/2024 +ms.topic: +ms.service: windows-client +ms.subservice: +ms.localizationpriority: +ms.collection: +ms.custom: QuickDraft +ms.reviewer: thtrombl;arcarley;royork;sumitav;kerick;maferr;v-fvalentyna +search.appverid: MET150 +f1.keywords: +audience: +ai-usage: +- ai-assisted +--- + +\`\`\`html + +# Managing Windows Updates: IT Managed vs. Unmanaged Devices + +For IT administrators, understanding the differences between managed and unmanaged devices is crucial for effective Windows update management. This article provides clarity on the terminology and practices involved in managing Windows updates for both types of devices. + +## What are Update-Managed Windows Devices? + +Update-managed devices are those where an IT administrator or organization controls Windows updates through a management tool (such as Microsoft Intune) or by directly setting policies (for example, Group Policy (GPO), Configuration Service Provider (CSP) policy, or Graph). + +**Note:** This is true even if you directly set registry keys, although this is not recommended as registry keys can be easily overwritten. + +Managed devices can include desktops, laptops, tablets, servers, and manufacturing equipment. These devices are secured and configured according to your organization's standards and policies. + +### IT-Managed: Windows Update Offering + +Devices are considered Windows update-managed if you manage the update offering in the following ways: + +- Configuring policies to manage which updates are offered to the specific device. +- Setting when your organization should receive feature, quality, and driver updates, among others. +- Using Group Policy (GP), Cloud Solution Provider (CSP), or Graph to configure these offerings. + +### IT-Managed: Windows Update Experience + +Devices are considered Windows update-managed if you use policies (GP, CSP, or Graph) to manage device behavior when taking Windows updates. + +Examples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at [Update Policy CSP - Windows Client Management](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update). + +## Examples of Update-Managed Windows Devices + +Here are a few examples of update-managed devices: + +- **Company-owned devices:** Devices provisioned by your IT department with corporate credentials, configurations, and policies. +- **Employee-owned devices in BYOD programs:** Personally owned devices enrolled in the company's device management system to securely access corporate resources. +- **Devices managed through Windows Autopilot:** Devices set up and preconfigured to be business-ready right out of the box. +- **Mandated security settings:** Devices with health requirements such as device encryption, PIN or strong password, specific inactivity timeout periods, and up-to-date operating systems. +- **Intune-enrolled devices:** Devices enrolled in Microsoft Intune for network access and enforced security policies. +- **Third-party managed devices:** Devices enrolled in third-party management tools with configured Windows update policies via GPO, CSP, or registry key. + +## What are Update-Unmanaged Windows Devices? + +Unlike update-managed devices, unmanaged devices are not controlled through policies, management tools, or software. These devices aren't enrolled in tools like Microsoft Intune or Configuration Manager. If you only configure the Settings page to control overall device behavior when taking updates, it is considered an unmanaged device. + +**Note:** The term "Microsoft managed devices" used to refer to what we now call "update unmanaged Windows devices." Based on feedback, we have updated our terminology for clarity. + +## Examples of Update-Unmanaged Windows Devices + +Examples of update-unmanaged devices include: + +- **Personal devices:** Devices owned by individuals at your organization that are not enrolled in any corporate management system. +- **BYOD devices not enrolled in management programs:** Devices used for work but not part of an organizational BYOD program. +- **Peripheral devices:** Devices like printers, IP phones, and uninterruptible power supplies (UPS) that cannot accept centrally managed administrative credentials. + +For more information on managed and unmanaged devices, check out [Secure managed and unmanaged devices](https://docs.microsoft.com/mem/intune/protect/protect-devices). + +## Recommendations + +| SEO Keywords | Suggested Additions | Links to Update | Issues/Concerns | +|-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------| +| Windows update management, IT managed devices, unmanaged devices, Windows updates, Intune managed devices | Add detailed steps for configuring GPO, CSP, and Graph policies for managing updates | [Update Policy CSP - Windows Client Management](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update), [Secure managed and unmanaged devices](https://docs.microsoft.com/mem/intune/protect/protect-devices) | Ensure all links are up to date and point to the correct resources | + +\`\`\` +\*\*Customer Intent for this Article:\*\* Understand the differences between IT-managed and unmanaged Windows devices to better manage Windows updates. + +------------------------------------------------------------------------ + +**Acrolinx score**: **82** + +**Acrolinx correctness score**: 89 + +**Acrolinx scorecard** (Acrolinx account required): https://microsoft-ce-csi-qa.acrolinx.cloud/api/v1/checking/scorecards/d9ad0ab8-ffa3-4af1-a7c7-00cbb71a4d52 + +------------------------------------------------------------------------ + +**Reviewers**: thtrombl;arcarley;royork;sumitav;kerick;maferr;v-fvalentyna + +**Key dates**: + +------------------------------------------------------------------------ + +**Audience**: Admin + +**Product**: Windows 10/11 + +**Article should cover the following**: Windows Update IT Managed = there are policies (GP, CSP, or Graph) configured on the device to manage update offering and/or experience. \nWindows Update Offering IT Managed = there are policies configured (GP, CSP, or Graph) to manage when/which feature, quality, driver, etc. updates are offered to the device. \nWindows Update Experience IT Managed = there are policies configured (GP, CSP, or Graph) to manage device behavior when taking Windows updates. \nWindows Update Non-IT Managed (Unmanaged) = no policies configured to control which updates are offered or the device behavior when taking updates outside of configuring the Settings page. + +**How this article will help customers**: It’s all about managing Windows updates. Get clarity on terminology for managed and unmanaged Windows devices. + +**Submitted by**: v-mikolding@microsoft.com + +**Spec**: Update managed Windows devices \n\n \n\nAll organizational devices fall into two categories: they are either considered managed or unmanaged. The distinction is especially important when it comes to Windows features, updates, and rollouts. \n\n  \n\nFirst, let’s define managed and unmanaged devices in terms of Windows update management. A few examples of these device categories will help you identify your scenarios. These will serve as the basis for future communications as we update existing content in the coming weeks. \n\n \n\nNote: Windows updates are those that affect the Windows operating system and its components: Windows quality updates, Windows feature updates, and .NET updates. See Windows monthly updates explained. Office and other applications have different management mechanisms. \n\n \n\nWhat are update-managed Windows devices? \n\nWe define an update managed device based on Windows Update management. Windows devices are update managed if an IT administrator or an organization controls the updates for Windows via a management tool (such as Microsoft Intune) or by directly setting policies (for example, Group Policy (GPO), Configuration Service Provider (CSP) policy, or Graph). \n\n \n\nNote: This is true even if you directly set registry keys. However, this is not recommended given that registry keys can be easily overwritten. \n\n \n\n \n\nManaged devices can range from desktops, laptops, and tablets, to servers and manufacturing equipment. You secure and configure them according to your organization’s standards and policies. \n\n \n\nFurther, there are two categories of Windows update managed devices, based on whether you manage the offering or the experience of Windows updates. \n\n  \n\nIT-managed: Windows update offering \n\nYour devices are Windows update-managed if you manage update offering in all the following ways: \n\nYou configure policies to manage which updates are offered to the specific device. \n\nYou set when your organization should receive feature, quality, and driver updates, among others. \n\nYou use Group Policy (GP), Cloud Solution Provider (CSP), or Graph to configure these offerings. \n\n \n\nIT-managed: Windows update experience \n\nYour devices are Windows update-managed if you use policies (GP, CSP, or Graph) to manage device behavior when taking Windows updates.  \n\n \n\nExamples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at Update Policy CSP - Windows Client Management. \n\n \n\nInserting image... \n\n  \n\nExamples of update managed Windows devices \n\nHere are a few examples of an update managed device: \n\n  \n\nCompany-owned devices: If your IT department provisions devices, they are typically managed devices. You’d often provision these with specific corporate credentials, configurations, and policies for security and manageability. \n\nEmployee-owned devices enrolled in Bring-Your-Own-Device (BYOD) programs: Do you enroll any personally owned devices in the company’s device management system? You’d do this to help these employees access corporate resources securely. The device must adhere to Terms of Use for corporate and personally owned devices connecting to corporate resources. In that scenario, these devices are considered managed. \n\nDevices managed through Windows Autopilot: This tool allows you to set up and preconfigure new devices, making them business-ready right out of the box. If you use Autopilot for any devices, they’re managed. \n\nMandated security settings: Managed devices might include health requirements, such as device encryption, a PIN or strong password, a specific inactivity timeout period, and up-to-date operating systems with enabled auto-updates. \n\nIntune enrolled devices: Devices enrolled in Microsoft Intune are considered managed. Intune allows them to access the company network and enforces device encryption, PIN/password requirements, and specific inactivity timeout periods. \n\nThird-party managed devices: Devices enrolled into third-party management tooling are considered managed if you configure Windows update policies via GPO, CSP, or registry key. Specifically, you configure these devices to point them to a local Windows Server Update Services (WSUS), disable access to Windows Update (WU), or manage which Windows updates are offered. \n\nWhat are update-unmanaged Windows devices? \n\nUnlike update-managed devices, you don’t control unmanaged Windows devices through policies, management tools, or software. \n\nThese devices aren’t enrolled in tools like Microsoft Intune or Configuration Manager. \n\nYou don’t configure policies to control Windows update offerings or experience for these devices. \n\nIf all you do is configure the Settings page to control overall device behavior when taking updates, it’s an unmanaged device. \n\n \n\nNote: If you’ve seen the term “Microsoft managed devices,” it used to refer to what we now call “update unmanaged Windows devices.” Based on your feedback, we’ll update existing content with these more informative definitions to drive clarity. \n\nExamples of Windows update unmanaged devices \n\nExamples of update unmanaged devices include: \n\n  \n\nPersonal devices: If some individuals at your organization own a device that is not enrolled in any corporate management system, it’s an unmanaged device. It wouldn’t have any security configurations and policies that you typically apply for your organization. \n\nBYOD devices not enrolled in management programs: BYOD programs are characterized by management policies. So, if there are devices that aren’t part of an organizational BYOD program, they remain unmanaged even if used for work. \n\nPeripheral devices: Printers, IP phones, and uninterruptible power supplies (UPS) often don’t accept centrally managed administrative credentials. Therefore, they cannot have management agents installed on them, leaving them unmanaged. \n\n \n\nThank you for your feedback in helping us drive clarity into content and definitions. We’ll be updating existing content across Microsoft pages to reflect these definitions. For more information on managed and unmanaged devices, check out Secure managed and unmanaged devices. + +**Run ID**: 3557dc16-a3ef-4007-8f20-8d929b2c29f1 + +**Session ID**: e46f3c4d-8c88-4605-9d63-4f325db41925 From 7df56d8c6f83dcda3e8c2277c8e44573b2b52ae8 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 13 Jun 2024 12:21:57 -0700 Subject: [PATCH 048/354] manage-CPW --- windows/client-management/manage-windows-copilot.md | 4 ++-- windows/client-management/mdm/policy-csp-windowsai.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/client-management/manage-windows-copilot.md b/windows/client-management/manage-windows-copilot.md index 0dca7cc8aa..46d7c8c8dc 100644 --- a/windows/client-management/manage-windows-copilot.md +++ b/windows/client-management/manage-windows-copilot.md @@ -3,7 +3,7 @@ title: Manage Copilot in Windows description: Learn how to manage Copilot in Windows for commercial environments using MDM and group policy. Learn about the chat providers available to Copilot in Windows. ms.topic: how-to ms.subservice: windows-copilot -ms.date: 06/12/2024 +ms.date: 06/13/2024 ms.author: mstewart author: mestew ms.collection: @@ -19,7 +19,7 @@ appliesto: >**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0). > [!Note] -> - This article along with the [TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) policy listed isn't for the [new Copilot experience](https://blogs.windows.com/windows-insider/2024/05/31/announcing-windows-11-insider-preview-build-26120-751-dev-channel/) that is currently in some Windows Insider builds such as [Windows 11, version 24H2 in the Release Preview channel](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/). +> - This article and the [TurnOffWindowsCopilot](mdm/policy-csp-windowsai.md#turnoffwindowscopilot) policy isn't for the [new Copilot experience](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-copilot-in-windows-for-your-workforce/ba-p/4141999) that's in some [Windows Insider builds](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/) and that will be gradually rolling out to Windows 11 and Windows 10 devices. Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar docked on the Windows desktop and is designed to help users get things done in Windows. Copilot in Windows can perform common tasks in Windows like changing Windows settings, which makes it different from the browser-based [Copilot in Edge](/copilot/edge). However, both user experiences, Copilot in Windows and Copilot in Edge, can share the same underlying chat provider platform. It's important for organizations to properly configure the chat provider platform that Copilot in Windows uses, since it's possible for users to copy and paste sensitive information into the chat. diff --git a/windows/client-management/mdm/policy-csp-windowsai.md b/windows/client-management/mdm/policy-csp-windowsai.md index 38ad01c865..85b838a4c2 100644 --- a/windows/client-management/mdm/policy-csp-windowsai.md +++ b/windows/client-management/mdm/policy-csp-windowsai.md @@ -1,7 +1,7 @@ --- title: WindowsAI Policy CSP description: Learn more about the WindowsAI Area in Policy CSP. -ms.date: 05/20/2024 +ms.date: 06/13/2024 --- @@ -166,7 +166,7 @@ This policy setting allows you to turn off Windows Copilot. > [!Note] -> - The TurnOffWindowsCopilot policy listed isn't for the [new Copilot experience](https://blogs.windows.com/windows-insider/2024/05/31/announcing-windows-11-insider-preview-build-26120-751-dev-channel/) that is currently in some Windows Insider builds such as [Windows 11, version 24H2 in the Release Preview channel](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/). +> - The TurnOffWindowsCopilot policy isn't for the [new Copilot experience](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/evolving-copilot-in-windows-for-your-workforce/ba-p/4141999) that's in some [Windows Insider builds](https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/) and that will be gradually rolling out to Windows 11 and Windows 10 devices. From 90919fda244728014069405fdfec0b1629ed0a59 Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Thu, 13 Jun 2024 12:28:01 -0700 Subject: [PATCH 049/354] Update media-dynamic-update.md Changes to introduce checkpoint cumulative update. --- windows/deployment/update/media-dynamic-update.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index baae39d605..7ddf8d7fa0 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -13,7 +13,7 @@ appliesto: - ✅ Windows 11 - ✅ Windows 10 - ✅ Windows Server -ms.date: 12/05/2023 +ms.date: 06/20/2024 --- # Update Windows installation media with Dynamic Update @@ -38,10 +38,10 @@ Devices must be able to connect to the internet to obtain Dynamic Updates. In so ## Acquire Dynamic Update packages -You can obtain Dynamic Update packages from the [Microsoft Update Catalog](https://catalog.update.microsoft.com). At that site, use the search bar in the upper right to find the Dynamic Update packages for a particular release. The various Dynamic Update packages might not all be present in the results from a single search, so you might have to search with different keywords to find all of the updates. Check various parts of the results to be sure you've identified the needed files. The following tables show the key values to search for or look for in the results. +You can obtain Dynamic Update packages from the [Microsoft Update Catalog](https://catalog.update.microsoft.com). At that site, use the search bar in the upper right to find the Dynamic Update packages for a particular release. The various Dynamic Update packages might not all be present in the results from a single search, so you might have to search with different keywords to find all of the updates. Check various parts of the results to be sure you've identified the files needed. The following tables show the key values to search for or look for in the results. ### Windows 11, version 22H2 Dynamic Update packages -**Title** can distinguish each Dynamic Package. Cumulative updates have the servicing stack embedded. The servicing stack is published only if necessary for a given cumulative update. +**Title** can distinguish each Dynamic Package. Latest cumulative updates have the servicing stack embedded. The servicing stack is published only if necessary for a given cumulative update. | Update packages |Title | |-----------------------------------|---------------------------------------------------------------| @@ -75,7 +75,7 @@ If you want to customize the image with additional languages or Features on Dema ## Update Windows installation media -Properly updating the installation media involves a large number of actions operating on several different targets (image files). Some actions are repeated on different targets. The target images files include: +Properly updating the installation media involves many actions operating on several different targets (image files). Some actions are repeated on different targets. The target images files include: - Windows Preinstallation Environment (WinPE): a small operating system used to install, deploy, and repair Windows operating systems - Windows Recovery Environment (WinRE): repairs common causes of unbootable operating systems. WinRE is based on WinPE and can be customized with additional drivers, languages, optional packages, and other troubleshooting or diagnostic tools. @@ -119,6 +119,13 @@ You don't have to add more languages and features to the image to accomplish the Optional Components, along with the .NET feature, can be installed offline, however doing so creates pending operations that require the device to restart. As a result, the call to perform image cleanup would fail. There are two options to avoid the cleanup failure. One option is to skip the image cleanup step, though that results in a larger install.wim. Another option is to install the .NET and Optional Components in a step after cleanup but before export. This is the option in the sample script. By doing this, you'll have to start with the original install.wim (with no pending actions) when you maintain or update the image the next time (for example, the next month). + +### Checkpoint cumulative updates +Starting with Windows 11, version 24H2, the latest cumulative update may have a prerequisite cumulative update that is required to be installed first. These are known as checkpoint cumulative updates. In these cases, the cumulative update file level differentials are based on a previous cumulative update instead of the Windows RTM release. The benefit is a smaller update package and faster installation. + +To install the checkpoint(s) when servicing the Windows OS (steps 9 & 12) and WinPE (steps 17 & 23), call Add-WindowsPackage with the target cumulative update. The folder from PackagePath will be used to discover and install one or more checkpoints as needed. Only .MSU packages with a revision <= the target cumulative update will be processed. If you are not customizing the image with additional languages and/or optional features, then separate calls to Add-WindowsPackage (checkpoint cumulative updates first) can be used for steps 9 & 17 above. Separate calls cannot be used for steps 12 and 23. + + ## Windows PowerShell scripts to apply Dynamic Updates to an existing image These examples are for illustration only, and therefore lack error handling. The script assumes that the following packages are stored locally in this folder structure: From b3be6aefb8eba5f30e1975f1e0e723200081275b Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 13 Jun 2024 12:45:22 -0700 Subject: [PATCH 050/354] Update punctuation in smartscreen endpoint references Add "." after "*" to make consistent with other articles --- windows/privacy/manage-windows-11-endpoints.md | 2 +- windows/privacy/manage-windows-1903-endpoints.md | 2 +- windows/privacy/manage-windows-1909-endpoints.md | 2 +- windows/privacy/manage-windows-2004-endpoints.md | 4 ++-- windows/privacy/manage-windows-20H2-endpoints.md | 2 +- windows/privacy/manage-windows-21H1-endpoints.md | 2 +- windows/privacy/manage-windows-21h2-endpoints.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/windows/privacy/manage-windows-11-endpoints.md b/windows/privacy/manage-windows-11-endpoints.md index 17c75eb970..bc67c5abe7 100644 --- a/windows/privacy/manage-windows-11-endpoints.md +++ b/windows/privacy/manage-windows-11-endpoints.md @@ -101,7 +101,7 @@ To view endpoints for non-Enterprise Windows 11 editions, see [Windows 11 connec ||The following endpoint is used for Microsoft accounts to sign in. If you turn off traffic for these endpoints, users can't sign in with Microsoft accounts. |TLSv1.2/HTTPS/HTTP|login.live.com| |Microsoft Defender Antivirus|||[Learn how to turn off traffic to all of the following endpoint(s) for Microsoft Defender Antivirus.](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| ||The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.|TLSv1.2/HTTPS|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*smartscreen-prod.microsoft.com| +||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| |||HTTPS/HTTP|checkappexec.microsoft.com| |||TLSv1.2/HTTP|ping-edge.smartscreen.microsoft.com| |||HTTP|data-edge.smartscreen.microsoft.com| diff --git a/windows/privacy/manage-windows-1903-endpoints.md b/windows/privacy/manage-windows-1903-endpoints.md index f1f01ca287..4ac562a487 100644 --- a/windows/privacy/manage-windows-1903-endpoints.md +++ b/windows/privacy/manage-windows-1903-endpoints.md @@ -147,7 +147,7 @@ The following methodology was used to derive these network endpoints: |||HTTPS|wdcp.microsoft.com| |||HTTPS|definitionupdates.microsoft.com| |||HTTPS|go.microsoft.com| -||The following endpoints are used for Windows Defender Smartscreen reporting and notifications. If you turn off traffic for these endpoints, Smartscreen notifications won't appear.|HTTPS|*smartscreen.microsoft.com| +||The following endpoints are used for Windows Defender Smartscreen reporting and notifications. If you turn off traffic for these endpoints, Smartscreen notifications won't appear.|HTTPS|*.smartscreen.microsoft.com| |||HTTPS|smartscreen-sn3p.smartscreen.microsoft.com| |||HTTPS|unitedstates.smartscreen-prod.microsoft.com| |Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| diff --git a/windows/privacy/manage-windows-1909-endpoints.md b/windows/privacy/manage-windows-1909-endpoints.md index 3e1a8148e2..29a794c18b 100644 --- a/windows/privacy/manage-windows-1909-endpoints.md +++ b/windows/privacy/manage-windows-1909-endpoints.md @@ -100,7 +100,7 @@ The following methodology was used to derive these network endpoints: |||HTTPS|config.teams.microsoft.com| |Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| |||HTTPS/TLS v1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS/TLS v1.2|*smartscreen-prod.microsoft.com| +||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS/TLS v1.2|*.smartscreen-prod.microsoft.com| |||HTTPS|checkappexec.microsoft.com| |Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| |||HTTPS/TLS v1.2|arc.msn.com| diff --git a/windows/privacy/manage-windows-2004-endpoints.md b/windows/privacy/manage-windows-2004-endpoints.md index 31541d49e0..f9101f343c 100644 --- a/windows/privacy/manage-windows-2004-endpoints.md +++ b/windows/privacy/manage-windows-2004-endpoints.md @@ -97,8 +97,8 @@ The following methodology was used to derive these network endpoints: |Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| |||TLSv1.2|wdcp.microsoft.com| |||HTTPS|go.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*smartscreen-prod.microsoft.com| -|||HTTPS|*smartscreen.microsoft.com | +||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| +|||HTTPS|*.smartscreen.microsoft.com | |||HTTPS|checkappexec.microsoft.com| |Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| |||TLSv1.2|arc.msn.com| diff --git a/windows/privacy/manage-windows-20H2-endpoints.md b/windows/privacy/manage-windows-20H2-endpoints.md index 24cc4f16d4..2c635eb019 100644 --- a/windows/privacy/manage-windows-20H2-endpoints.md +++ b/windows/privacy/manage-windows-20H2-endpoints.md @@ -110,7 +110,7 @@ The following methodology was used to derive these network endpoints: |||TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| |Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| |||HTTPS/TLSv1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*smartscreen-prod.microsoft.com| +||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| |||HTTPS/HTTP|checkappexec.microsoft.com| |Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| |||TLSv1.2/HTTPS/HTTP|arc.msn.com| diff --git a/windows/privacy/manage-windows-21H1-endpoints.md b/windows/privacy/manage-windows-21H1-endpoints.md index 3e0d4e7336..ad7ef8acb4 100644 --- a/windows/privacy/manage-windows-21H1-endpoints.md +++ b/windows/privacy/manage-windows-21H1-endpoints.md @@ -110,7 +110,7 @@ The following methodology was used to derive these network endpoints: |||TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| |Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| |||HTTPS/TLSv1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*smartscreen-prod.microsoft.com| +||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| |||HTTPS/HTTP|checkappexec.microsoft.com| |Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| |||TLSv1.2/HTTPS/HTTP|arc.msn.com| diff --git a/windows/privacy/manage-windows-21h2-endpoints.md b/windows/privacy/manage-windows-21h2-endpoints.md index 458536998a..1ad4793f0a 100644 --- a/windows/privacy/manage-windows-21h2-endpoints.md +++ b/windows/privacy/manage-windows-21h2-endpoints.md @@ -108,7 +108,7 @@ The following methodology was used to derive these network endpoints: |||TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| |Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| |||HTTPS/TLSv1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*smartscreen-prod.microsoft.com| +||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| |||HTTPS/HTTP|checkappexec.microsoft.com| |Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| |||TLSv1.2/HTTPS/HTTP|arc.msn.com| From ef06a8e095b34287b798aa9eefe1ba3736ab0be1 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 13 Jun 2024 12:55:22 -0700 Subject: [PATCH 051/354] Update punctuation in displaycard endpoint references Add "*" for consistency across articles --- windows/privacy/manage-windows-11-endpoints.md | 2 +- windows/privacy/manage-windows-1909-endpoints.md | 2 +- windows/privacy/manage-windows-20H2-endpoints.md | 2 +- windows/privacy/manage-windows-21H1-endpoints.md | 2 +- windows/privacy/manage-windows-21h2-endpoints.md | 2 +- .../windows-endpoints-1909-non-enterprise-editions.md | 6 +++--- .../windows-endpoints-2004-non-enterprise-editions.md | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/windows/privacy/manage-windows-11-endpoints.md b/windows/privacy/manage-windows-11-endpoints.md index bc67c5abe7..7c41ff3d2a 100644 --- a/windows/privacy/manage-windows-11-endpoints.md +++ b/windows/privacy/manage-windows-11-endpoints.md @@ -119,7 +119,7 @@ To view endpoints for non-Enterprise Windows 11 editions, see [Windows 11 connec ||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2/HTTPS|*.wns.windows.com| ||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|displaycatalog.mp.microsoft.com| +||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| |||HTTP|share.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| |Microsoft To Do|||[Learn how to turn off traffic to all of the following endpoint(s) for Microsoft To Do.](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| diff --git a/windows/privacy/manage-windows-1909-endpoints.md b/windows/privacy/manage-windows-1909-endpoints.md index 29a794c18b..033748df75 100644 --- a/windows/privacy/manage-windows-1909-endpoints.md +++ b/windows/privacy/manage-windows-1909-endpoints.md @@ -78,7 +78,7 @@ The following methodology was used to derive these network endpoints: ||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLS v1.2|1storecatalogrevocation.storequality.microsoft.com| |||HTTPS|storecatalogrevocation.storequality.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|HTTPS|displaycatalog.mp.microsoft.com/*| +||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|HTTPS|*displaycatalog.mp.microsoft.com/*| |Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| ||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTP|www.msftconnecttest.com*| |Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| diff --git a/windows/privacy/manage-windows-20H2-endpoints.md b/windows/privacy/manage-windows-20H2-endpoints.md index 2c635eb019..8ae07104f4 100644 --- a/windows/privacy/manage-windows-20H2-endpoints.md +++ b/windows/privacy/manage-windows-20H2-endpoints.md @@ -85,7 +85,7 @@ The following methodology was used to derive these network endpoints: ||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2/HTTPS|*.wns.windows.com| ||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|displaycatalog.mp.microsoft.com| +||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| |||HTTP|share.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| |Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| diff --git a/windows/privacy/manage-windows-21H1-endpoints.md b/windows/privacy/manage-windows-21H1-endpoints.md index ad7ef8acb4..0d0e1bd833 100644 --- a/windows/privacy/manage-windows-21H1-endpoints.md +++ b/windows/privacy/manage-windows-21H1-endpoints.md @@ -85,7 +85,7 @@ The following methodology was used to derive these network endpoints: ||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2/HTTPS|*.wns.windows.com| ||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|displaycatalog.mp.microsoft.com| +||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| |||HTTP|share.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| |Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| diff --git a/windows/privacy/manage-windows-21h2-endpoints.md b/windows/privacy/manage-windows-21h2-endpoints.md index 1ad4793f0a..029867e536 100644 --- a/windows/privacy/manage-windows-21h2-endpoints.md +++ b/windows/privacy/manage-windows-21h2-endpoints.md @@ -83,7 +83,7 @@ The following methodology was used to derive these network endpoints: ||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2/HTTPS|*.wns.windows.com| ||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|displaycatalog.mp.microsoft.com| +||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| |||HTTP|share.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| |Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| diff --git a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md index 25290f4d99..f62bc8e598 100644 --- a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md @@ -48,7 +48,7 @@ The following methodology was used to derive the network endpoints: |config.teams.microsoft.com|HTTPS|Used for Microsoft Teams application |*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store |*.tlu.dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store -|displaycatalog.mp.microsoft.com/*|HTTP/TLS v1.2|Used to communicate with Microsoft Store +|\*displaycatalog.mp.microsoft.com/*|HTTP/TLS v1.2|Used to communicate with Microsoft Store |evoke-windowsservices-tas.msedge.net|HTTP/TLS v1.2|Used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser |fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Enables connections to Windows Update, Microsoft Update, and the online services of the Store |fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Used to download operating system patches, updates, and apps from Microsoft Store @@ -115,7 +115,7 @@ The following methodology was used to derive the network endpoints: |config.edge.skype.com|HTTP/TLS v1.2|Used to retrieve Skype configuration values |config.teams.microsoft.com|HTTPS|Used for Microsoft Teams application |ctldl.windowsupdate.com|HTTP|Used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available -|displaycatalog.mp.microsoft.com*|HTTP/TLS v1.2|Microsoft Store +|\*displaycatalog.mp.microsoft.com*|HTTP/TLS v1.2|Microsoft Store |fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update |fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Windows Update |slscr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update @@ -176,7 +176,7 @@ The following methodology was used to derive the network endpoints: |fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Windows Update |tsfe.trafficshaping.dsp.mp.microsoft.com|HTTP/TLS v1.2|Windows Update |officehomeblobs.blob.core.windows.net|HTTP|Windows Telemetry -|displaycatalog.mp.microsoft.com/*|HTTP/TLS v1.2|Microsoft Store +|\*displaycatalog.mp.microsoft.com/*|HTTP/TLS v1.2|Microsoft Store |img-prod-cms-rt-microsoft-com.akamaized.net|HTTP|Used to communicate with Microsoft Store |config.teams.microsoft.com|HTTPS|Teams |api.asm.skype.com|TLS v1.2|Used to retrieve Skype configuration values diff --git a/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md b/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md index 2f3dc02c9e..bfe4a21c48 100644 --- a/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md @@ -54,7 +54,7 @@ The following methodology was used to derive the network endpoints: |crl.microsoft.com|HTTPS|Skype |ctldl.windowsupdate.com|HTTP|Certificate Trust List |da.xboxservices.com|HTTPS|Microsoft Edge -|displaycatalog.mp.microsoft.com|HTTPS|Microsoft Store +|*displaycatalog.mp.microsoft.com|HTTPS|Microsoft Store |dmd.metaservices.microsoft.com|HTTP|Device Authentication |evoke-windowsservices-tas.msedge.net|TLSv1.2|Photos app |fs.microsoft.com|TLSv1.2|Maps application @@ -109,7 +109,7 @@ The following methodology was used to derive the network endpoints: |ctldl.windowsupdate.com|HTTP|Certificate Trust List |d2i2wahzwrm1n5.cloudfront.net|HTTPS|Microsoft Edge |da.xboxservices.com|HTTPS|Microsoft Edge -|displaycatalog.mp.microsoft.com|HTTPS|Microsoft Store +|*displaycatalog.mp.microsoft.com|HTTPS|Microsoft Store |dlassets-ssl.xboxlive.com|HTTPS|Xbox Live |dmd.metaservices.microsoft.com|HTTP|Device Authentication |evoke-windowsservices-tas.msedge.net|TLSv1.2|Photos app From 20920f36e242c5a4fece4ab70ce1b9045ec0cdc3 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:02:52 -0700 Subject: [PATCH 052/354] Fix formatting --- windows/privacy/manage-windows-1909-endpoints.md | 2 +- .../privacy/windows-endpoints-1909-non-enterprise-editions.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/privacy/manage-windows-1909-endpoints.md b/windows/privacy/manage-windows-1909-endpoints.md index 033748df75..7e47f156a7 100644 --- a/windows/privacy/manage-windows-1909-endpoints.md +++ b/windows/privacy/manage-windows-1909-endpoints.md @@ -78,7 +78,7 @@ The following methodology was used to derive these network endpoints: ||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLS v1.2|1storecatalogrevocation.storequality.microsoft.com| |||HTTPS|storecatalogrevocation.storequality.microsoft.com| ||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|HTTPS|*displaycatalog.mp.microsoft.com/*| +||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|HTTPS|*displaycatalog.mp.microsoft.com| |Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| ||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTP|www.msftconnecttest.com*| |Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| diff --git a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md index f62bc8e598..8b479a788b 100644 --- a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md @@ -48,7 +48,7 @@ The following methodology was used to derive the network endpoints: |config.teams.microsoft.com|HTTPS|Used for Microsoft Teams application |*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store |*.tlu.dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store -|\*displaycatalog.mp.microsoft.com/*|HTTP/TLS v1.2|Used to communicate with Microsoft Store +|\*displaycatalog.mp.microsoft.com|HTTP/TLS v1.2|Used to communicate with Microsoft Store |evoke-windowsservices-tas.msedge.net|HTTP/TLS v1.2|Used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser |fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Enables connections to Windows Update, Microsoft Update, and the online services of the Store |fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Used to download operating system patches, updates, and apps from Microsoft Store @@ -176,7 +176,7 @@ The following methodology was used to derive the network endpoints: |fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Windows Update |tsfe.trafficshaping.dsp.mp.microsoft.com|HTTP/TLS v1.2|Windows Update |officehomeblobs.blob.core.windows.net|HTTP|Windows Telemetry -|\*displaycatalog.mp.microsoft.com/*|HTTP/TLS v1.2|Microsoft Store +|\*displaycatalog.mp.microsoft.com|HTTP/TLS v1.2|Microsoft Store |img-prod-cms-rt-microsoft-com.akamaized.net|HTTP|Used to communicate with Microsoft Store |config.teams.microsoft.com|HTTPS|Teams |api.asm.skype.com|TLS v1.2|Used to retrieve Skype configuration values From fce9641e06130d4e467cc9f9d5cd33710beb1063 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:08:39 -0700 Subject: [PATCH 053/354] Remove extra "*" --- .../privacy/windows-endpoints-1909-non-enterprise-editions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md index 8b479a788b..90d651940c 100644 --- a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md @@ -115,7 +115,7 @@ The following methodology was used to derive the network endpoints: |config.edge.skype.com|HTTP/TLS v1.2|Used to retrieve Skype configuration values |config.teams.microsoft.com|HTTPS|Used for Microsoft Teams application |ctldl.windowsupdate.com|HTTP|Used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available -|\*displaycatalog.mp.microsoft.com*|HTTP/TLS v1.2|Microsoft Store +|*displaycatalog.mp.microsoft.com|HTTP/TLS v1.2|Microsoft Store |fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update |fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Windows Update |slscr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update From db4e2de3175eb035b1842caacbaf9888ea510ef9 Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:11:11 -0700 Subject: [PATCH 054/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index 7ddf8d7fa0..35c6c2a8d2 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -86,7 +86,7 @@ This table shows the correct sequence for applying the various tasks to the file |Task |WinRE (winre.wim) |Operating system (install.wim) | WinPE (boot.wim) | New media | |-----------------------------------|-------------------|--------------------------------|------------------|-----------| -|Add servicing stack Dynamic Update | 1 | 9 | 17 | | +|Add servicing stack Dynamic Update | 1 | 9 | 17 | | |Add language pack | 2 | 10 | 18 | | |Add localized optional packages | 3 | | 19 | | |Add font support | 4 | | 20 | | From 717dd7502b1226a47d2ba6dcf280e3b73b65fd54 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 13 Jun 2024 15:09:43 -0700 Subject: [PATCH 055/354] Minor changes --- .../essential-services-and-connected-experiences.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index 0c59bcd158..a1a6c53040 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -7,7 +7,7 @@ ms.localizationpriority: high author: DHB-MSFT ms.author: danbrown manager: laurawi -ms.date: 06/06/2024 +ms.date: 06/13/2024 ms.topic: reference --- @@ -35,7 +35,7 @@ Although enterprise admins can turn off most essential services, we recommend, w | **Essential service** | **Description** | | --- | --- | -|Authentication|The authentication service is required to enable sign in to work or school accounts. It validates a user’s identity and provides access to multiple apps and system components like OneDrive and Activity History. Using a work or school account to sign in to Windows enables Microsoft to provide a consistent experience across your devices. If the authentication service is turned off, many apps and components may lose functionality and users may not be able to sign in.

To turn it off, see [Microsoft Account](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#12-microsoft-account).| +|Authentication|The authentication service is required to enable sign in to work or school accounts. It validates a user’s identity and provides access to multiple apps and system components like Activity History. Using a work or school account to sign in to Windows enables Microsoft to provide a consistent experience across your devices. If the authentication service is turned off, many apps and components may lose functionality and users may not be able to sign in.

To turn it off, see [Microsoft Account](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#12-microsoft-account).| |Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA), are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates that are publicly known to be fraudulent. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.

To turn it off, see [Automatic Root Certificates Update](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update).| |Device Management |Device management includes Mobile Device Management (MDM), which helps IT pros manage company security policies and business applications. A built-in management component can communicate with the management server. If this is turned off, the device may no longer be compliant with company policy and the user might lose access to company resources.

[Learn more about Mobile Device Management](/windows/client-management/mdm-overview) | |Device setup | The first time a user sets up a new device, the Windows out-of-box experience (OOBE) guides the user through the steps to accept the license agreement, connect to the internet, sign in to (or sign up for) a Microsoft account, and takes care of other important tasks. Most settings can also be changed after setup is completed.

To customize the initial setup experience, see [Customize Setup](/windows-hardware/customize/desktop/customize-oobe).| @@ -61,7 +61,7 @@ Although enterprise admins can turn off most essential services, we recommend, w |Input Method Editor (IME)|IME is a Windows feature that allows you to type East Asian languages such as Japanese, Chinese Simplified, Chinese Traditional, Korean, Indic, Vietnamese, as well as rule-based languages like Tamil, Adlam, and Osage.| |Location services | The device location setting enables certain Windows features such as auto setting the time zone or Find My Device to function properly. When the device location setting is enabled, the Microsoft location service will use a combination of global positioning service (GPS), nearby wireless access points, cell towers, and IP address to determine the device’s location. Depending on the capabilities of the device, its location can be determined with varying degrees of accuracy and may in some cases be determined precisely.

To turn it off, see [Location services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#182-location). | |Microsoft Defender Antivirus | Microsoft Defender Antivirus provides cloud-delivered protection against new and emerging threats for the devices in your organization. Turning off Microsoft Defender Antivirus will potentially leave your Windows devices in a vulnerable state and more prone to security threats.

To turn it off, see [Microsoft Defender Antivirus](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#24-microsoft-defender-antivirus). | -|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows, Internet Explorer, and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#241-microsoft-defender-smartscreen). | +|Microsoft Defender SmartScreen | Microsoft Defender SmartScreen is a feature of Windows and Microsoft Edge. It helps protect users against phishing or malware websites and applications, and the downloading of potentially malicious files. Turning off Microsoft Defender SmartScreen means you can't block a website or warn users they may be accessing a malicious site.

To turn it off, see [Microsoft Defender SmartScreen](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#241-microsoft-defender-smartscreen). | |Phone Link|Phone Link lets you find your mobile device notifications, messages, photos, mobile app list, and other mobile content from your Windows PC.| |Troubleshooting Service | Windows troubleshooting service will automatically fix critical issues like corrupt settings that keep critical services from running. The service will also make adjustments to work with your hardware, or make other specific changes required for Windows to operate with the hardware, apps, and settings you’ve selected. In addition, it will recommend troubleshooting for other problems that aren’t critical to normal Windows operation but might impact your experience.

To turn it off, see [Troubleshooting service](/windows/client-management/mdm/policy-csp-troubleshooting). | |Voice Typing | Voice typing (also referred to as Windows dictation in earlier versions of Windows) allows users to write text by speaking by using Microsoft’s online speech recognition technology.

To turn it off, see [Speech recognition](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#186-speech). | @@ -75,7 +75,7 @@ Although enterprise admins can turn off most essential services, we recommend, w ## Microsoft Edge essential services and connected experiences -Windows ships with Microsoft Edge and Internet Explorer on Windows devices. Microsoft Edge is the default browser and is recommended for the best web browsing experience. +Windows ships with Microsoft Edge on Windows devices. Microsoft Edge is the default browser and is recommended for the best web browsing experience. You can find details on all of Microsoft Edge's connected experiences and essential services [here](/microsoft-edge/privacy-whitepaper). To turn off specific Microsoft Edge features, see [Microsoft Edge](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge). From 14838a32118914a85ab72ab17c055e0d0153ba14 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 13 Jun 2024 15:38:24 -0700 Subject: [PATCH 056/354] Remove crosslinks to articles being archived --- .../essential-services-and-connected-experiences.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/windows/privacy/essential-services-and-connected-experiences.md b/windows/privacy/essential-services-and-connected-experiences.md index a1a6c53040..d59b42605f 100644 --- a/windows/privacy/essential-services-and-connected-experiences.md +++ b/windows/privacy/essential-services-and-connected-experiences.md @@ -109,22 +109,12 @@ To view endpoints for Windows Enterprise, see: - [Manage connection endpoints for Windows 11](manage-windows-11-endpoints.md) - [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 21H1](manage-windows-21H1-endpoints.md) -- [Manage connection endpoints for Windows 10, version 20H2](manage-windows-20h2-endpoints.md) -- [Manage connection endpoints for Windows 10 version 2004](manage-windows-2004-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) - [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) To view endpoints for non-Enterprise Windows editions, see: - [Windows 11 connection endpoints for non-Enterprise editions](windows-11-endpoints-non-enterprise-editions.md) -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 20H2, connection endpoints for non-Enterprise editions](windows-endpoints-20H2-non-enterprise-editions.md) -- [Windows 10, version 2004, connection endpoints for non-Enterprise editions](windows-endpoints-2004-non-enterprise-editions.md) -- [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) + > [!IMPORTANT] > To inquire about Windows data access or interoperability related to the Digital Markets Act (DMA), [submit this form](https://go.microsoft.com/fwlink/p/?linkid=2271128). \ No newline at end of file From fa7647e2464faaf33a121eed319722d07b883a66 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 13 Jun 2024 17:40:43 -0700 Subject: [PATCH 057/354] recall-wip --- windows/client-management/manage-recall.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/client-management/manage-recall.md b/windows/client-management/manage-recall.md index 2db4f4d49a..0db5046760 100644 --- a/windows/client-management/manage-recall.md +++ b/windows/client-management/manage-recall.md @@ -3,7 +3,7 @@ title: Manage Recall for Windows clients description: Learn how to manage Recall for commercial environments using MDM and group policy. Learn about Recall features. ms.topic: how-to ms.subservice: windows-copilot -ms.date: 05/23/2024 +ms.date: 06/13/2024 ms.author: mstewart author: mestew ms.collection: @@ -20,6 +20,9 @@ appliesto: Recall allows you to search across time to find the content you need. Just describe how you remember it, and Recall retrieves the moment you saw it. Recall takes snapshots of your screen and stores them in a timeline. Snapshots are taken every five seconds while content on the screen is different from the previous snapshot. Snapshots are locally stored and locally analyzed on your PC. Recall's analysis allows you to search for content, including both images and text, using natural language. +> [!NOTE] +> Recall is coming soon through a post-launch Windows update. See [aka.ms/copilotpluspcs](https://aka.ms/copilotpluspcs). + When Recall opens the snapshot a user selected, it enables screenray, which runs on top of the saved snapshot. Screenray analyzes what's in the snapshot and allows users to interact with individual elements in the snapshot. For instance, users can copy text from the snapshot or send pictures from the snapshot to an app that supports `jpeg` files. :::image type="content" source="images/8908044-recall.png" alt-text="Screenshot of Recall with search results displayed for a query about a restaurant that the user's friend sent them." lightbox="images/8908044-recall.png"::: From 795e9098a561cec9616dee948ff26e1e43b5ecb5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 14 Jun 2024 07:04:59 -0400 Subject: [PATCH 058/354] Updates for shortcuts and description for SEO improvements. --- windows/configuration/assigned-access/overview.md | 6 ++++-- windows/configuration/assigned-access/recommendations.md | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/windows/configuration/assigned-access/overview.md b/windows/configuration/assigned-access/overview.md index cef2e32f30..f698aa5284 100644 --- a/windows/configuration/assigned-access/overview.md +++ b/windows/configuration/assigned-access/overview.md @@ -1,7 +1,7 @@ --- title: What is Assigned Access? -description: Learn about Assigned Access and how you can use it to configure a Windows device as a kiosk or restricted user experience. -ms.date: 03/04/2024 +description: Learn how to configure a Windows kiosk for single-app and multi-app scenarios with Assigned Access. +ms.date: 06/14/2024 ms.topic: overview --- @@ -325,6 +325,8 @@ The following keyboard shortcuts are blocked for the user accounts with Assigned | LaunchApp2 | Open the app that is assigned to this key. On many Microsoft keyboards, the app is Calculator | | LaunchMail | Open the default mail client | +For information how to customize keyboard shortcuts, see [Assigned Access recommendations](recommendations.md#assigned-access-recommendations#keyboard-shortcuts). + ## Remove Assigned Access Deleting the restricted user experience removes the policy settings associated with the users, but it can't revert all the configurations. For example, the Start menu configuration is maintained. diff --git a/windows/configuration/assigned-access/recommendations.md b/windows/configuration/assigned-access/recommendations.md index a497237d15..64b2ce4d5c 100644 --- a/windows/configuration/assigned-access/recommendations.md +++ b/windows/configuration/assigned-access/recommendations.md @@ -104,6 +104,10 @@ You can also disable the accessibility features and other options on the lock sc |--|--|--|--| | `HKLM\Software\Microsoft\Windows Embedded\EmbeddedLogon\BrandingNeutral` | `BrandingNeutral` | REG_DWORD | 8 | +### Microsoft Edge shortcuts + +To disable certain [Microsoft Edge default shortcuts](/deployedge/edge-learnmore-configurable-edge-commands), you can use the [ConfigureKeyboardShortcuts](/deployedge/microsoft-edge-policies#configurekeyboardshortcuts) policy. + ## Choose an app for a kiosk experience To create a kiosk experience with Assigned Access, you can choose UWP apps or Microsoft Edge. However, some applications might not provide a good user experience when used as a kiosk. From 014277b2e74038b24970d08eb10ef88c21ce7100 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 14 Jun 2024 07:12:55 -0400 Subject: [PATCH 059/354] fixed link to h2 --- windows/configuration/assigned-access/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/assigned-access/overview.md b/windows/configuration/assigned-access/overview.md index f698aa5284..fde39d247d 100644 --- a/windows/configuration/assigned-access/overview.md +++ b/windows/configuration/assigned-access/overview.md @@ -325,7 +325,7 @@ The following keyboard shortcuts are blocked for the user accounts with Assigned | LaunchApp2 | Open the app that is assigned to this key. On many Microsoft keyboards, the app is Calculator | | LaunchMail | Open the default mail client | -For information how to customize keyboard shortcuts, see [Assigned Access recommendations](recommendations.md#assigned-access-recommendations#keyboard-shortcuts). +For information how to customize keyboard shortcuts, see [Assigned Access recommendations](recommendations.md#keyboard-shortcuts). ## Remove Assigned Access From f64e59067780e6aacf8323e36399540ff5fcf2b8 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 14 Jun 2024 07:15:41 -0400 Subject: [PATCH 060/354] fix --- windows/configuration/assigned-access/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/assigned-access/overview.md b/windows/configuration/assigned-access/overview.md index fde39d247d..12ed03cf42 100644 --- a/windows/configuration/assigned-access/overview.md +++ b/windows/configuration/assigned-access/overview.md @@ -325,7 +325,7 @@ The following keyboard shortcuts are blocked for the user accounts with Assigned | LaunchApp2 | Open the app that is assigned to this key. On many Microsoft keyboards, the app is Calculator | | LaunchMail | Open the default mail client | -For information how to customize keyboard shortcuts, see [Assigned Access recommendations](recommendations.md#keyboard-shortcuts). +For information on how to customize keyboard shortcuts, see [Assigned Access recommendations](recommendations.md#keyboard-shortcuts). ## Remove Assigned Access From 8deafc2dd4f6d4253d3f1ee4203e87065a4ef096 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Fri, 14 Jun 2024 12:02:19 -0600 Subject: [PATCH 061/354] Shorten duplicating information --- windows/deployment/do/whats-new-do.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/whats-new-do.md b/windows/deployment/do/whats-new-do.md index e1a925a69d..cbed929c0e 100644 --- a/windows/deployment/do/whats-new-do.md +++ b/windows/deployment/do/whats-new-do.md @@ -46,7 +46,7 @@ There are two different versions: - New setting: Customize vpn detection by choosing custom keywords. Now, you don't have to rely on Delivery Optimization keywords to detect your Vpn. By using the new VpnKeywords configuration you can add keywords for Delivery Optimization to use when detecting a Vpn when in use. You can find this configuration **[VPN Keywords](waas-delivery-optimization-reference.md#vpn-keywords)** in Group Policy or MDM under **DOVpnKeywords**. - New setting: Use the disallow downloads from a connected cache server, when a Vpn is detected and you want to prevent the download from the connected cache server. You can find this configuration **[Disallow download from MCC over VPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) in Group Policy or MDM under **DODisallowCacheServerDownloadsOnVPN**. - Delivery Optimization introduced support for receiver side ledbat (rLedbat). -- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). If Group mode is enabled, Delivery Optimization connects to locally discovered peers that are also part of the same group, for those devices with the same Group ID). Currently the available options include: 0 = None, 1 = Subnet mask, and 2 = Local Peer Discovery (DNS-SD). +- New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). > [!NOTE] > The Local Peer Discovery (DNS-SD, [RFC 6763](https://datatracker.ietf.org/doc/html/rfc6763)) 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**. For more information, see [Delivery Optimization reference](waas-delivery-optimization-reference.md). From 870d7beee5138b0915bf5941b7cf69e334f753b4 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Fri, 14 Jun 2024 14:46:44 -0600 Subject: [PATCH 062/354] fix case --- windows/deployment/do/whats-new-do.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/whats-new-do.md b/windows/deployment/do/whats-new-do.md index cbed929c0e..0b167097fa 100644 --- a/windows/deployment/do/whats-new-do.md +++ b/windows/deployment/do/whats-new-do.md @@ -45,7 +45,7 @@ There are two different versions: - New setting: Customize vpn detection by choosing custom keywords. Now, you don't have to rely on Delivery Optimization keywords to detect your Vpn. By using the new VpnKeywords configuration you can add keywords for Delivery Optimization to use when detecting a Vpn when in use. You can find this configuration **[VPN Keywords](waas-delivery-optimization-reference.md#vpn-keywords)** in Group Policy or MDM under **DOVpnKeywords**. - New setting: Use the disallow downloads from a connected cache server, when a Vpn is detected and you want to prevent the download from the connected cache server. You can find this configuration **[Disallow download from MCC over VPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) in Group Policy or MDM under **DODisallowCacheServerDownloadsOnVPN**. -- Delivery Optimization introduced support for receiver side ledbat (rLedbat). +- Delivery Optimization introduced support for receiver side ledbat (rLEDBAT). - New setting: Local Peer Discovery, a new option for **[Restrict Peer Selection By](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)** in Group Policy or MDM **DORestrictPeerSelectionBy**. This option restricts the discovery of local peers using the DNS-SD protocol. When you set Option 2, Delivery Optimization restricts peer selection to peers that are locally discovered (using DNS-SD). > [!NOTE] From 0849412f8a490311492392044986d7ac3e23dc2e Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Mon, 17 Jun 2024 10:25:54 -0700 Subject: [PATCH 063/354] Update smartscreen references --- .../privacy/windows-endpoints-1809-non-enterprise-editions.md | 2 +- .../privacy/windows-endpoints-1903-non-enterprise-editions.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md index 8c40861d08..0cf4435b8a 100644 --- a/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md @@ -42,7 +42,7 @@ We used the following methodology to derive these network endpoints: |\*.g.akamai.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use. |\*.msn.com\* |TLSv1.2/HTTPS | Windows Spotlight related traffic |\*.Skype.com | HTTP/HTTPS | Skype related traffic -|\*.smartscreen.microsoft.com\* | HTTPS | Windows Defender Smartscreen related traffic +|\*.smartscreen.microsoft.com | HTTPS | Windows Defender Smartscreen related traffic |\*.telecommand.telemetry.microsoft.com\* | HTTPS | Used by Windows Error Reporting. |\*cdn.onenote.net* | HTTP | OneNote related traffic |\*displaycatalog.mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store. diff --git a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md index b0e4bb1468..465c0dd961 100644 --- a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md @@ -49,7 +49,7 @@ The following methodology was used to derive the network endpoints: | \*.login.msa.\*.net | HTTPS | Microsoft Account related | \*.msn.com\* | TLSv1.2/HTTPS | Windows Spotlight | \*.skype.com | HTTP/HTTPS | Skype -| \*.smartscreen.microsoft.com\* | HTTPS | Windows Defender Smartscreen +| \*.smartscreen.microsoft.com | HTTPS | Windows Defender Smartscreen | \*.telecommand.telemetry.microsoft.com\* | HTTPS | Used by Windows Error Reporting | \*cdn.onenote.net\* | HTTP | OneNote | \*displaycatalog.\*mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store From 9140ee3cf2f7ba0ff64927edb2cb1e2820b7cb64 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Mon, 17 Jun 2024 10:46:11 -0700 Subject: [PATCH 064/354] Fixed redirect --- .openpublishing.redirection.windows-deployment.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index ef42ecb141..44cd5fae11 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1167,7 +1167,7 @@ }, { "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-groups-windows-feature-update-summary-dashboard.md", - "redirect_url": "/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report", + "redirect_url": "/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-summary-dashboard", "redirect_document_id": true }, { From 7923bcfd9d23172ba9958d3a0f9ba5783861fc4e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 07:59:57 -0400 Subject: [PATCH 065/354] Bitlocker recovery screen --- .../bitlocker/bcd-settings-and-bitlocker.md | 4 +- .../data-protection/bitlocker/configure.md | 2 +- .../bitlocker/countermeasures.md | 4 +- .../data-protection/bitlocker/csv-san.md | 2 +- .../data-protection/bitlocker/faq.yml | 2 +- .../data-protection/bitlocker/index.md | 2 +- .../bitlocker/install-server.md | 2 +- .../bitlocker/network-unlock.md | 6 +- .../bitlocker/operations-guide.md | 4 +- .../bitlocker/planning-guide.md | 2 +- .../bitlocker/preboot-recovery-screen.md | 20 +-- .../bitlocker/recovery-overview.md | 2 +- .../bitlocker/recovery-process.md | 4 +- .../bitlocker/recovery-screen.md | 141 ++++++++++++++++++ .../data-protection/bitlocker/toc.yml | 2 + 15 files changed, 171 insertions(+), 28 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md index 22f80cb481..3e29796ff1 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md @@ -1,8 +1,8 @@ --- -title: BCD settings and BitLocker +title: BCD settings and BitLocker description: Learn how BCD settings are used by BitLocker. ms.topic: reference -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # Boot Configuration Data settings and BitLocker diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 12bf6e3613..7fbff47e8c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -2,7 +2,7 @@ title: Configure BitLocker description: Learn about the available options to configure BitLocker and how to configure them via Configuration Service Providers (CSP) or group policy (GPO). ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # Configure BitLocker diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 62dbc91a63..13b8fb7c50 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -1,8 +1,8 @@ --- title: BitLocker countermeasures -description: Learn about technologies and features to protect against attacks on the BitLocker encryption key. +description: Learn about technologies and features to protect against attacks on the BitLocker encryption key. ms.topic: concept-article -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker countermeasures diff --git a/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md index 6eac3ac628..15db660036 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md @@ -2,7 +2,7 @@ title: Protect cluster shared volumes and storage area networks with BitLocker description: Learn how to protect cluster shared volumes (CSV) and storage area networks (SAN) with BitLocker. ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 appliesto: - ✅ Windows Server 2022 - ✅ Windows Server 2019 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index d82b8f6355..b2642afed9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -3,7 +3,7 @@ metadata: title: BitLocker FAQ description: Learn more about BitLocker by reviewing the frequently asked questions. ms.topic: faq - ms.date: 10/30/2023 + ms.date: 06/18/2024 title: BitLocker FAQ summary: Learn more about BitLocker by reviewing the frequently asked questions. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 9d9ff5daed..e9e9e7bdb7 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -2,7 +2,7 @@ title: BitLocker overview description: Learn about BitLocker practical applications and requirements. ms.topic: overview -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker overview diff --git a/windows/security/operating-system-security/data-protection/bitlocker/install-server.md b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md index c79ab3d0aa..a1b63ed90b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/install-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md @@ -2,7 +2,7 @@ title: Install BitLocker on Windows Server description: Learn how to install BitLocker on Windows Server. ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 appliesto: - ✅ Windows Server 2022 - ✅ Windows Server 2019 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md index f0745f7122..39be442f55 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md @@ -1,8 +1,8 @@ --- -title: Network Unlock +title: Network Unlock description: Learn how BitLocker Network Unlock works and how to configure it. ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # Network Unlock @@ -255,7 +255,7 @@ The subnet policy configuration file must use a `[SUBNETS]` section to identify ```ini [SUBNETS] SUBNET1=10.185.250.0/24 ; a comment about this subrange could be here, after the semicolon -SUBNET2=10.185.252.200/28 +SUBNET2=10.185.252.200/28 SUBNET3= 2001:4898:a:2::/64 ; an IPv6 subnet SUBNET4=2001:4898:a:3::/64; in production, the admin would likely give more useful names, like BUILDING9-EXCEPT-RECEP. ``` diff --git a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index 1eaff6b4ec..29452a46ea 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -2,7 +2,7 @@ title: BitLocker operations guide description: Learn how to use different tools to manage and operate BitLocker. ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker operations guide @@ -239,7 +239,7 @@ Add-BitLockerKeyProtector E: -PasswordProtector -Password $pw **Example**: Use PowerShell to enable BitLocker with a TPM protector ```powershell -Enable-BitLocker D: -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector +Enable-BitLocker D: -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector ``` **Example**: Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to *123456*: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md index 5fb64c8c85..c54ad2e21e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md @@ -2,7 +2,7 @@ title: BitLocker planning guide description: Learn how to plan for a BitLocker deployment in your organization. ms.topic: concept-article -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker planning guide diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 78ab928ae2..ce03b1fa0b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -2,7 +2,7 @@ title: BitLocker preboot recovery screen description: Learn about the information displayed in the BitLocker preboot recovery screen, depending on configured policy settings and recovery keys status. ms.topic: concept-article -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker preboot recovery screen @@ -72,10 +72,10 @@ There are rules governing which hint is shown during the recovery (in the order :::row::: :::column span="2"::: In this scenario, the recovery password is saved to a file - + > [!IMPORTANT] > It's not recommend to print recovery keys or saving them to a file. Instead, use Microsoft account, Microsoft Entra ID or Active Directory backup. - + :::column-end::: :::column span="2"::: :::image type="content" source="images/preboot-recovery-hint.png" alt-text="Screenshot of the BitLocker recovery screen showing a hint where the BitLocker recovery key was saved." lightbox="images/preboot-recovery-hint.png" border="false"::: @@ -92,7 +92,7 @@ There are rules governing which hint is shown during the recovery (in the order - saved to Microsoft account - not printed - not saved to a file - + **Result:** the hints for the custom URL and the Microsoft account (**https://aka.ms/myrecoverykey**) are displayed. :::column-end::: :::column span="2"::: @@ -110,7 +110,7 @@ There are rules governing which hint is shown during the recovery (in the order - saved to Active Directory - not printed - not saved to a file - + **Result:** only the custom URL is displayed. :::column-end::: :::column span="2"::: @@ -129,7 +129,7 @@ There are rules governing which hint is shown during the recovery (in the order - saved to Microsoft Entra ID - printed - saved to file - + **Result:** only the Microsoft account hint (**https://aka.ms/myrecoverykey**) is displayed. :::column-end::: :::column span="2"::: @@ -149,12 +149,12 @@ There are rules governing which hint is shown during the recovery (in the order - saved to file - creation time: **1PM** - key ID: **4290B6C0-B17A-497A-8552-272CC30E80D4** - + The recovery password #2 is: - not backed up - creation time: **3PM** - key ID: **045219EC-A53B-41AE-B310-08EC883AAEDD** - + **Result:** only the hint for the successfully backed up key is displayed, even if it isn't the most recent key. :::column-end::: :::column span="2"::: @@ -175,12 +175,12 @@ There are rules governing which hint is shown during the recovery (in the order - Saved to Microsoft Entra ID - creation time: **1PM** - key ID: **4290B6C0-B17A-497A-8552-272CC30E80D4** - + The recovery password #2 is: - Saved to Microsoft Entra ID - creation time: **3PM** - key ID: **045219EC-A53B-41AE-B310-08EC883AAEDD** - + **Result:** the Microsoft Entra ID hint (**https://aka.ms/aadrecoverykey**), which is the most recent key saved, is displayed. :::column-end::: :::column span="2"::: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview.md index c7613a0f46..4625b2f5e0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview.md @@ -2,7 +2,7 @@ title: BitLocker recovery overview description: Learn about BitLocker recovery scenarios, recovery options, and how to determine root cause of failed automatic unlocks. ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker recovery overview diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index b002833d87..ea2fd91338 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -2,7 +2,7 @@ title: BitLocker recovery process description: Learn how to obtain BitLocker recovery information for Microsoft Entra joined, Microsoft Entra hybrid joined, and Active Directory joined devices, and how to restore access to a locked drive. ms.topic: how-to -ms.date: 10/30/2023 +ms.date: 06/18/2024 --- # BitLocker recovery process @@ -83,7 +83,7 @@ function Get-EntraBitLockerKeys{ foreach ($keyId in $keyIds) { $recoveryKey = (Get-MgInformationProtectionBitlockerRecoveryKey -BitlockerRecoveryKeyId $keyId -Select "key").key Write-Host -ForegroundColor White " Key id: $keyid" - Write-Host -ForegroundColor Cyan " BitLocker recovery key: $recoveryKey" + Write-Host -ForegroundColor Cyan " BitLocker recovery key: $recoveryKey" } } else { Write-Host -ForegroundColor Red "No BitLocker recovery keys found for device $DeviceName" diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md new file mode 100644 index 0000000000..a296e03847 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md @@ -0,0 +1,141 @@ +--- +title: BitLocker recovery screen +description: +ms.topic: how-to +ms.date: 06/18/2024 +--- + +# BitLocker recovery screen + +[!INCLUDE [insider-note](../../../../../includes/insider/insider-note.md)] + +BitLocker recovery errors and their causes + +BitLocker recovery is the process by which access to a BitLocker-protected drive can be restored if the drive doesn't unlock using its default unlock mechanism. + +Prompting for the recovery password or other recovery method defends against suspected unauthorized access to user data by an attacker. Providing the recovery password allows BitLocker to confirm that the owner of the device is in posession of the device in recovery and that the device and stored data should become accessible. + +For mroe information about BitLocker recovery, see this page. + +## Initiated by user + +E_FVE_USER_REQUESTED_RECOVERY + +BitLocker entered recovery mode because of a transition from a screen with the option to ESC to recovery mode. + +E_FVE_BOOT_DEBUG_ENABLED + +BitLocker entered recovery mode because boot debugging mode has been enabled. To remediate this issue, remove the boot debugging option from the boot configuration database. + +## Code integrity + +Driver signature enforcement is used to ensure code integrity of the operating system. + +E_FVE_CI_DISABLED + +BitLocker entered recovery mode because driver signature enforcement has been disabled. + +## Device lockout + +Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device will be rebooted and can only be recovered by providing a BitLocker recovery method. + +This feature is configurable with the "Interactive logon: Machine account lockout threshold" policy. + +E_FVE_DEVICE_LOCKEDOUT + +BitLocker entered recovery mode because device lockout has been triggered due to too many incorrect sign in attempts. A BitLocker recovery method is required to return to the logon screen. + +E_FVE_DEVICE_LOCKOUT_MISMATCH + +BitLocker entered recovery mode because the device lockout counter is out of sync. A BitLocker recovery method is required to return to the logon screen. + + + +## Boot configuration + +The Boot Configuration Database (BCD) contains critical information for the Windows boot environment. More information about how BitLocker uses the BCD is available here. + + + +E_FVE_BAD_CODE_ID, E_FVE_BAD_CODE_OPTION + +BitLocker entered recovery mode because a boot application has changed. + +BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this data changes without warning. Refer to the recovery screen to find the boot application that changed. + +To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting. + + + +## TPM + +The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a computer. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. + +BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. + + + +E_FVE_TPM_FAILURE, E_FVE_TPM_DISABLED, E_FVE_TPM_INVALIDATED, E_FVE_BAD_SRK, E_FVE_TPM_NOT_DETECTED, E_MATCHING_PCRS_TPM_FAILURE + +BitLocker entered recovery mode because of a failure with the Trusted Platform Module. + +E_FVE_TPM_FAILURE is a catch-all for other TPM errors not detailed below. + +E_FVE_TPM_DISABLED is displayed when the TPM is present but has been disabled for use before or during boot. + +E_FVE_TPM_INVALIDATED is displayed when a present TPM has been invalidated. + +E_FVE_BAD_SRK indicates that the TPM's internal Storage Root Key has been corrupted. + +E_FVE_TPM_NOT_DETECTED is displayed when the booting system does not have a TPM or does not recognize a TPM that may exist + +E_MATCHING_PCRS_TPM_FAILURE means that the TPM unexpectedly failed when unsealing the encryption key. + +## Protector + +### TPM protectors + +The TPM contains multiple Platform Configuration Registers (PCRs) that can be used in the validation profile of the BitLocker TPM protector. The PCRs are used to validate the integrity of the boot process, that is, that the boot configuration and boot flow hasn't been tampered with. + +BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. + +### `E_FVE_PCR_MISMATCH` + +BitLocker entered recovery mode because your device's configuration has changed. + +This may have happened because: + +- A disc or USB device was inserted. Removing it and restarting your device may fix this problem +- A firmware update was applied without updating the TPM protector +- Any example at https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview#bitlocker-recovery-scenarios + +A recovery method is required to unlock the device. + +#### Special cases for PCR 7 + +If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. More information is also available at Trusted Execution Environment EFI Protocol - Windows 8.1 HCK | Microsoft Learn. + +### `E_FVE_SECUREBOOT_DISABLED` + +BitLocker entered recovery mode because Secure Boot has been disabled. + +To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. Re-enabling Secure Boot and rebooting the system may fix the recovery issue. Otherwise, a recovery method is required to access the device. + + +### `E_FVE_SECUREBOOT_CHANGED` + +BitLocker entered recovery mode because the Secure Boot configuration unexpectedly changed. + +The boot configuration measured in PCR 7 changed. This may be either because of: + +- An additional measurement currently present that was not present when BitLocker updated the TPM protector +- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present +- An expected event has a different measurement + +A recovery method is required to unlock the device. + +## Unknown + +### `E_FVE_RECOVERY_ERROR_UNKNOWN` + +BitLocker entered recovery mode because of an unknown error. A recovery method is required to unlock the device. \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index ba7f125549..cda7e92884 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -17,6 +17,8 @@ items: href: recovery-process.md - name: Preboot recovery screen href: preboot-recovery-screen.md + - name: Preboot recovery screen refresh + href: recovery-screen.md - name: How-to guides items: - name: Install BitLocker on Windows Server From 510cf0c756ad9249e5ef0a6b6640c1776e704937 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 11:25:17 -0400 Subject: [PATCH 066/354] updates --- .../bitlocker/recovery-screen.md | 83 ++++++++----------- 1 file changed, 33 insertions(+), 50 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md index a296e03847..275fea360c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md @@ -1,55 +1,47 @@ --- -title: BitLocker recovery screen +title: BitLocker recovery errors and their causes description: ms.topic: how-to ms.date: 06/18/2024 --- -# BitLocker recovery screen +# BitLocker recovery errors and their causes [!INCLUDE [insider-note](../../../../../includes/insider/insider-note.md)] -BitLocker recovery errors and their causes - BitLocker recovery is the process by which access to a BitLocker-protected drive can be restored if the drive doesn't unlock using its default unlock mechanism. -Prompting for the recovery password or other recovery method defends against suspected unauthorized access to user data by an attacker. Providing the recovery password allows BitLocker to confirm that the owner of the device is in posession of the device in recovery and that the device and stored data should become accessible. +Prompting for the recovery password or other recovery method defends against suspected unauthorized access to user data by an attacker. Providing the recovery password allows BitLocker to confirm that the owner of the device is in possession of the device in recovery, and that the device and stored data should become accessible. -For mroe information about BitLocker recovery, see this page. +For more information about BitLocker recovery, see [BitLocker recovery overview](recovery-overview.md). -## Initiated by user +This article is divided in different sections, each section represents a BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen and the cause of the error. -E_FVE_USER_REQUESTED_RECOVERY +## Originated by user -BitLocker entered recovery mode because of a transition from a screen with the option to ESC to recovery mode. - -E_FVE_BOOT_DEBUG_ENABLED - -BitLocker entered recovery mode because boot debugging mode has been enabled. To remediate this issue, remove the boot debugging option from the boot configuration database. +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.|| +|`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| ## Code integrity Driver signature enforcement is used to ensure code integrity of the operating system. -E_FVE_CI_DISABLED +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.|| -BitLocker entered recovery mode because driver signature enforcement has been disabled. +## Device lockout threshold -## Device lockout - -Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device will be rebooted and can only be recovered by providing a BitLocker recovery method. - -This feature is configurable with the "Interactive logon: Machine account lockout threshold" policy. - -E_FVE_DEVICE_LOCKEDOUT - -BitLocker entered recovery mode because device lockout has been triggered due to too many incorrect sign in attempts. A BitLocker recovery method is required to return to the logon screen. - -E_FVE_DEVICE_LOCKOUT_MISMATCH - -BitLocker entered recovery mode because the device lockout counter is out of sync. A BitLocker recovery method is required to return to the logon screen. +Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. +To take advantage of this functionality, you must configure the policy setting **Interactive logon: Machine account lockout threshold** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options**. Alternatively, use the [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) **MaxFailedPasswordAttempts** policy setting, or the [DeviceLock Configuration Service Provider (CSP)](/windows/client-management/mdm/policy-csp-devicelock#accountlockoutpolicy). +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| +|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| ## Boot configuration @@ -65,31 +57,22 @@ BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting. - - ## TPM -The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a computer. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. +The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. +BitLocker entered recovery mode because of a failure with the TPM. - -E_FVE_TPM_FAILURE, E_FVE_TPM_DISABLED, E_FVE_TPM_INVALIDATED, E_FVE_BAD_SRK, E_FVE_TPM_NOT_DETECTED, E_MATCHING_PCRS_TPM_FAILURE - -BitLocker entered recovery mode because of a failure with the Trusted Platform Module. - -E_FVE_TPM_FAILURE is a catch-all for other TPM errors not detailed below. - -E_FVE_TPM_DISABLED is displayed when the TPM is present but has been disabled for use before or during boot. - -E_FVE_TPM_INVALIDATED is displayed when a present TPM has been invalidated. - -E_FVE_BAD_SRK indicates that the TPM's internal Storage Root Key has been corrupted. - -E_FVE_TPM_NOT_DETECTED is displayed when the booting system does not have a TPM or does not recognize a TPM that may exist - -E_MATCHING_PCRS_TPM_FAILURE means that the TPM unexpectedly failed when unsealing the encryption key. +| Error code | Error cause | +|-|-| +|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot| +|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated| +|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted| +|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM| +|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key| +|`E_FVE_TPM_FAILURE` | Catch-all for other TPM errors.| ## Protector @@ -136,6 +119,6 @@ A recovery method is required to unlock the device. ## Unknown -### `E_FVE_RECOVERY_ERROR_UNKNOWN` - -BitLocker entered recovery mode because of an unknown error. A recovery method is required to unlock the device. \ No newline at end of file +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| \ No newline at end of file From 3a23b8dc48a52a254cd7f1ae75758a3fabfe1e38 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 12:54:58 -0400 Subject: [PATCH 067/354] Added Intune licensing information and restructured OS Edition tables. --- includes/licensing/assigned-access.md | 18 ++++++++++++++---- includes/licensing/shell-launcher.md | 19 +++++++++++++++---- .../configuration/assigned-access/overview.md | 3 +++ .../assigned-access/shell-launcher/index.md | 9 +++++++-- 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/includes/licensing/assigned-access.md b/includes/licensing/assigned-access.md index fa2d4f7d31..569fedc112 100644 --- a/includes/licensing/assigned-access.md +++ b/includes/licensing/assigned-access.md @@ -5,14 +5,23 @@ ms.date: 09/18/2023 ms.topic: include --- -## Windows edition and licensing requirements + + +## Windows edition requirements The following table lists the Windows editions that support Assigned Access: -|Windows Pro|Windows Enterprise|Windows Pro Education/SE|Windows Education| -|:---:|:---:|:---:|:---:| -|Yes|Yes|Yes|Yes| +|Edition|Assigned Access support| +|:---|:---:| +|Education|Yes| +|Enterprise |Yes| +|Enterprise LTSC|Yes| +|IoT Enterprise | Yes| +|IoT Enterprise LTSC|Yes| +|Pro Education|Yes| +|Pro|Yes| + \ No newline at end of file diff --git a/includes/licensing/shell-launcher.md b/includes/licensing/shell-launcher.md index f53f3741e2..60d60cd070 100644 --- a/includes/licensing/shell-launcher.md +++ b/includes/licensing/shell-launcher.md @@ -5,14 +5,23 @@ ms.date: 09/18/2023 ms.topic: include --- -## Windows edition and licensing requirements + + +## Windows edition requirements The following table lists the Windows editions that support Shell Launcher: -|Windows Pro|Windows Enterprise|Windows Pro Education/SE|Windows Education| -|:---:|:---:|:---:|:---:| -|No|Yes|No|Yes| +|Edition|Shell Launcher support| +|:---|:---:| +|Education|Yes| +|Enterprise |Yes| +|Enterprise LTSC|Yes| +|IoT Enterprise | Yes| +|IoT Enterprise LTSC|Yes| +|Pro Education|No| +|Pro|No| + \ No newline at end of file diff --git a/windows/configuration/assigned-access/overview.md b/windows/configuration/assigned-access/overview.md index 12ed03cf42..366664ea69 100644 --- a/windows/configuration/assigned-access/overview.md +++ b/windows/configuration/assigned-access/overview.md @@ -209,6 +209,9 @@ You can configure devices using a [custom policy][MEM-1] with the [AssignedAcces Assign the policy to a group that contains as members the devices that you want to configure. +> [!TIP] +> Microsoft Intune offers device licenses, which are suitable for kiosk scenarios. To learn more, see [Device-only licenses][MEM-2]. + #### [:::image type="icon" source="../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg) [!INCLUDE [provisioning-package-1](../../../includes/configure/provisioning-package-1.md)] diff --git a/windows/configuration/assigned-access/shell-launcher/index.md b/windows/configuration/assigned-access/shell-launcher/index.md index d15947fe60..f8a5526829 100644 --- a/windows/configuration/assigned-access/shell-launcher/index.md +++ b/windows/configuration/assigned-access/shell-launcher/index.md @@ -1,7 +1,7 @@ --- title: What is Shell Launcher? description: Learn how to configure devices with Shell Launcher. -ms.date: 02/29/2024 +ms.date: 06/18/2024 ms.topic: overview --- @@ -55,6 +55,9 @@ You can configure devices using a [custom policy][MEM-1] with the [AssignedAcces Assign the policy to a group that contains as members the devices that you want to configure. +> [!TIP] +> Microsoft Intune offers device licenses, which are suitable for kiosk scenarios. To learn more, see [Device-only licenses][MEM-2]. + #### [:::image type="icon" source="../../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg) [!INCLUDE [provisioning-package-1](../../../../includes/configure/provisioning-package-1.md)] @@ -126,4 +129,6 @@ Depending on your configuration, you can have a user to automatically sign in to -[MEM-1]: /mem/intune/configuration/custom-settings-windows-10 \ No newline at end of file +[MEM-1]: /mem/intune/configuration/custom-settings-windows-10 +[MEM-2]: /mem/intune/fundamentals/licenses#device-only-licenses +[WIN-3]: /windows/client-management/mdm/assignedaccess-csp From a2df12bfee6525a7a48e058a8e8e448bece9d44a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 13:14:11 -0400 Subject: [PATCH 068/354] update to emoji --- includes/licensing/assigned-access.md | 14 +++++++------- includes/licensing/shell-launcher.md | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/includes/licensing/assigned-access.md b/includes/licensing/assigned-access.md index 569fedc112..3a980896b0 100644 --- a/includes/licensing/assigned-access.md +++ b/includes/licensing/assigned-access.md @@ -13,13 +13,13 @@ The following table lists the Windows editions that support Assigned Access: |Edition|Assigned Access support| |:---|:---:| -|Education|Yes| -|Enterprise |Yes| -|Enterprise LTSC|Yes| -|IoT Enterprise | Yes| -|IoT Enterprise LTSC|Yes| -|Pro Education|Yes| -|Pro|Yes| +|Education|✅| +|Enterprise |✅| +|Enterprise LTSC|✅| +|IoT Enterprise | ✅| +|IoT Enterprise LTSC|✅| +|Pro Education|✅| +|Pro|✅| +ktJVSt8T>I{+%L#GSu^ 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 o~jJT=sPZ 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ϧu;nEo`tPjzE1DS4$VGncVlGY z_zI{rrE0NMx*?A$2|aH|EYhBf1=R_2cDUilMB<@^98n7ZO;HA0_JIi_QKR<>0Dn2P z(But)ZT*wK>_y!GW|ciPT7;*#?3*@Y@b{%H<{tF%GPo!kl5j_i^>YO~u@dXf&(de{ zFX%wIsLPp`6AmT1mOWh1v0Nk+jyiH=ryW__oVyZ6!;7Mmts_&6SHT(cFN9Zy-y5?b zIVhyQmo%78SLy{!*@fId4V>pc_KJ84At(I^RIO*YLd9M5!hO}LA7Yy1bME^Uf^nmW zd|8Xuz${ZSk1T1WeF#z6gi3WvCFZ&h&k7gU1;-QYiJ{Kn>rz>c%8QDud+934pbEgG zsTza7Zd+;YC#|Ha6g-1jria2$`AHSokGZ9j)iLHR*~uR^I`n=Dt;8l3>HFKPOsXz) z@@DCN_DDL(Pw`kq5A8=D^#;uI#D|?{zo_KFiDk0lOyx)3d)3qePovWR4K|&Xm1d;&ahDZaPflrHgc76Xg6~O%9 z%ja@cD1z?Qb8|%(SoRgeXeqt+9W0zIS!AT_j>s<>sXJT@XS>L^8 zb81=Ylg2o@wEXxTU6m%{6D(qIx#Z^zm&S#LzKeL@Wodru%HkVjX8>u5uDtHiI4j$v zyeP&hu~I|^e;Y~ZB3>@-axC$+Nuk4Jq>2cjrNZ3=*Ylx#Cm!dwilwhpi3$Ur>U=g@ z-mP-07d_;m7P>$sG@G^+`&dO}s=`&=XhhDczM&UD$*?-iido9%&0GX=ebHh^8M)se z4*?eks}??akS`Bi48cN@>LF4lUP4#lRoD6xo@53))a#GAG{WqVWkk42Sb$W0c^k%F zF+;O_a9T+!!8VoRY@^aoHLog}jjT=#^a83mP|jJM>ivFL-^~Xn%J7IGm<+9aIPsp} zo8+ZX^r~QDVcxuymmN@2{Nms%u&61#j@-W7dAJDH#*jJUjUQp5v zidt$^x>7$CUnO}X%4IZ63^~4)V46#1-9{=XtVwp)bw%hYw(k8}bXOO>qPR#XUa>(m zmQ21!D^vM~S9%RBskt%PO#<6Yn@v(S5~7H=oLO=^6^}JK73=O$zc9GC3aeLJurO4p zAMFwp*_%h7j5p=J6Iz(hR4(3MRsc)o?HWoqmrPnADdl3mB{tW}2Ie3`7_rw!gZ69e zWWR}72y2WUMJwN-Bm3oFhe)A)`=VE7l8jT0P;Sd%p-E=#jm(5DVg4dvm$Lh9Dma_M zO@e2VK;*_qiu`Mi`kT~wZ$e=q9NQ^bUhYW-;&vP=z3%V~lGYf;YUyR9cFAo~Nh@Qq z;`k)^mZA)y-m?99IoQz+SKzx@^$ClPD-y=U=fALF{E5dnN?nx%q>xSCXYHqjLWiAA z*ufr|gZFz08^`wwEr7xcC0)3RV?ppm1Vw(qCZ`C?Ed|?P#K=0wO>iL7lfIYPsw$NZ z+0~pKvM*n~T}D9*eoB>>J~qjcEylIXv1bIiFpw?Aa1_^Us%eK_88cugeDP-d&^@jz z?2UcwD0oR}2pgjOgjRZsKYFQ})5+XC?tI8ysLJl`${D?MLoqesYeT`ZO+L{ATa1?T zRaHu;XsJooo|sCPCf5`svT8{6o!7cmdcdC6I$6CQfEL#r)_KHxZr8mjd3B3;VNgVR zyMEeyYBAGKc7sn~l|-yeZrU~^eJ2pb4a}y}#VttY*I3xKncMsQN~FouT^F*;Gn0}P1@<<*Z;FKPlCpy-qiy{|Ff|4VyJ4r8Jw zpk@BO!2mgHmFTtL;b82OkW)IXUB@EuzG9o@IK-$m)q`RM9(A=)HpDFcPv(Abq!IHh9g!qZoA47(mKM} zaD#Dblt^x)?)p32GGv%6L)VXCUbzgF72u=?QErTD zJKag!><1NuU8s*PX{{i1_1;*0yNc?slJ0tj)Z!K2!iW-E`8Gt{f8++J3;)9j*naZ! z{^L0n?oxyWE%5xIhG0eqo8AV#gsr+p7oiGT9pMUxOyv2~gJs;rF1F|&I-He|ur<{M z{-|iQZYh%~U^D@7c4%(xkV|GBok%AT=@OjqQeh+|s;lYwKQ~Ep7Q9?LPrLG@ zdHyzP0suQqe_uV_=KipNhjrH zk72UHlz~iiDV#NbnXYpM-x8iwn#KR_)*v7P%*Hcn33q&~j<274_t5>wZb!B2Q5+Ac~;sbvSh zZ4nK8G^SYU;_K#58uti4{l@;80?XaW%wW8RaCeHK{uvBd1wW~qaR#*aMwkO}=N z_eHf4@FY0;E0ByoQjG)VD{6|`8h|(#w+?*lqt$cf8a2_)-N3r$Mih3qg5ck8eg{QV zqrx*4m#Wj8=Ow?ah}~hO`nqy6{-Tox!YI*m4Vg zZF4o`F)e#pjZMjFhG(t+U{^N;iOtic+34G`FG%_`d`MK|6&zhUY!#w z`Zt46{h1G0%U}Idy|Ze%19x4>B+|m{!W7e1ipR@6c4SV6Ba|o z?RBEsVcc6&W_>Yoti$V_Q)G+#s&88q9}LJ1hw%I-yjR1xJXu5VCe=IS7=UCP%i26k z;`Ce-+B63v1;Mi@mtlbfnQqBtli29R{7vf&VgyT(rODO7(&>Je^%9Q?eUK-i;qHl+eDB%( zFTC#BT)q^*7rK|_HB55S++*J48tgla&DW-HvwJIfmj;}=c>j-V!<%fA%#_t*A|7cI zVZJWA)kO1Fy?JYkFoVj=&htz965Ri|zpKifO4$6hNkKJ3HEoQS<7V1>=*!=A0bx%7 z^s964u_iS;7k|XUXi361E&KPbJ-xOy%!j@b*z$*9LnhYi`$%c@LRRO5^FPzsI8|3q zHNJhK%Q4tXAtZ91;nxe4gy3ZT=2F|Zm5;osVf9q#m%_UfBLX435b7bbg}lxTWV7rw zo{uh0tk6SM*h=1?>PLd1fvJO_=B~GVW$hmFR_~z%HFJ$N7hsThRMhBG+QK!IOZrqW zFf;g>s0z)_HWI&xISkGX8Hg+s`%czwZ9G3P?2Tgv8GpAKI|ndLPszG69iV#Kf4GER z5M%pxGYSw;OPMgnD@m1|fUU@UZmP{1`8R!Bb5rg@1K`Gb^U#smgor>#W-#n%(INaW{!VxF#p&+zi+3ymtDiQt2(_={K z+cGG34_O8fyk-+CUU5%K9wz}n94gkA2lTs3v3BG)ohKe@VhvTe4_$gD>QzF9e7alW zh8ZK?RPFegmQ!8yZA9e>%Qt|%Ymrzle%8~M`fV0Jp90ove_qGYy;tZgJi20IlXkmr zwY1EGXIt>r^J}1B{gmOV~f{%xcg+RwlZVES#B?dgf?2- zt?RoOpZubEMdznY!LjV}%z;$_HT;siG~6$?^o|&+Nc(M3`6okp*N*$M*fMPHg&MO% z;gopS14G76DN;4FRF!WVLh5?u{3ur%q6)i+f58Em;0?R+{g3aFINlL;cPHaJlGjd` z<}kkd#e^9Gw5I`=g6oFnX%((|Pm(`mtv%j(tfFLXyk?~S&4qLi5|uvN5V7U;Xmp5z z%gjuw{ry7IbPmDj`0UXz+1wjO(R z0geTTgDrAnv?}ybkz3qMtu`N}yFSeoMbS4q^0i#u5eaeSv$)=_vrEIVq7x}*GlYB8 z-qpRjt|^Ve+Ozp14o$Ee#>Lg+?Lu|(ZG?|uyneyyI+f%Nvik|0KsC3;)jkk9RaYOw zafoqG{cXdoxpR$~NrWrZJKr{lR(l7}_f{`{nVmeNVZUYW>){Dbc=Jd0y}%$zh~0`w z^^?fe7+Pfu%KT^1KYa8%r5s3BXE*2%3kmHplj+R-Y{H1NSYR_Etg-dw|L*r;sLzWx zQM5+>?xf)XVb0||k9bW38RQtE_827!ET zz_NeH*RX$oP$jyg3odNfNIv7VlCf^D1U%8nXsOaE@6HMv^@?sMi*#)bXV)nw~+A4cD1 z-q8P%bpBqTnU@nLyTw^Ef4Iwc*ND$o8+?;01I!O9l`BVXbY4H5`8n~xIaGvpi{Vw+ zAFHc?lHj!k*hh;a)aPBOgu%&L^PdyTUo9K+qFn)Pr07UUf}t^+gitp9zH0KL`%wJw zUpsfQU?rs8@rp@#Y)9>pMQ@ufntoSR#G;mD=0b+uzT2~z`>(`cdsJc0hrauS;w#r4 z@!3b6w+b4#mf>TPkiSnOXRAKEW6~j0FpRGj3O_5WyGQm|?Y;roXAPFa{d(`+fqaS0 zP&jXk?`ko(SQwmFYDjAjlI<=-*oUw)1*5(3AT5(xm@Z0c z-EY`Tf7ewZy~t`fmXskIY_EPnJYaq1oLzCeP}|vB{{4##{tld$=h$Jx_dGVaW~{?Z zeqzWC@Mz)D3*R_~PdY-{c6UvSF&_;7i3ix(r8`Ykfgn3e{Bw&v@!nH)>a}$}5mQ+e z?tNOU+>z-`eAB0xLcvSq+jBaWhYnm~YZZ?4Mr^-oyU-Qs2|{?v_v1@9w{-2?fqNlp z7l@w+oYfPu8G0IY?bi{W4K`Fa_D)DfbVQ0CmY`^3;SpXHNrw`Kza4nr58FU`Z_!%Y zQ*4Dl4h3WH%=*D+^(WfbgsD2C(vy3)fNe;kLRUsbCZnUe$LZDVZ*+)N;jD#`6?)(r z{tnq~HhyT#N2u#39)Zl*C9EtJq;cs1g?Z%Qip=P9O!w?73317eJ1jQe#1JQFqr9!^ zo%>e#e&CST_5P?e5YOgLZ%eWfO;`jp9K1cN7FU7-memJ!u;2NgV}ZFfr?~ZtOe06? zbP`m!hw)ClFiGXze#j?8*7(Z|e3GuCyd z!jG+A3+!GxWqpcf1Hs$MWcY+49D#YL>{6pz z$pt(mXTIvEj7yqL+C*G2?WYzsw@NymERSfs;e^4brC*O>p`z-&neGTobf(0TPJCaL zA%SEh6M<-rwvuNYY@amSm35Ke$)qOm0+4r)Cpq*D7D9- zck5(0mhQp|9Z;li4lE)V9>rL{Wrd{R1ReH@mGl^fg!k+d{kuzFnB}TNU?Xb11L|rE znmdYZe(N0>uSiGJ8&-tB(V2glQ;*;=n_ud+%zr6KWt;Af8inrz$EXboiX4=H=F?Zx z(=RW^mEXdcNYfdYvTfN<=88Azm8_wx?PmrfbMB@|RC5SFpmpb=KCv_vxdRo#`(HW5=GRy_~Z1Ynps>>;Qc__e|ED*+#;AoI*b| zzU#buh8b~u!Byf=bT1j-DWG*_J;c;h}!kzc2HW@8+=UF>Y=vouN7sY9J?lMzF1QO(^~xvLgr({{8i-@;M<=0TfK{D;-rXF+p))PkpiYTLOpSET|l z3C84G;(x_Ii8z6|N~d&Ah+5QfHKrS>7COZ&0A@I=x0DRP=(!B;AHgx z&3!HHcRqa!RoV2`0do)NeYEz)1f)FjyuPUG?W`X#mTpqbU0#y)EQF`tKZP(WBQ0#< z$U(o=qd=79p$Fqu*<{#T<%Gi%O*fgfR79|>h3Ojh74d-Nj35;6FCbg8xm8^BMU}(u zMW=eGO~mj+G@-}Tjbv>w=(WBYB3TBo%$lLAAu$I}-C?{i3+h0l$N6TLau1HrxD-e` z8(l`NDwfSdk-Bq9m+L!CJ7dzw!8$Xqhz0LhZ@*2Tza7BYS=6@OcL_X}`AaeFgNgPR z!=pwPj=9=Pfpt?Gyq>6za4efYkWOMOD()edEtayN1{GFkQ}&3{=MIlwhCEmT4pNA? z;odDx+HAA9IvtYfQX*U%m0d#6ftyH6Pq9lsk~XIfqk7x`=OR<^nEeca#mg#}0nsVU zQ6;%}A%EAxAKPs*WS#RFl`#c|b7t?Aih>vzrILB}W-gP?F{_*!@dC%d^#>d+GRRl%ETHaNF|tgXBM zdZ!4ex^>@#3)k5P7kA7X3hY#Q&;kv?==(!8rL&tW!|%saMiaxrzBY!DyiTxbtb7i^ zjRZ+)utym2t-;aCG)?es$T+r{dNsdtseh(U)ld% z%KH8D|4rZe|KY_ii$D4AJi65Q_}xz2(F%Z&3K65x6MznN6Iz=5HwPg;$-RU~?NYt6 zW<_;(MfGwvCC~bBJ6hxyh&wzpvwWFgqI$11s=TJt>NWCB8xOnmBQv+L)GU}?*x)Q3S zdC-2fo|gYz4}5tizk^C3S5hhOeirGNg7KL(h^7$|kcWdMZkUjVBUdY5QLBxN4 zj|UG40)7p%$o>Jz-Q!puY!BbZnPEULSG80d-_*4uCdwU(O&pagz+zWt#PrGUzchFn zc#QJkBy*U|=Dm*K5}mlnmkCE`mB9?M(YFV^l^kfhV|d^dmIPJhb7F#@k@FoP=Nls9 zztUPqNYXMSb3B0TSe8OWwIFAvs;+JAM2!Ny(knXd#C89B}hO(-ZWYVMgPEs!a~QOO_AbB<@!dEF?i)wKv2kgBd{XtSBna z1GtLmF||73g-olh1lHM|sp11dOcs+7{)XGI3 z5>EvnaR8;x|M3>{SvAl_@#5vV{eG%5de_z3fdZ8Sf+JNg6Xf#fZ{r^Tr<%*7hh=Hk zUmi@AFKm9e-f4o!b(X+UfTlS#sSAF(vAS4r)8!tF^Y1oQ-0B!lP zzv)hcZZB|PH<%_c!AnJ<63%65Vm&1?WiAdD5Y#*%%jSMXLER|v%3e+vhKY*x82S^?p#iU4lm6fF z75(wUm-XEl9(?2@0UCoUDE=WkB;cU5g#l;Tfd$h1VxrVl@l~-P2k`#;*K*v7Z8puI zDz|}@dE7-E8`89q+xpa``FH6eza-2Aa+Z$%jk~4N!YVh3fbWT|6LX0#aDa!OHZ*%yN1N`$TsE%uRJdW zXG*HMV_^rh0?VMqY<{g9&$SlENQJ}h>rJ5+FMycQIds73L=AVNstGAviu9tSYZMu+ z{d;AW=wn)r#&U_aKaILSjOrlboo_Gf=aYiP18-p)T~{P)_%qB&igcCsEuF( zw>IYEg$PP^T<;%4$b+Td`>hO?sNpcfqu^h9i#M8_x}rWZD-o5%wOX3%^lwJT9?HUw z0%V%lhHOXR{V(;f_{V%Rer;oXD*PCv=Hmzuuj*_(f1)z@)NZiXqYVE*IxemG9<7XK z+;&=#eygxu(7pnsG{zQZ9@D;n+YwxA^iaY^@RHB^TY5mjJvz*WVS`;(d=C5C_o?b) zI}#A~dfPb8)Kz&J;r&mAAK_qv>ms@?D*woS1q1=g+zq*wun%kq&pPN#e(ZgL(JStO zOM;wNzC)DTXWFeE(=MBF9gh3Uk-v{e;_6q35J`(4eqor~#nzn&{T*ol+|-%E~Klab-0_E0!VCJA2oq zKH=4tJ%36rsyLTlq~#QD$88!(?DY-00!ksBh6Y#6)O6sKlJRc7K~~w0`RkU(LLI2J zy56RtA=qM2>c8{s(F+-C^?us6kfk*%{o$eJeu|))c*~614X<>((ms=1=tr(lmB@ta zF^P>9mmf(I0Aw*f$k`A6POLa67vYk+ZVqrhCePJEizLR)_p%_K_3xTKvWsXxv3~44 zM$ntH23nBh~^gwpbzZR zgGc+?C>wN~Vm&ApthD&ptC#?@D?wgM!+k`nO#=+FjyNV7DosC(3OG1Cnuat500;Jk z{5BUO#S(vi`V|whUtr;*8a8pxx~=r*#7mB|yxX~(dQQdN?^lnNhF!8oR=D9S=<55% zavk>e9}xwxp7>o$mo-m2UlBajhToWR(g~i$psQDYqi6R6%t~)FpHV5dC}rXR_!^dp zr^RIQ%^U%l9SO8u8Sy515J_wW0`7CwtaNR)wT=4c311G_!UPZ4efnW34aMOG>qwcG^5dRFst0=lBDJ@Wc(5; zxLnXNk|Cu{;zC$s<})B{E^RHTv6vVm5YasI#gjRIwj_!>#zRuf99;?G2lxW^ zXiN3;k9PS%mlv0Eh4X_VwB4ZfS467o(9CCns3&-Fbnmwuw9*}@RGPSF{A#NG(-Y}k zz4b4GLV9*QBW@-?Xp z+Z1c@A=YpVn}#2zgiVsMX#CJm9Nm4b*_K}^u;vogD-I0&wgyJD&%QErNz&|sO3l2U zgo57b7GJ_OZg0xSi7wy!wX4c9wOAl((jSK;K)A%~6|`&E!tggE)_(YAmawVRvE5}O zKi<9d!cL>xA-IVUVRm7%MQMwkFRP`xelZdJYbF5~951|TD$Sc~VIuZk>Wrr-KSNOz zaVGlD!Y7?l@6?INoI*$HGUzh&QvE2AU)e(5jYq5BoLhQ;bzsJHZg={7>BC^(zs27n z74u%<;5>VPI&$6u(;0^(6kpd2-<-JbP=}zNcJ}-u>+rTAU~PDPn2*mq(CJnYWY)J< z52zc=^)W7M{*k1NtNpbLD@eDeFZ7rZ=OYx-&koeyh##}O7|SN|(G1k3&DZt`hTftQ zw_W5N7#}RN{vAjT2ER6zX5KQrA}BpIP`732GluBWc=63W#z89UAmgUZ05PtL^@@F= zGCOz8-ytaX#@$7+G_8Wab*|2x! zDYBf*wxWuCJ=Y&S1ldP|Mg}$C3c+`L+dJY`uR7#YL@>Md;jUT~${>~rH_+~w9Cy9* zTn*8C|G|_Vc^?8Zt4OB0dB1(S_mws;IjWzM0V#kE934Y0*n#Y}@%`7c(no+p49L!|mM zG@HB966!cwtB>xrk9`VZ2E{&z%a(n(rhdt9<(~#7mRS~LC31jlz3EBbcjeTxTjLhe zB+|wW5v17%3dkYA(Rv;Rdp{foVW zHJ2tH!N;Lml+6jkuLxcY)=-!$FU~B?e;BdI6c~2%3IA+TRAc@^D-NtR6@tK*zrj6~ zX^CZb48;R`_a2lF;xgCnP+Osh%evZ?xSjKPolk!`YH_Gl?% z-|b#|Zlyrc0+r4us_xEM6f`wrBN>7&)1XaE36Tb%gf0rHVVcbE66BqIc!gm7NMYlV zWp8#2KL4%sQv~h+1Do3B=>Y)a6R6P`!p526=79;n$Hr^) zIzdyxnx)@Yx3(IY!uM-G-y1miNCQthm$&~O1X#qcUX+41FRFnP70Und>M^fWT_4RR zIOySbq;}?rQB9xUhw4{^E7m?A8duIJ;Lcx-BeLvqP!e5F*(?(RYKxcNrT1D94hz;| z(!&#DJq{JvCU2Sp6$pwwVLS*&G6b>F=6=%EXDM%I@1@~p#mS?qTw z%^a${hteDvn0WBGMG5#S!2o*lkM@!B5kX~@YeZQ4yx~npz^l^TfbB6`?K`iI$`KeT zF`@d8l?%tbVHRA6R005+ZJaG`2A+JYVP)47PRJEY_1o5Zey;|+1f*QaHIlpQ>;8Cq z^JNrZ-j=tenqz|+KYJ(h=wjQj5xCn_me+ac5^k+k_r?R8djgrfwU&Unu5dYM->7rD zeE&I0qt5S6UE|;El@K4QI&ti}zB80XLV}|mbDQ+0FsaUog-i&@FgGI}epgC+l;=s( zWQgQ9SC;+qwyYbFOC7{#6#$1n)+6%AJY=KtZ`Vus(+3z@w6dAbe;Bo9uY7T)vmm0Ndqm} zFKKXS;9pE&pV9dta2tc1nf*^=yua=N^yfyJ*f@Lw0O)S?yY(##-AFd%64EP~$tv&R zfCB%em5aY*$4N59@yLWeSQ5bvBd|+QyNR0r6Vx$PLU#NeoMOFu9FUWG63{CJ9zarL zyYUzTkpU9gz^*Mlv0WN5?b#O{&S^Ny?#m0xjoyF5l^`9ZUFYuMw9M$(OY$lvYqMnr zylw88jVx+HG3s1sb76i)(92@+4?wp3_$<~9ZhVRdXuAM)SN4y$AV|$$%?Gh_#;@A+ z$|1Kjw`sc>KDoMngXT$dCu2D!gAnwXcp>r`mu7UuQ>oAlKl7 zUYh=*mZ;X4g($-dlrVns^XSo~u}%ES1F^#ht!$5mf9+m80;O6Mn-s$IDx^Z!5 z6#HM=9@XrK!000UvTVS^NAY5LpHN*k(EDff$Y*DG3Ht>fD71T?;A>Y~vO`(2rMAGj zt6gZw`R04Aopn*7+pgja5cOnaeNa-2??Ki34s&XWs;K7GA{cc$VW=(HPchyn8t`Bj z`jzp+7xQpQhf_P`^d7(dS3H0hu!akf_Copd6(@%lZg)J9luucxheN}v=fBXz6A!?W znUby%OQLkVc8?G+XH)q1vs$14pm>QYGG9}LS=GFX&b)fi72Xd(C8lxDqB#vYbb1md zbVCidR*xT7U`dA#g@52ASHr})I-dZ8_}XZKx+1WX;*uakl{c^K7cL+rf0@`^Dz~Pwr^Y$PwoLVXHKZOVoc-l^=u!%uYYZ*qiLd(cf-XSq5myzIKut3Rm9>7n+?{b{G7r zQ3*3$!WXM~d3D>s$G)>QH2z;*9FG$2#74izf;@mDqcV@R^4RCw9ULwG&$fa8t(V|` zdl4`gyiREXeBw&MlGze~h`T+oDdc^|%cb?Y1 zNvtV$b1A?Exr|!=3%l&A9_`D~tNpD!)(I>A7pOFO-2umUS)<~DmyvW_Z)v@=7%`QM zfG5FD46Xqnw0s*|v)u7nI@DKhWdz9BHXk+EspuFxvR}7hYUCQo7cgv-)oNGPk4DYh zFE}=KM}|;?wb%Y-6RAdPY|p7p>`WDw%>yDgT(>FU*>zbDWrt$Vxoj`&5)G=^#rOI4 z)+hnHK6qC7r`;g1fy#V!QQW&f#l0K3@LcF5UHLS=fw25LstrM0oIW!rzlb7mQPQxU zU}edd|5%Xr;~%1-KrO{cjd{1m0c0QdpgHA#5tH=)0PmvRkg}tvDKrd~v{>-3!xhH`}4XK9c=OZ@qGEga?EO&~CF=2@!SMpI;DBU3GCV zfo71!W3yO{BY?1$vB)lIhithH)*6BujqPzwi)%O!p65CcDv;uiiHKkDY6K zd}{X>cAPRvZBq&4suh@QK&d_(bV4M`tysRK=N&PyFizcdoCZ`xe8l)D5+VXcP;fFG zMu&wUQCdMi;7(PI6V)RlQaZ$>$VH&{&LF18ZxZ0bAiPo?Rq)zpJ$`>gybVnnkd5R+ zWt=kKG()`HQ~%~{p&vuB)cY{$;I}uvZi70vh@8B#Zg{qt(}Ps?te~cn>pR!#Kh4g1 z=6^6Y!;$~1MsPMIFZCOF=y<2O&tl_8_}>w=f}isoQ4u7`2jqjR5j|5s-`f0V(j-gh zMcZ$E>?`tGs5BwoSDusW$!*lxOC=Q1w`hEnyqFUM#Qe&ktJCh$7Op42;3Bix(0b@a zX}RW%oEJ3|tbVOqJ(n*3Fnn&^V0H1;b;ITbwKQE$AjET7z4zR*r`olt9iQ$Jhx-%A zo%VO?78526y&ZD|=}EBfu=Qi0NEHr@(!5sP&b7M(6jt)B8<3(ZmX8q9{{(e6Q zj2j;S&cV4db`a!yX)-Glu&%1xs92ei2_bi%+Rv`U#PzFYeOB981W1LTQjATm!X;G= zV~4jXz`68fT2p>q-vW?hlJ(M<-9e2E;|hD0({c+E%g8t7-cS)ON&)6qmOL?*Fi<0@ zI-L!(iw>JLq)3IM?$GK;SB0>)=C2nV-s3J6^L3bmDTN@7zYl{!5zk3qLX=z&q46q_w;!9!I5aGkWzNpi45;y3hPRlLf zCTKjH`Hmk9NLfU9VQUO%(ilI`IHGxdVVoEnw%h`$( zrB12GZUwMoCaA6}f;S-0H$ujvY*cLS-9lFbTQ^`o`V-oW>dCgAhQ~j1?Klh8h5?`xjR=x)j%gbd$;c|ek zP|kl12#lsmOCj>7Ay^kD@}U{~SOQvK-osEq6heq>G%r^TpT{Z?GYG=eJYAOm%6=B8 zGuZdKT;j}6CrmOC&C5FdxHLFK#2l11b~8MO6~|e{%XnN&9+DonbHZeA)9|MYDsNo! zg3hzJd;*OcYUyY&?dD7Yi`DAM%CKu8v zOkQUTRs>zJT2sDkmvGW`=NPSV&;l6|VgP+bKLYr~o)T*ySbTul_gZZr5StyXA4!~a zkKK887kk?!AU4iDQ1Q&_GJ^^f2e|w+@!@=olMsnarq9qi7CKkIjaSDu(MsSstsH9YI~ozCxC$i8ts`s109_5Api zPoEJF;yt@hqb94w(!Xs!u;X9sGPl+N$$Khz*usrHTn=}d-|LynAir{ENBIZkKHBUU zDvj(6eO(IuYGEqO_D{-qX=m;HW`r};9y>qKy1~IFqj-}dnvOis+j)AI%PUmuM3O8)*n13-=9=eOj#BiY}8a8fsM!%+grgZ-BxaQT>bx~?qqIC76 z_Nd}6w}E>mPUGQySI8{%1%{ufcEJ`n#3%b=o?hQ0PGi^d_c_wX5-HDiMPML#{6boo z@q3OvWrAwl0t6hJcE)LSMzcgS*z%g}-?)2X^F=u^RyP1#H_gAWG_@nXx>Y_ZvVpFik!?5)Zv2Mc=zZ==T!L{9H^Q?Svw|x=u$#Dk5 zT4*`$?qV`0rm$qKS8ta)%#mwfF)YZm0E=6{B6@kHEogaECzhY|mr zzOLiMzBuq3`8jfiC(?J|CiB#-VTef)wv~|{OAy)J$-h^jP-jIsQ?isTHromv>9Nl$ zqo(#{%THkuc;B59I(5bQH%xOFS8({UeNS77d|CVQnQS*=urn7|itXUef?QY1L>5!o z7Y&|H(7EuKwlGn`XJa-w<@6+L&a0s zTgWxp#X&ZcH5?-3a**Z}uF%vPOvsz6-PWg?{R#aT$>f}Bqnc*U)w!rKPEk!2M(JkFCuyk{IJuF%RbejP@y|kvjgw`i#hUzyZwY{G@WwgpabKaQP zJ7BnyJl|eVD?W+)+OthEhm zE$Z>_j6eLAe7=f=RULAUEk7-nPTAnz`_&iCDN!|ve4h+YHFRo04JLHn3;W2|$2Qqz z6d0r%qOP%PEiqA!O6Z-%!<+5^%vWiHBN7|&80KHdabJzZvU~bE;stzCRZEoVg4B6 z#BK49y+xfxomz!cLku%2rOlWuz8)}e(MMC!J4rp3h`rb9(j(WTX%`F=TsBDOhl z88qWfrx8x;#s1LH%X7dFQ350wf<#A#>VZ*N6hPvhu5U(=jZe`dPu*1pdkuT6{!9CF zXZ6?c5IR)x`DR>F|IVpSAKcn$r*Wa7ctOrRM@VV|cSzWuFKR(cA8-HN9kO+K9Fu!t zsG_@e!wJoolN*eLSp_PJ5Udk%4NAo?GBh_8C>rYkG!@!5O|^8iZmb$ldB4-GYnq@L zO88p)5U_gFbt2onF}?z=U*;AI5hE=&uOoj=TMXKy5{HEwb6*SQhYOA4K{GifjD(Df z5j&-&9~EF5HuJpyp0Ixqxz&mB*jK{6z!N5wJ};XABJ0I<;RTV`8?>$t$b)BDN+SXTk0{c0_kqOW z@2!K%;0JK^=D!SE^6OqiW=!n3RvaX3C1X^>*S0z_+MJt{%&#j(o`~6by9c)!ACWfA zK0mHZ7gh2n`hTNfDuN@%1k+k0Xdr1Wmx+=)1a&)c+l4F*TN6d#+*_ z#B9vtc4eX3lwQV0jYldlY5eOM{4ePpp<4I%^W#w)#2Y$^Q9}tCp)UnLK#$bBXB87g z5O<#cz=R3eE#nl>V`{I2Rvq@Buk%(MP~;8Cm^gqx@zAsTK&&mlw(?O3)~}PEe^T~1 zIz@YHmzruT!~nt3!`N5`MK*eRjzVt$U!axo*aR9T9&Rbv7J2t0R#&iY@A8RHkTLD`VQI(uD~ zG9VqA*NQeQnF5u*7ptbVHcB@PWvmit+1E+ekEBri6{Q8osgN~)YiDfSAUprFlAA7x zQZk$Qxj&oxTm?8$ZPq&$Y1>WKknsA9&*uuk`|!B~@+_+llv`4IFngy6Xf0S`%0zjN zZf)XS0|hgaGhc%e46mDVuUlkvc8w+Zp)W`-y0D+2yz2in`?A|mD{pK2k=T4jI{(k) z@J2#$q~DTV5`BKdmPU9nN?!otN_iwRCPVMHNhFM}BXQ!Gq5@UE;JAJvA`MfU>XNl~8%B?poBr%zgLIxq(s4*(XBc@U}fx4W6&_|TkVY&(`}(EMh`=il(W ztrsPM;P$5sDnD>~;MD~LfNT~Rhw80gFR?Yg;<>J}K0(8G9Y3}6@aAIX`8ErJtG+L^ z;&_jiZm>=d4Ho+Fp5fqjZ`}N#E$z@yg5>Cnq1iR0PFeQ;rw39;+Y5VR2!Rj=F6QRq z=tMt@S7VZY*h7{wa@0-o5*5`33CMlb*J=Mg{7&lP`%Y2LFL5i)%)7;D6mw*v_Po{rN&6-M|cldcBb%V8mS}^uFL<$IxGd?4GRJkmu6;wse0uZsf;{FNArV zwtLByz~WVp797wQP<4mi`0o)~gf9;kNsd9+u^nQBQvT;%@K#@-OpZ5)i|kG2L46aI{iJzfM#e zYd97AT1ykF zCEzUImYz*o?>xgx;hXwu-g@|fmp}PWG!u_5D$8SIa#z=VblH5e%L4%7taXR(2#*af zH>-<|l`DXx=K1eyBKaWvp1Y5}RUC~!GywEP>#sK9I$LP056>7K{!2BEI;|;M4Uxf} zAR#<|`u}O~N&}M0_Bd+UIOAwfE63bgrp3mvL{r=-YiuSPD;>uiQ}nrIu0aNffQ?R0 zlS_+&N@`|mlMCi9iQ1;6BB?1N29_aD0nr3yQF#}u_w~(}_vv-M-Q{r4J=}B8J^%l2 z86ESFD+vW*oTDU99?dqzQC^mOm(pHGUo(R(n2ZuxppOr_&qO)=WL(dI9gY9FdXSk3 zZnKIns^tsNmdr~y;$m!8N5dKrJ7yN9l)JYqgrAzOhiFCQXf8@E z1{c7utB-MWK^OXcK*ubgQQT9ui}M9i+9E~h!@-%6aDR|1eBX_V*(Xpy?Bta6c)z~u zec%4wVwVlSh;6T)G2}gh!h%@91qxy>QTeEnZ#UF8m7r<`7q-4K$ELTI5Sdrn=yS{gvDjfg^wW;p^h#>RX*bDJjL_ob z30YeJkpuAH9miwnzquam`Duc1(;S)2UrPNQIkzdCB*; zuAXvha(lr$nHOs6@Paiu#f?>Qk>gs-F~Pp)Fd3)gO7Tj~fx}V*1&~P@s;xT2#Z!S4 zP}H34U0GG{>CEDq#BxjKQ*@kiiW$7z@;+?>cR^p2Tsq|&>z-T7L}TN|rS$>rY@lC2 z<$(6EM}?KWah>+5`L>nrc7LTdg^&ERRy+>)*P2c zHw%CvaIPeqXO;F?p?iz#lDBcVbj=ro)37dEiDOueYs%1Ic#yd%x`2N2@%37j#1<7d zP)RMGM=KBH?I@ytWBnkhHF2R7&H#uhqk>;Ud6#UqBZ%_~HAz+lW*)qL@LPhxv{~zU zQH-5NaJVLEy)255$onxXlC%DTvSCn5D5~dQYyr=-O9y`M&f#6{!H{_)4>?XE#3+`8 zhw_7WZ?VGpRks*i{JN^9MxE2HJ$E$R3Jz01)X&O%V47U-hT?>(&5*b=a7v#c66+&9 zBWU~IR<0#gax+(7p~>DUpxjcTM!n4}E`Ce0NA6sKbpX;U{sv$2^+--w4!dp>5KObB z8yAFGKlZard4gHT=t+Mepp3};kYRb9y6zF1;Bd1^z8n_{=VX}v;dyQUhRvm}-o)b4 z&E#S~ou{Lorh}0*%1x@}qiHn!?Tn%&Zo>^=sO^Q+A1eSmUUgs))Kp*sK~P;W%@PE7 z5wbXToDisTKK4~5)eurceL_j~hr$47$-DZ;l)IN-sYOZXg0ms*FZ@VmMMr5H6pNib z-TYQ!9yTxliXZHlb{kK1mu5ML0^mo25-SdyRJik(-ge1Y%c|`t4Q^1yy0iJA&IqL8EOcJO zPbYkn8f)PBH9O+ZucDLBua_bc)EH^4T;s96N^0%5K?@sOiwiYu0yS$~zO&C_%&P(8 zbBJyLyIgd$i;vOSH-mXwY6pwRw<$r69>kEcw=#^=a*g`z(BxSMk3^#16^u%#A?rPn zsS7TDcu(!==K{*#_XfxipLdDRM-Ej#c@CO#*FQoU{}y{-m&1z(Bo)*~_M!2l5<{FL$ooi#5@4$%ov_r`!YqR>FZy|H9P!f2G{I>IExxmiq<52<5Sz z_7JO0skRZiJAdfGW|IMc^L&^4)|c`U4bhlnw#ph14BM=O>8Y$lj2Uk@VM61x(<(A< z&E{2|MAN*3yH<|Iq_C+cFcojvm(khrZ zuH1t|Dycuft{p%>3Lpf~@1%A>7Ysr<^H1MA>u$>+a=}WdgXhCgtj z&O3aTC{Cb@52XbXu#+b58`&teY{>X4ATc$S!!j}+@7=;Rt11mNY!1D>Pb(Hc3mES+ z)!&e*vK=ZOIy+wP@(uMlvdl8&=2h@@GCyn_Mwy>AWq7;}>wqxmptCwYn{>*Xt4hKtKWZyNiG->j@I%=Fa8LOSl)(D!0zKKO%nFS{- zrw8uhZx=OFoJ(oed&Eda6X6%GLw`~hCMBmA+~eA~ZWkn)jomw$*poog5NBj7o`aGy zcWEsGBFRxh;@G9>tm!SG5aK1z=F^Wk+oabJp`D}XPFdQ}9mGnPI@E9oF8Mt#APhRS z|Dh{>fYB|iXA2JE=H^Fd$ZY2Km;y}pdYL+I16czOD;nO(bUJdT0&!-S;_d5Q^x?g@ z5U%+geV&NFSD&@5i_;*CE}YN9wzpR=BU&s&hLNM`%GC@b*+OcXr4BSaW6Untu7t{y?uEX9!r>PlPQFv=#N8|$o-UChtlLm zO}8X%O|T&Ty1o-2p?QLtRcdwKEO4*giTxH6ZuQ|qxnbxU;L%F;hP z3Xp6L?PPI~sH#`Nzg1S{#au5f(b%o_+({i^)4V07`|18)^-i~7^S z9n|Z#q)z}mw!CO-jB5>Yi6q-xDT*ys=t~V5S*>)-8xb zV6yL}Z%xFj)|53j)wLaX0R+IBp3W5d%f;nz2QPrIwwkL22?0I|@Ix3zx+YgBRj#bF z0HhrNm4nbpYv4K{r);1}$=-pQ@Z#0&p7H-eYkF+nQAxH}y(I$8QdtT^xv=gKXQ#!`D0P>A@=_O1)-zCSO5^Jk$rG&YE^Rl6$dw+sd16c^GI(E zlRe3LZfkS(8bRnzadFPeJx5GW)~`r$H+aU_Gmj|7A8vpB)=&L#|B;${9$kagk1`M z`)$I1Hrcj#a@Pf_`dd$3glq+$j5(9hw4$X>6#=CtLQvZZuw6(K(&bzxS-o-qN{4IJ zgj9Y2zSFn7B%ot;7YKx{2Zy-6E<8#CC9&2n^`oI5_m7aKBnbIRB2=HB7SV$$vS_jq z?mqkBVDjtJag8#pav#~e-L(~sbSj(b`E-rJhH47Qmrltjb{$<(jvI&kx2>WA2cUGpu)=uV{yzTQkhb3P}$~^v^)_U^_0<-2sKcAoH;Alt, the **additional recovery information** screen is displayed. This screen contains the **error category and code** that you can use to retrieve more details by visiting https://aka.ms/unlockissues, which maps to the next section of this document. + :::column-end::: + :::column span="2"::: + :::image type="content" source="images/bitlocker-recovery-screen-24h2-additional-info.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2-additional-info.png" border="false"::: + :::column-end::: +:::row-end::: + + + +The next sections describe each BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen, and the cause of the error. Some tables include possible resolution. + +### Originated by user + +| Error code | Error cause | +|-|-| +|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.| +|`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| + +### Code integrity + +Driver signature enforcement is used to ensure code integrity of the operating system. + +| Error code | Error cause | +|-|-| +|`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.| + +### Device lockout threshold + +Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. + +To take advantage of this functionality, you must configure the policy setting **Interactive logon: Machine account lockout threshold** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options**. Alternatively, use the [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) **MaxFailedPasswordAttempts** policy setting, or the [DeviceLock Configuration Service Provider (CSP)](/windows/client-management/mdm/policy-csp-devicelock#accountlockoutpolicy). + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| +|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| + +### Boot configuration + +The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. More information about how BitLocker uses the BCD is available here. + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_BAD_CODE_ID, E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application has changed.|BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this data changes without warning. Refer to the recovery screen to find the boot application that changed.
To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| + +### TPM + +The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. + +BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. + +BitLocker entered recovery mode because of a failure with the TPM. + +| Error code | Error cause | +|-|-| +|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot| +|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated| +|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted| +|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM| +|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key| +|`E_FVE_TPM_FAILURE` | Catch-all for other TPM errors.| + +### Protector + +#### TPM protectors + +The TPM contains multiple Platform Configuration Registers (PCRs) that can be used in the validation profile of the BitLocker TPM protector. The PCRs are used to validate the integrity of the boot process, that is, that the boot configuration and boot flow hasn't been tampered with. + +BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. + +| Error code | Error cause | +|-|-| +|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.| + +This may have happened because: + +- A disc or USB device was inserted. Removing it and restarting your device may fix this problem +- A firmware update was applied without updating the TPM protector +- Any example at https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview#bitlocker-recovery-scenarios + +A recovery method is required to unlock the device. + +#### Special cases for PCR 7 + +If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. More information is also available at Trusted Execution Environment EFI Protocol - Windows 8.1 HCK | Microsoft Learn. + +| Error code | Error cause |Resolution| +|-|-|-| +|`E_FVE_SECUREBOOT_DISABLED`|BitLocker entered recovery mode because Secure Boot has been disabled.|To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. Re-enabling Secure Boot and rebooting the system may fix the recovery issue. Otherwise, a recovery method is required to access the device.| +|`E_FVE_SECUREBOOT_CHANGED`|BitLocker entered recovery mode because the Secure Boot configuration unexpectedly changed.|The boot configuration measured in PCR 7 changed. This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement - A recovery method is required to unlock the device.| + +### Unknown + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md index d8011c5ef4..e21c99ddaf 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md @@ -7,6 +7,11 @@ ms.date: 06/18/2024 ## Recovery error details and their causes +Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. Instead of displaying specialized messages, the recovery error contains an *error category* and *code*. The error category and code map to a webpage with detailed scenario-specific content. + + +## Recovery error details and their causes 2 + [!INCLUDE [insider-note](../../../../../includes/insider/insider-note.md)] BitLocker recovery is the process by which access to a BitLocker-protected drive can be restored if the drive doesn't unlock using its default unlock mechanism. From 180ab5768c5d619048d5370ddc1477f8fd5e5cf4 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 17:06:02 -0400 Subject: [PATCH 071/354] updates --- .../bitlocker/preboot-recovery-screen.md | 107 +++++++++++++++ .../bitlocker/recovery-screen-error-codes.md | 128 ------------------ .../bitlocker/recovery-screen.md | 5 - .../data-protection/bitlocker/toc.yml | 2 +- 4 files changed, 108 insertions(+), 134 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/recovery-screen-error-codes.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index ce03b1fa0b..388cd58e51 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -187,3 +187,110 @@ There are rules governing which hint is shown during the recovery (in the order :::image type="content" source="images/preboot-recovery-multiple-passwords-multiple-backups.png" alt-text="Screenshot of the BitLocker recovery screen showing the key ID of the most recent key." lightbox="images/preboot-recovery-multiple-passwords-multiple-backups.png" border="false"::: :::column-end::: :::row-end::: + +Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. Instead of displaying specialized messages, the recovery error contains an *error category* and *code*. The error category and code map to a webpage with detailed scenario-specific content. + +:::row::: + :::column span="2"::: + For example, the recovery screen is showing the error cause, an error code and the option to review additional information + :::column-end::: + :::column span="2"::: + :::image type="content" source="images/bitlocker-recovery-screen-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2.png" border="false"::: + :::column-end::: +:::row-end::: +:::row::: + :::column span="2"::: + If you press Alt, the **additional recovery information** screen is displayed. This screen contains the **error category and code** that you can use to retrieve more details by visiting [https://aka.ms/unlockissues](), which maps to the next section of this document. + :::column-end::: + :::column span="2"::: + :::image type="content" source="images/bitlocker-recovery-screen-24h2-additional-info.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2-additional-info.png" border="false"::: + :::column-end::: +:::row-end::: + +The next sections describe each BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen, and the cause of the error. Some tables include possible resolution. + +### Error category: Originated by user + +| Error code | Error cause | +|-|-| +|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.| +|`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| + +### Error category: Code integrity + +Driver signature enforcement is used to ensure code integrity of the operating system. + +| Error code | Error cause | +|-|-| +|`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.| + +### Error category: Device lockout threshold + +Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. + +To take advantage of this functionality, you must configure the policy setting **Interactive logon: Machine account lockout threshold** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options**. Alternatively, use the [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) **MaxFailedPasswordAttempts** policy setting, or the [DeviceLock Configuration Service Provider (CSP)](/windows/client-management/mdm/policy-csp-devicelock#accountlockoutpolicy). + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| +|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| + +### Error category: Boot configuration + +The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. More information about how BitLocker uses the BCD is available here. + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_BAD_CODE_ID, E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application has changed.|BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this data changes without warning. Refer to the recovery screen to find the boot application that changed.
To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| + +### Error category: TPM + +The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. + +BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. + +BitLocker entered recovery mode because of a failure with the TPM. + +| Error code | Error cause | +|-|-| +|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot| +|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated| +|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted| +|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM| +|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key| +|`E_FVE_TPM_FAILURE` | Catch-all for other TPM errors.| + +### Error category: Protector + +#### TPM protectors + +The TPM contains multiple Platform Configuration Registers (PCRs) that can be used in the validation profile of the BitLocker TPM protector. The PCRs are used to validate the integrity of the boot process, that is, that the boot configuration and boot flow hasn't been tampered with. + +BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. + +| Error code | Error cause | +|-|-| +|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.| + +This may have happened because: + +- A disc or USB device was inserted. Removing it and restarting your device may fix this problem +- A firmware update was applied without updating the TPM protector +- Any example at https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview#bitlocker-recovery-scenarios + +A recovery method is required to unlock the device. + +#### Special cases for PCR 7 + +If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. More information is also available at Trusted Execution Environment EFI Protocol - Windows 8.1 HCK | Microsoft Learn. + +| Error code | Error cause |Resolution| +|-|-|-| +|`E_FVE_SECUREBOOT_DISABLED`|BitLocker entered recovery mode because Secure Boot has been disabled.|To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. Re-enabling Secure Boot and rebooting the system may fix the recovery issue. Otherwise, a recovery method is required to access the device.| +|`E_FVE_SECUREBOOT_CHANGED`|BitLocker entered recovery mode because the Secure Boot configuration unexpectedly changed.|The boot configuration measured in PCR 7 changed. This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement - A recovery method is required to unlock the device.| + +### Error category: Unknown + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen-error-codes.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen-error-codes.md deleted file mode 100644 index 1cef2bf337..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen-error-codes.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: BitLocker recovery errors and their causes -description: -ms.topic: how-to -ms.date: 06/18/2024 ---- - -## Recovery error details and their causes - -Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. Instead of displaying specialized messages, the recovery error contains an *error category* and *code*. The error category and code map to a webpage with detailed scenario-specific content. - -:::row::: - :::column span="2"::: - For example, the recovery screen is showing the error cause, an error code and the option to review additional information - :::column-end::: - :::column span="2"::: - :::image type="content" source="images/bitlocker-recovery-screen-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2.png" border="false"::: - :::column-end::: -:::row-end::: -:::row::: - :::column span="2"::: - If you press Alt, the **additional recovery information** screen is displayed. This screen contains the **error category and code** that you can use to retrieve more details by visiting https://aka.ms/unlockissues, which maps to the next section of this document. - :::column-end::: - :::column span="2"::: - :::image type="content" source="images/bitlocker-recovery-screen-24h2-additional-info.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2-additional-info.png" border="false"::: - :::column-end::: -:::row-end::: - - - -The next sections describe each BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen, and the cause of the error. Some tables include possible resolution. - -### Originated by user - -| Error code | Error cause | -|-|-| -|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.| -|`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| - -### Code integrity - -Driver signature enforcement is used to ensure code integrity of the operating system. - -| Error code | Error cause | -|-|-| -|`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.| - -### Device lockout threshold - -Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. - -To take advantage of this functionality, you must configure the policy setting **Interactive logon: Machine account lockout threshold** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options**. Alternatively, use the [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) **MaxFailedPasswordAttempts** policy setting, or the [DeviceLock Configuration Service Provider (CSP)](/windows/client-management/mdm/policy-csp-devicelock#accountlockoutpolicy). - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| -|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| - -### Boot configuration - -The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. More information about how BitLocker uses the BCD is available here. - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_BAD_CODE_ID, E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application has changed.|BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this data changes without warning. Refer to the recovery screen to find the boot application that changed.
To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| - -### TPM - -The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. - -BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. - -BitLocker entered recovery mode because of a failure with the TPM. - -| Error code | Error cause | -|-|-| -|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot| -|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated| -|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted| -|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM| -|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key| -|`E_FVE_TPM_FAILURE` | Catch-all for other TPM errors.| - -### Protector - -#### TPM protectors - -The TPM contains multiple Platform Configuration Registers (PCRs) that can be used in the validation profile of the BitLocker TPM protector. The PCRs are used to validate the integrity of the boot process, that is, that the boot configuration and boot flow hasn't been tampered with. - -BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. - -| Error code | Error cause | -|-|-| -|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.| - -This may have happened because: - -- A disc or USB device was inserted. Removing it and restarting your device may fix this problem -- A firmware update was applied without updating the TPM protector -- Any example at https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview#bitlocker-recovery-scenarios - -A recovery method is required to unlock the device. - -#### Special cases for PCR 7 - -If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. More information is also available at Trusted Execution Environment EFI Protocol - Windows 8.1 HCK | Microsoft Learn. - -| Error code | Error cause |Resolution| -|-|-|-| -|`E_FVE_SECUREBOOT_DISABLED`|BitLocker entered recovery mode because Secure Boot has been disabled.|To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. Re-enabling Secure Boot and rebooting the system may fix the recovery issue. Otherwise, a recovery method is required to access the device.| -|`E_FVE_SECUREBOOT_CHANGED`|BitLocker entered recovery mode because the Secure Boot configuration unexpectedly changed.|The boot configuration measured in PCR 7 changed. This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement - A recovery method is required to unlock the device.| - -### Unknown - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md index e21c99ddaf..42159aad7b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md @@ -9,11 +9,6 @@ ms.date: 06/18/2024 Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. Instead of displaying specialized messages, the recovery error contains an *error category* and *code*. The error category and code map to a webpage with detailed scenario-specific content. - -## Recovery error details and their causes 2 - -[!INCLUDE [insider-note](../../../../../includes/insider/insider-note.md)] - BitLocker recovery is the process by which access to a BitLocker-protected drive can be restored if the drive doesn't unlock using its default unlock mechanism. Prompting for the recovery password or other recovery method defends against suspected unauthorized access to user data by an attacker. Providing the recovery password allows BitLocker to confirm that the owner of the device is in possession of the device in recovery, and that the device and stored data should become accessible. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index cda7e92884..80e9036156 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -17,7 +17,7 @@ items: href: recovery-process.md - name: Preboot recovery screen href: preboot-recovery-screen.md - - name: Preboot recovery screen refresh + - name: 👷 Preboot recovery screen refresh href: recovery-screen.md - name: How-to guides items: From 25ee501bdfe298420c7fabe1d9c5a3713880eacf Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 17:25:04 -0400 Subject: [PATCH 072/354] update --- .../images/bitlocker-recovery-screen-24h2.png | Bin 98162 -> 98057 bytes .../bitlocker/preboot-recovery-screen.md | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2.png b/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2.png index b14c4801e3843b0a8d94c09ce3c6791c98bc642a..f47965baf29254af2dacf2bbe8ae27b6eb96cf10 100644 GIT binary patch delta 62749 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 RQ+Cv~%eKFkTylT%{{YP-5~2VA delta 62909 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 z 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 CM$qyA diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 388cd58e51..392e4d725c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -188,11 +188,13 @@ There are rules governing which hint is shown during the recovery (in the order :::column-end::: :::row-end::: -Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. Instead of displaying specialized messages, the recovery error contains an *error category* and *code*. The error category and code map to a webpage with detailed scenario-specific content. +## Additional recovery information + +Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. :::row::: :::column span="2"::: - For example, the recovery screen is showing the error cause, an error code and the option to review additional information + Instead of displaying specialized messages, a user has the option to review additional information by pressing the Alt key. :::column-end::: :::column span="2"::: :::image type="content" source="images/bitlocker-recovery-screen-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2.png" border="false"::: @@ -200,7 +202,7 @@ Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen impr :::row-end::: :::row::: :::column span="2"::: - If you press Alt, the **additional recovery information** screen is displayed. This screen contains the **error category and code** that you can use to retrieve more details by visiting [https://aka.ms/unlockissues](), which maps to the next section of this document. + The **Additional recovery information** page contains an *error category* and a *code*, which you can use to retrieve more details from the next section of this article. :::column-end::: :::column span="2"::: :::image type="content" source="images/bitlocker-recovery-screen-24h2-additional-info.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2-additional-info.png" border="false"::: From ca1920ca1a4115f09847ca10ad3002933630cdf4 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 17:47:04 -0400 Subject: [PATCH 073/354] updates --- ...ry-screen.md => additional-recovery-information-screen.md} | 0 .../data-protection/bitlocker/toc.yml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{recovery-screen.md => additional-recovery-information-screen.md} (100%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/additional-recovery-information-screen.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/recovery-screen.md rename to windows/security/operating-system-security/data-protection/bitlocker/additional-recovery-information-screen.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 80e9036156..a34d5b969e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -17,8 +17,8 @@ items: href: recovery-process.md - name: Preboot recovery screen href: preboot-recovery-screen.md - - name: 👷 Preboot recovery screen refresh - href: recovery-screen.md + - name: 👷 Additional recovery information screen + href: additional-recovery-information-screen.md - name: How-to guides items: - name: Install BitLocker on Windows Server From aee7a3bae965bd3063c3cddfbc4f63b6fa367aaf Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 18 Jun 2024 17:51:09 -0400 Subject: [PATCH 074/354] png update --- .../images/bitlocker-recovery-screen-24h2.png | Bin 98057 -> 97931 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2.png b/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2.png index f47965baf29254af2dacf2bbe8ae27b6eb96cf10..179a50a84b18c482d396b40f72650c24abeea13f 100644 GIT binary patch delta 29067 zcmce8`B#!_7q*t!@nm_9ol}{qO{S)4X=%<4r_svN)SR%637Jz#4uJSnR-W^kS~=iM z9#eBf#UYeI>rG7rawMF{6j2aS5fBjg@Vx8$3%<3!UtBKNdY6Z}q+PKGkB4&Y@ooGd8bU{`B*Ib1F6`8STw*UWM#B7MdRzfy0A*zM}H2r6Zts z+PDQ>QNV``{HmSCk2M=_ta$a1x<(T!u{C3#)M)F=rY7+a-`R!V5)iYHaaFn>m{3Ac zLqeykTIZ8Lw$~<^{Wkv<6!C}$iWjSr(=FHR z^XTS0{Jd6zUoe{KOC7%sY*qu*)YQmS!}jnz0)*$M*BybFPsY-8dzN1hi0~GZKN>sO z4Rp4B$&;m-Q_FrL5-&eS1PW#{d=Ccf%9GO*NVP|s_%OX&wC`(9Ze5Y3y0%wFlVDB< z9_|Ui&~X8O_{N^>pcP%Zeaw<(R^m#+4F4#&^v$;BY9=V>kju2t4q`M`BCz=C(Foa)k3Fo4S% zi{U-QUzDVT(t&sv8)#C;Sz$x}R9M1nS#iSocZ5__0)N7s(1;P;-)(~TKJXU>=kC}o z+Qfq5H2RSI0TUW|`3Ec#mq>P53JgK6B&XE$tE&vDX0lQJX#OGW+cHY$XgFW|tmy(< zJ1j1*w+spIc{$=McAAK6ULFg{9euWMir~qtK8pc7(tT&dr)Z#D!C^bg@T>-n#q+oL zbZ2B|?hN0+e+@}e?o>98AUaLB*K3gzKs0lxkY>hvJh~m(^;{3z;Z}de_qJ15IDk)_4{X+eu4H4bMO43)|QvC49bn=%KGm!Va?mF<+VxGd&(G zY@iAoR``k6N!NM`7I&|2Jf~1Cr}R<6j>%fi^Cw+d#z{=(_x9Vr3g3KfbFVr3yx6y3 zN)LmjMIXV$+7ij-cN;KZdT(PB^L z(dgTwc#tKWZlY;4P+)v(5aH@xk=(Fn!9T137g+l@w9Mj0Kz3GOqt1KOpN7H%fb_e& zBZ|taDtEXin<3RE)vQVSXC*xD$(UP_rnlT4x8CU2^sFrynCBO$S$Adqf(I_{%9+Y* zeufZp)45aKqei`BL6m;ms`HZaBl1A-QknKuU#f$R7c{|YP<BKts`|I-UZ)N0WCDVa7-j4@9XLKP#Wh}q z;Bgz*?RD+ENDXWjq6q>t|0+KMP58VCa&4Uas4Da5oOGkS>(zt(lLJl&gPHn3gl3da zNbG21Zkl~rjdl|m^cjhWqc-?(j$2(3DXz2`ywS@w>pK5@GKAS*?3|P@duEHKHwE1r zP<#;#!!5V}H-?unlD%AAs$(i!jD1eBXP@oLvp)0}*@LRZ8i@ej4c-ZgZ}q|gqtSbC zOZ(U@gkIodd$Bw`In#Ktyzo<5LGqH};sB|o0Gc;@Zck6GG#Av&LVrs`*NCx>=|?+*KFD$9BMMlws$Hr;6X z0h#uu{rNSZ$P>Z`UV!sUpatP3el~^;3xEXL1Z;o0m2!DL@5pGWMOEGu@8?@n!sc>jB(jJ(}dxQ3~0;KoVyQO;@Jt4mNz#}6(>6J=?S#P!e_7Jm?x36@&28nrY?M> zR$W``mQ9@r=GBz)~elWxDeq5YIM zzA;+cJcpl|8Jk{w|Hjx3x`z=5EvmEV%0DG6%D1dV2Z009Ag_4_1bWuciP7*E53+M9 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 Q3jEo0XI4r>;M1& From a25fa9344e9b1a51832019546148b9f59590a407 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 07:57:54 -0400 Subject: [PATCH 075/354] updates based on Rafal's feedback --- .../bitlocker/preboot-recovery-screen.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 392e4d725c..a9916039b1 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -188,13 +188,13 @@ There are rules governing which hint is shown during the recovery (in the order :::column-end::: :::row-end::: -## Additional recovery information +## Additional recovery information screen Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. :::row::: :::column span="2"::: - Instead of displaying specialized messages, a user has the option to review additional information by pressing the Alt key. + A user has the option to review additional information about the recovery error by pressing the Alt key. :::column-end::: :::column span="2"::: :::image type="content" source="images/bitlocker-recovery-screen-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2.png" border="false"::: @@ -202,7 +202,7 @@ Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen impr :::row-end::: :::row::: :::column span="2"::: - The **Additional recovery information** page contains an *error category* and a *code*, which you can use to retrieve more details from the next section of this article. + The **Additional recovery information** screen contains an *error category* and a *code*, which you can use to retrieve more details from the next section of this article. :::column-end::: :::column span="2"::: :::image type="content" source="images/bitlocker-recovery-screen-24h2-additional-info.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2-additional-info.png" border="false"::: @@ -270,17 +270,9 @@ The TPM contains multiple Platform Configuration Registers (PCRs) that can be us BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. -| Error code | Error cause | +| Error code | Error cause |Resolution| |-|-| -|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.| - -This may have happened because: - -- A disc or USB device was inserted. Removing it and restarting your device may fix this problem -- A firmware update was applied without updating the TPM protector -- Any example at https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview#bitlocker-recovery-scenarios - -A recovery method is required to unlock the device. +|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.

This may have happened because:
- A bootable disc or USB device is inserted. Removing it and restarting your device may fix this problem
- A firmware update was applied without updating the TPM protector

For more examples, see [BitLocker recovery scenarios](recovery-overview.md#bitlocker-recovery-scenarios)| recovery method is required to unlock the device.| #### Special cases for PCR 7 From f6a86ae07d456a425612ada8e29bb9ac3577e597 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 08:09:15 -0400 Subject: [PATCH 076/354] removed split document --- .../additional-recovery-information-screen.md | 104 ------------------ .../data-protection/bitlocker/toc.yml | 2 - 2 files changed, 106 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/additional-recovery-information-screen.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/additional-recovery-information-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/additional-recovery-information-screen.md deleted file mode 100644 index 42159aad7b..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/additional-recovery-information-screen.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: BitLocker recovery errors and their causes -description: -ms.topic: how-to -ms.date: 06/18/2024 ---- - -## Recovery error details and their causes - -Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. Instead of displaying specialized messages, the recovery error contains an *error category* and *code*. The error category and code map to a webpage with detailed scenario-specific content. - -BitLocker recovery is the process by which access to a BitLocker-protected drive can be restored if the drive doesn't unlock using its default unlock mechanism. - -Prompting for the recovery password or other recovery method defends against suspected unauthorized access to user data by an attacker. Providing the recovery password allows BitLocker to confirm that the owner of the device is in possession of the device in recovery, and that the device and stored data should become accessible. - -For more information about BitLocker recovery, see [BitLocker recovery overview](recovery-overview.md). - -This article is divided in different sections, each section represents a BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen and the cause of the error. - -### Originated by user - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.|| -|`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| - -### Code integrity - -Driver signature enforcement is used to ensure code integrity of the operating system. - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.|| - -### Device lockout threshold - -Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. - -To take advantage of this functionality, you must configure the policy setting **Interactive logon: Machine account lockout threshold** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options**. Alternatively, use the [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) **MaxFailedPasswordAttempts** policy setting, or the [DeviceLock Configuration Service Provider (CSP)](/windows/client-management/mdm/policy-csp-devicelock#accountlockoutpolicy). - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| -|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| - -### Boot configuration - -The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. More information about how BitLocker uses the BCD is available here. - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_BAD_CODE_ID, E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application has changed.|BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this data changes without warning. Refer to the recovery screen to find the boot application that changed.
To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| - -### TPM - -The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. - -BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. - -BitLocker entered recovery mode because of a failure with the TPM. - -| Error code | Error cause | -|-|-| -|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot| -|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated| -|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted| -|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM| -|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key| -|`E_FVE_TPM_FAILURE` | Catch-all for other TPM errors.| - -### Protector - -#### TPM protectors - -The TPM contains multiple Platform Configuration Registers (PCRs) that can be used in the validation profile of the BitLocker TPM protector. The PCRs are used to validate the integrity of the boot process, that is, that the boot configuration and boot flow hasn't been tampered with. - -BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. - -| Error code | Error cause | -|-|-| -|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.| - -This may have happened because: - -- A disc or USB device was inserted. Removing it and restarting your device may fix this problem -- A firmware update was applied without updating the TPM protector -- Any example at https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/recovery-overview#bitlocker-recovery-scenarios - -A recovery method is required to unlock the device. - -#### Special cases for PCR 7 - -If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. More information is also available at Trusted Execution Environment EFI Protocol - Windows 8.1 HCK | Microsoft Learn. - -| Error code | Error cause |Resolution| -|-|-|-| -|`E_FVE_SECUREBOOT_DISABLED`|BitLocker entered recovery mode because Secure Boot has been disabled.|To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. Re-enabling Secure Boot and rebooting the system may fix the recovery issue. Otherwise, a recovery method is required to access the device.| -|`E_FVE_SECUREBOOT_CHANGED`|BitLocker entered recovery mode because the Secure Boot configuration unexpectedly changed.|The boot configuration measured in PCR 7 changed. This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement - A recovery method is required to unlock the device.| - -### Unknown - -| Error code | Error cause | Resolution| -|-|-|-| -|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index a34d5b969e..ba7f125549 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -17,8 +17,6 @@ items: href: recovery-process.md - name: Preboot recovery screen href: preboot-recovery-screen.md - - name: 👷 Additional recovery information screen - href: additional-recovery-information-screen.md - name: How-to guides items: - name: Install BitLocker on Windows Server From fd2f12717102f16f05124c431b9322813c4077dc Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 08:26:37 -0400 Subject: [PATCH 077/354] rename png files --- ...ot-recovery-additional-recovery-information.png} | Bin ...een-24h2.png => preboot-recovery-additional.png} | Bin .../bitlocker/preboot-recovery-screen.md | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/images/{bitlocker-recovery-screen-24h2-additional-info.png => preboot-recovery-additional-recovery-information.png} (100%) rename windows/security/operating-system-security/data-protection/bitlocker/images/{bitlocker-recovery-screen-24h2.png => preboot-recovery-additional.png} (100%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2-additional-info.png b/windows/security/operating-system-security/data-protection/bitlocker/images/preboot-recovery-additional-recovery-information.png similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2-additional-info.png rename to windows/security/operating-system-security/data-protection/bitlocker/images/preboot-recovery-additional-recovery-information.png diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2.png b/windows/security/operating-system-security/data-protection/bitlocker/images/preboot-recovery-additional.png similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-24h2.png rename to windows/security/operating-system-security/data-protection/bitlocker/images/preboot-recovery-additional.png diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index a9916039b1..96fdcf6b66 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -197,7 +197,7 @@ Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen impr A user has the option to review additional information about the recovery error by pressing the Alt key. :::column-end::: :::column span="2"::: - :::image type="content" source="images/bitlocker-recovery-screen-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2.png" border="false"::: + :::image type="content" source="images/preboot-recovery-additional.png" alt-text="Screenshot of the BitLocker recovery screen highlighting the Alt keyboard button to access the recovery information screen." lightbox="imagespreboot-recovery-additional.png" border="false"::: :::column-end::: :::row-end::: :::row::: @@ -205,7 +205,7 @@ Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen impr The **Additional recovery information** screen contains an *error category* and a *code*, which you can use to retrieve more details from the next section of this article. :::column-end::: :::column span="2"::: - :::image type="content" source="images/bitlocker-recovery-screen-24h2-additional-info.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom message." lightbox="images/bitlocker-recovery-screen-24h2-additional-info.png" border="false"::: + :::image type="content" source="images/preboot-recovery-additional-recovery-information.png" alt-text="Screenshot of the BitLocker recovery information screen." lightbox="images/preboot-recovery-additional-recovery-information.png" border="false"::: :::column-end::: :::row-end::: From 183da2649675f68279d6aaa6fcc1ca45662b8327 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 09:49:52 -0400 Subject: [PATCH 078/354] upfates to tables --- .../bitlocker/preboot-recovery-screen.md | 71 +++++++++++-------- 1 file changed, 43 insertions(+), 28 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 96fdcf6b66..35d739095e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -190,11 +190,11 @@ There are rules governing which hint is shown during the recovery (in the order ## Additional recovery information screen -Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen improves the information about the recovery error. +Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen enhances the recovery error information. The recovery screen provides more detailed information about the nature of the recovery error, empowering users to better understand and address the issue. :::row::: :::column span="2"::: - A user has the option to review additional information about the recovery error by pressing the Alt key. + Users have the option to review additional information about the recovery error by pressing the Alt key. :::column-end::: :::column span="2"::: :::image type="content" source="images/preboot-recovery-additional.png" alt-text="Screenshot of the BitLocker recovery screen highlighting the Alt keyboard button to access the recovery information screen." lightbox="imagespreboot-recovery-additional.png" border="false"::: @@ -209,16 +209,27 @@ Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen impr :::column-end::: :::row-end::: -The next sections describe each BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen, and the cause of the error. Some tables include possible resolution. +The next sections describe the codes for each BitLocker error category. Within each section there's a table with the error message displayed on the recovery screen, and the cause of the error. Some tables include possible resolution. -### Error category: Originated by user +The error categories are: -| Error code | Error cause | -|-|-| -|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.| +- [Initiated by user](#initiated-by-user) +- [Code integrity](#code-integrity) +- [Device lockout](#device-lockout) +- [Boot configuration](#boot-configuration) +- [TPM](#tpm) +- [Protector](#protector) +- [Unknown](#unknown) + + +### Initiated by user + +| Error code | Error cause | Resolution| +|-|-|-| +|`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.|| |`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| -### Error category: Code integrity +### Code integrity Driver signature enforcement is used to ensure code integrity of the operating system. @@ -226,7 +237,7 @@ Driver signature enforcement is used to ensure code integrity of the operating s |-|-| |`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.| -### Error category: Device lockout threshold +### Device lockout Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. @@ -237,42 +248,44 @@ To take advantage of this functionality, you must configure the policy setting * |`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| |`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| -### Error category: Boot configuration +### Boot configuration -The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. More information about how BitLocker uses the BCD is available here. +The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. | Error code | Error cause | Resolution| |-|-|-| -|`E_FVE_BAD_CODE_ID, E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application has changed.|BitLocker tracks the data inside the BCD. BitLocker recovery can occur when this data changes without warning. Refer to the recovery screen to find the boot application that changed.
To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| +|`E_FVE_BAD_CODE_ID`

`E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application changed.
BitLocker tracks the data inside the BCD and BitLocker recovery can occur when this data changes without warning.

Refer to the recovery screen to find the boot application that changed.|To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| -### Error category: TPM +For more information, see [Boot Configuration Data settings and BitLocker](bcd-settings-and-bitlocker.md). -The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. More information about the TPM is available at Trusted Platform Module Technology Overview - Windows Security | Microsoft Learn. +### TPM -BitLocker creates a TPM protector to manage protection of the encryption keys used to encrypt your data. At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. More information about how BitLocker uses the TPM is available at BitLocker overview - Windows Security | Microsoft Learn. +The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. BitLocker creates a *TPM protector* to manage protection of the encryption keys used to encrypt your data. -BitLocker entered recovery mode because of a failure with the TPM. +At boot, BitLocker attempts to communicate with the TPM to unlock the device and access your data. | Error code | Error cause | |-|-| -|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot| -|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated| -|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted| -|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM| -|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key| +|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot.| +|`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated.| +|`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted.| +|`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM.| +|`E_MATCHING_PCRS_TPM_FAILURE`| The TPM unexpectedly failed when unsealing the encryption key.| |`E_FVE_TPM_FAILURE` | Catch-all for other TPM errors.| -### Error category: Protector +For more information, see [Trusted Platform Module Technology Overview](../../../hardware-security/tpm/trusted-platform-module-overview.md) and [BitLocker and TPM](index.md#bitlocker-and-tpm). + +### Protector #### TPM protectors The TPM contains multiple Platform Configuration Registers (PCRs) that can be used in the validation profile of the BitLocker TPM protector. The PCRs are used to validate the integrity of the boot process, that is, that the boot configuration and boot flow hasn't been tampered with. -BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile do not influence BitLocker. +BitLocker recovery can be the result of unexpected changes in the PCRs used in the TPM protector validation profile. Changes to PCRs not used in the TPM protector profile don't influence BitLocker. | Error code | Error cause |Resolution| |-|-| -|`E_FVE_PCR_MISMATCH`|BitLocker entered recovery mode because your device's configuration has changed.

This may have happened because:
- A bootable disc or USB device is inserted. Removing it and restarting your device may fix this problem
- A firmware update was applied without updating the TPM protector

For more examples, see [BitLocker recovery scenarios](recovery-overview.md#bitlocker-recovery-scenarios)| recovery method is required to unlock the device.| +|`E_FVE_PCR_MISMATCH`|The device's configuration has changed.

This may have happened because:
- A bootable disc or USB device is inserted. Removing it and restarting your device might fix this problem
- A firmware update was applied without updating the TPM protector

For more examples, see [BitLocker recovery scenarios](recovery-overview.md#bitlocker-recovery-scenarios)| A recovery method is required to unlock the device.| #### Special cases for PCR 7 @@ -280,11 +293,13 @@ If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR | Error code | Error cause |Resolution| |-|-|-| -|`E_FVE_SECUREBOOT_DISABLED`|BitLocker entered recovery mode because Secure Boot has been disabled.|To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. Re-enabling Secure Boot and rebooting the system may fix the recovery issue. Otherwise, a recovery method is required to access the device.| -|`E_FVE_SECUREBOOT_CHANGED`|BitLocker entered recovery mode because the Secure Boot configuration unexpectedly changed.|The boot configuration measured in PCR 7 changed. This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement - A recovery method is required to unlock the device.| +|`E_FVE_SECUREBOOT_DISABLED`|Secure Boot has been disabled. To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. | Re-enabling Secure Boot and rebooting the system might fix the recovery issue. Otherwise, a recovery method is required to access the device.| +|`E_FVE_SECUREBOOT_CHANGED`|The Secure Boot configuration unexpectedly changed. The boot configuration measured in PCR 7 changed.
This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement | A recovery method is required to unlock the device.| -### Error category: Unknown +For more information, see [Static Root of Trust Measurements](/previous-versions/windows/hardware/hck/jj923068(v=vs.85)#appendix-a-static-root-of-trust-measurements) + +### Unknown | Error code | Error cause | Resolution| |-|-|-| -|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| \ No newline at end of file +|`E_FVE_RECOVERY_ERROR_UNKNOWN`| BitLocker entered recovery mode because of an unknown error. | A recovery method is required to unlock the device.| From a0d1c4c179875fc77b564ad93e1c9aa1c65c38b8 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:33:02 -0400 Subject: [PATCH 079/354] Intro updates --- .../bitlocker/preboot-recovery-screen.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 35d739095e..671af71364 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -7,9 +7,9 @@ ms.date: 06/18/2024 # BitLocker preboot recovery screen -During BitLocker recovery, the *preboot recovery screen* can display a custom recovery message, a custom recovery URL, and a few hints to help users finding where a key can be retrieved from. +During BitLocker recovery, the *preboot recovery screen* is a critical touchpoint for users, offering a custom recovery message tailored to the organization's needs, a direct recovery URL for additional support, and strategic hints to assist users in locating their recovery key. -This article describes the information displayed in the preboot recovery screen depending on configured policy settings and recovery keys status. +This article delves into the various elements displayed on the preboot recovery screen, detailing how policy settings and the status of recovery keys influence the information presented. Whether it's a personalized message or practical guidance, the preboot recovery screen is designed to streamline the recovery process for users ## Default preboot recovery screen @@ -239,14 +239,14 @@ Driver signature enforcement is used to ensure code integrity of the operating s ### Device lockout -Device lockout threshold functionality allows an administrator to configure Windows logon with BitLocker protection. After the configured number of failed Windows logon attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. +Device lockout threshold functionality allows an administrator to configure Windows sign in with BitLocker protection. After the configured number of failed Windows sign in attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. To take advantage of this functionality, you must configure the policy setting **Interactive logon: Machine account lockout threshold** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options**. Alternatively, use the [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) **MaxFailedPasswordAttempts** policy setting, or the [DeviceLock Configuration Service Provider (CSP)](/windows/client-management/mdm/policy-csp-devicelock#accountlockoutpolicy). | Error code | Error cause | Resolution| |-|-|-| -|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the logon screen.| -|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the logon screen.| +|`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the sign in screen.| +|`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the sign in screen.| ### Boot configuration @@ -254,7 +254,7 @@ The *Boot Configuration Database (BCD)* contains critical information for the Wi | Error code | Error cause | Resolution| |-|-|-| -|`E_FVE_BAD_CODE_ID`

`E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application changed.
BitLocker tracks the data inside the BCD and BitLocker recovery can occur when this data changes without warning.

Refer to the recovery screen to find the boot application that changed.|To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration cannot be restored before booting.| +|`E_FVE_BAD_CODE_ID`

`E_FVE_BAD_CODE_OPTION`|BitLocker entered recovery mode because a boot application changed.
BitLocker tracks the data inside the BCD and BitLocker recovery can occur when this data changes without warning.

Refer to the recovery screen to find the boot application that changed.|To remediate this issue, restore the BCD configuration. A BitLocker recovery method is required to unlock the device if the BCD configuration can't be restored before booting.| For more information, see [Boot Configuration Data settings and BitLocker](bcd-settings-and-bitlocker.md). @@ -266,7 +266,7 @@ At boot, BitLocker attempts to communicate with the TPM to unlock the device and | Error code | Error cause | |-|-| -|`E_FVE_TPM_DISABLED` | A TPM is present but has been disabled for use before or during boot.| +|`E_FVE_TPM_DISABLED` | A TPM is present but is disabled for use before or during boot.| |`E_FVE_TPM_INVALIDATED` | A TPM is present but invalidated.| |`E_FVE_BAD_SRK` | The TPM's internal Storage Root Key is corrupted.| |`E_FVE_TPM_NOT_DETECTED` | The booting system doesn't have or doesn't detect a TPM.| @@ -285,7 +285,9 @@ BitLocker recovery can be the result of unexpected changes in the PCRs used in t | Error code | Error cause |Resolution| |-|-| -|`E_FVE_PCR_MISMATCH`|The device's configuration has changed.

This may have happened because:
- A bootable disc or USB device is inserted. Removing it and restarting your device might fix this problem
- A firmware update was applied without updating the TPM protector

For more examples, see [BitLocker recovery scenarios](recovery-overview.md#bitlocker-recovery-scenarios)| A recovery method is required to unlock the device.| +|`E_FVE_PCR_MISMATCH`|The device's configuration changed.

Possible causes include:
- A bootable media is inserted. Removing it and restarting your device might fix this problem
- A firmware update was applied without updating the TPM protector| A recovery method is required to unlock the device.| + +For more examples, see [BitLocker recovery scenarios](recovery-overview.md#bitlocker-recovery-scenarios). #### Special cases for PCR 7 @@ -294,7 +296,7 @@ If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR | Error code | Error cause |Resolution| |-|-|-| |`E_FVE_SECUREBOOT_DISABLED`|Secure Boot has been disabled. To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. | Re-enabling Secure Boot and rebooting the system might fix the recovery issue. Otherwise, a recovery method is required to access the device.| -|`E_FVE_SECUREBOOT_CHANGED`|The Secure Boot configuration unexpectedly changed. The boot configuration measured in PCR 7 changed.
This may be either because of:
- An additional measurement currently present that was not present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now is not present
- An expected event has a different measurement | A recovery method is required to unlock the device.| +|`E_FVE_SECUREBOOT_CHANGED`|The Secure Boot configuration unexpectedly changed. The boot configuration measured in PCR 7 changed.
This may be either because of:
- An additional measurement currently present that wasn't present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now isn't present
- An expected event has a different measurement | A recovery method is required to unlock the device.| For more information, see [Static Root of Trust Measurements](/previous-versions/windows/hardware/hck/jj923068(v=vs.85)#appendix-a-static-root-of-trust-measurements) From 3b79dddf25daa02b8a1d587eb8ffed67ff5e071d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:45:23 -0400 Subject: [PATCH 080/354] update to lightbox path image --- .../data-protection/bitlocker/preboot-recovery-screen.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 671af71364..8f37009fa3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -2,7 +2,7 @@ title: BitLocker preboot recovery screen description: Learn about the information displayed in the BitLocker preboot recovery screen, depending on configured policy settings and recovery keys status. ms.topic: concept-article -ms.date: 06/18/2024 +ms.date: 06/19/2024 --- # BitLocker preboot recovery screen @@ -197,7 +197,7 @@ Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen enha Users have the option to review additional information about the recovery error by pressing the Alt key. :::column-end::: :::column span="2"::: - :::image type="content" source="images/preboot-recovery-additional.png" alt-text="Screenshot of the BitLocker recovery screen highlighting the Alt keyboard button to access the recovery information screen." lightbox="imagespreboot-recovery-additional.png" border="false"::: + :::image type="content" source="images/preboot-recovery-additional.png" alt-text="Screenshot of the BitLocker recovery screen highlighting the Alt keyboard button to access the recovery information screen." lightbox="images/preboot-recovery-additional.png" border="false"::: :::column-end::: :::row-end::: :::row::: From 537049723fe867213e9c3a87edcdde21eb98753c Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:51:48 -0400 Subject: [PATCH 081/354] Removed Intune licenses details. --- windows/configuration/assigned-access/overview.md | 3 --- windows/configuration/assigned-access/shell-launcher/index.md | 3 --- 2 files changed, 6 deletions(-) diff --git a/windows/configuration/assigned-access/overview.md b/windows/configuration/assigned-access/overview.md index 366664ea69..12ed03cf42 100644 --- a/windows/configuration/assigned-access/overview.md +++ b/windows/configuration/assigned-access/overview.md @@ -209,9 +209,6 @@ You can configure devices using a [custom policy][MEM-1] with the [AssignedAcces Assign the policy to a group that contains as members the devices that you want to configure. -> [!TIP] -> Microsoft Intune offers device licenses, which are suitable for kiosk scenarios. To learn more, see [Device-only licenses][MEM-2]. - #### [:::image type="icon" source="../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg) [!INCLUDE [provisioning-package-1](../../../includes/configure/provisioning-package-1.md)] diff --git a/windows/configuration/assigned-access/shell-launcher/index.md b/windows/configuration/assigned-access/shell-launcher/index.md index f8a5526829..2b0ae488ab 100644 --- a/windows/configuration/assigned-access/shell-launcher/index.md +++ b/windows/configuration/assigned-access/shell-launcher/index.md @@ -55,9 +55,6 @@ You can configure devices using a [custom policy][MEM-1] with the [AssignedAcces Assign the policy to a group that contains as members the devices that you want to configure. -> [!TIP] -> Microsoft Intune offers device licenses, which are suitable for kiosk scenarios. To learn more, see [Device-only licenses][MEM-2]. - #### [:::image type="icon" source="../../images/icons/provisioning-package.svg"::: **PPKG**](#tab/ppkg) [!INCLUDE [provisioning-package-1](../../../../includes/configure/provisioning-package-1.md)] From a9338be872d884c28d265a78c9c23741ba6efe62 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 13:31:58 -0400 Subject: [PATCH 082/354] update --- .../data-protection/bitlocker/preboot-recovery-screen.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 8f37009fa3..a1006f2b79 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -291,15 +291,13 @@ For more examples, see [BitLocker recovery scenarios](recovery-overview.md#bitlo #### Special cases for PCR 7 -If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. More information is also available at Trusted Execution Environment EFI Protocol - Windows 8.1 HCK | Microsoft Learn. +If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR 7 to measure a specific set of events for Secure Boot. These measurements are defined in the UEFI spec. For more information, see [Static Root of Trust Measurements](/previous-versions/windows/hardware/hck/jj923068(v=vs.85)#appendix-a-static-root-of-trust-measurements) | Error code | Error cause |Resolution| |-|-|-| |`E_FVE_SECUREBOOT_DISABLED`|Secure Boot has been disabled. To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. | Re-enabling Secure Boot and rebooting the system might fix the recovery issue. Otherwise, a recovery method is required to access the device.| |`E_FVE_SECUREBOOT_CHANGED`|The Secure Boot configuration unexpectedly changed. The boot configuration measured in PCR 7 changed.
This may be either because of:
- An additional measurement currently present that wasn't present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now isn't present
- An expected event has a different measurement | A recovery method is required to unlock the device.| -For more information, see [Static Root of Trust Measurements](/previous-versions/windows/hardware/hck/jj923068(v=vs.85)#appendix-a-static-root-of-trust-measurements) - ### Unknown | Error code | Error cause | Resolution| From 9dc395ea246fdc4665d397370b556f604a8320aa Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 13:45:56 -0400 Subject: [PATCH 083/354] test no-loc --- .../data-protection/bitlocker/preboot-recovery-screen.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index a1006f2b79..21b045fa3d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -213,6 +213,8 @@ The next sections describe the codes for each BitLocker error category. Within e The error categories are: +:::no-loc + - [Initiated by user](#initiated-by-user) - [Code integrity](#code-integrity) - [Device lockout](#device-lockout) @@ -221,8 +223,9 @@ The error categories are: - [Protector](#protector) - [Unknown](#unknown) +::: -### Initiated by user +### :::no-loc Initiated by user::: | Error code | Error cause | Resolution| |-|-|-| From fc8ae307deb4d71bf5ae7fdbcad9fad17869815a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 13:54:17 -0400 Subject: [PATCH 084/354] removed localization options with code fence --- .../bitlocker/preboot-recovery-screen.md | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 21b045fa3d..c1ebd9a8ad 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -213,26 +213,22 @@ The next sections describe the codes for each BitLocker error category. Within e The error categories are: -:::no-loc +- [`Initiated by user`](#initiated-by-user) +- [`Code integrity`](#code-integrity) +- [`Device lockout`](#device-lockout) +- [`Boot configuration`](#boot-configuration) +- [`TPM`](#tpm) +- [`Protector`](#protector) +- [`Unknown`](#unknown) -- [Initiated by user](#initiated-by-user) -- [Code integrity](#code-integrity) -- [Device lockout](#device-lockout) -- [Boot configuration](#boot-configuration) -- [TPM](#tpm) -- [Protector](#protector) -- [Unknown](#unknown) - -::: - -### :::no-loc Initiated by user::: +### `Initiated by user` | Error code | Error cause | Resolution| |-|-|-| |`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.|| |`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| -### Code integrity +### `Code integrity` Driver signature enforcement is used to ensure code integrity of the operating system. @@ -240,7 +236,7 @@ Driver signature enforcement is used to ensure code integrity of the operating s |-|-| |`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.| -### Device lockout +### `Device lockout` Device lockout threshold functionality allows an administrator to configure Windows sign in with BitLocker protection. After the configured number of failed Windows sign in attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. @@ -251,7 +247,7 @@ To take advantage of this functionality, you must configure the policy setting * |`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the sign in screen.| |`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the sign in screen.| -### Boot configuration +### `Boot configuration` The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. @@ -261,7 +257,7 @@ The *Boot Configuration Database (BCD)* contains critical information for the Wi For more information, see [Boot Configuration Data settings and BitLocker](bcd-settings-and-bitlocker.md). -### TPM +### `TPM` The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. BitLocker creates a *TPM protector* to manage protection of the encryption keys used to encrypt your data. @@ -278,7 +274,7 @@ At boot, BitLocker attempts to communicate with the TPM to unlock the device and For more information, see [Trusted Platform Module Technology Overview](../../../hardware-security/tpm/trusted-platform-module-overview.md) and [BitLocker and TPM](index.md#bitlocker-and-tpm). -### Protector +### `Protector` #### TPM protectors @@ -301,7 +297,7 @@ If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR |`E_FVE_SECUREBOOT_DISABLED`|Secure Boot has been disabled. To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. | Re-enabling Secure Boot and rebooting the system might fix the recovery issue. Otherwise, a recovery method is required to access the device.| |`E_FVE_SECUREBOOT_CHANGED`|The Secure Boot configuration unexpectedly changed. The boot configuration measured in PCR 7 changed.
This may be either because of:
- An additional measurement currently present that wasn't present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now isn't present
- An expected event has a different measurement | A recovery method is required to unlock the device.| -### Unknown +### `Unknown` | Error code | Error cause | Resolution| |-|-|-| From 4c6053bb30886dd61318c63dba26378bf8cd0f65 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 19 Jun 2024 14:02:14 -0400 Subject: [PATCH 085/354] revert for localization --- .../bitlocker/preboot-recovery-screen.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index c1ebd9a8ad..24437bd519 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -213,22 +213,22 @@ The next sections describe the codes for each BitLocker error category. Within e The error categories are: -- [`Initiated by user`](#initiated-by-user) -- [`Code integrity`](#code-integrity) -- [`Device lockout`](#device-lockout) -- [`Boot configuration`](#boot-configuration) -- [`TPM`](#tpm) -- [`Protector`](#protector) -- [`Unknown`](#unknown) +- [Initiated by user](#initiated-by-user) +- [Code integrity](#code-integrity) +- [Device lockout](#device-lockout) +- [Boot configuration](#boot-configuration) +- [TPM](#tpm) +- [Protector](#protector) +- [Unknown](#unknown) -### `Initiated by user` +### Initiated by user | Error code | Error cause | Resolution| |-|-|-| |`E_FVE_USER_REQUESTED_RECOVERY`|The user explicitly entered recovery mode from a screen with the option to `ESC` to recovery mode.|| |`E_FVE_BOOT_DEBUG_ENABLED`|Boot debugging mode is enabled. |Remove the boot debugging option from the boot configuration database.| -### `Code integrity` +### Code integrity Driver signature enforcement is used to ensure code integrity of the operating system. @@ -236,7 +236,7 @@ Driver signature enforcement is used to ensure code integrity of the operating s |-|-| |`E_FVE_CI_DISABLED`|Driver signature enforcement is disabled.| -### `Device lockout` +### Device lockout Device lockout threshold functionality allows an administrator to configure Windows sign in with BitLocker protection. After the configured number of failed Windows sign in attempts, the device reboots and can only be recovered by providing a BitLocker recovery method. @@ -247,7 +247,7 @@ To take advantage of this functionality, you must configure the policy setting * |`E_FVE_DEVICE_LOCKEDOUT`|Device lockout triggered due to too many incorrect sign in attempts.|A BitLocker recovery method is required to return to the sign in screen.| |`E_FVE_DEVICE_LOCKOUT_MISMATCH`|The device lockout counter is out of sync. |A BitLocker recovery method is required to return to the sign in screen.| -### `Boot configuration` +### Boot configuration The *Boot Configuration Database (BCD)* contains critical information for the Windows boot environment. @@ -257,7 +257,7 @@ The *Boot Configuration Database (BCD)* contains critical information for the Wi For more information, see [Boot Configuration Data settings and BitLocker](bcd-settings-and-bitlocker.md). -### `TPM` +### TPM The Trusted Platform Module (TPM) is cryptographic hardware or firmware used to secure a device. BitLocker creates a *TPM protector* to manage protection of the encryption keys used to encrypt your data. @@ -274,7 +274,7 @@ At boot, BitLocker attempts to communicate with the TPM to unlock the device and For more information, see [Trusted Platform Module Technology Overview](../../../hardware-security/tpm/trusted-platform-module-overview.md) and [BitLocker and TPM](index.md#bitlocker-and-tpm). -### `Protector` +### Protector #### TPM protectors @@ -297,7 +297,7 @@ If the TPM protector uses PCR 7 in the validation profile, BitLocker expects PCR |`E_FVE_SECUREBOOT_DISABLED`|Secure Boot has been disabled. To access the encryption key and unlock your device, BitLocker expects Secure Boot to be on. | Re-enabling Secure Boot and rebooting the system might fix the recovery issue. Otherwise, a recovery method is required to access the device.| |`E_FVE_SECUREBOOT_CHANGED`|The Secure Boot configuration unexpectedly changed. The boot configuration measured in PCR 7 changed.
This may be either because of:
- An additional measurement currently present that wasn't present when BitLocker updated the TPM protector
- A missing measurement that was present when BitLocker last updated the TPM protector but now isn't present
- An expected event has a different measurement | A recovery method is required to unlock the device.| -### `Unknown` +### Unknown | Error code | Error cause | Resolution| |-|-|-| From 3f58cdd5fa8c3da50a53551cfc297d0078d496e3 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:33:32 -0700 Subject: [PATCH 086/354] Update considerations-known-issues.md Changed "NTLM classic (NTLMv1)" clarification. --- .../credential-guard/considerations-known-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 981313f76c..437fb823a5 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -22,7 +22,7 @@ Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credent ## Wi-fi and VPN considerations -When Credential Guard is enabled, you can no longer use NTLM classic authentication for single sign-on. You'll be forced to enter your credentials to use these protocols and can't save the credentials for future use. +When Credential Guard is enabled, you can no longer use NTLM classic authentication (NTLMv1) for single sign-on. You'll be forced to enter your credentials to use these protocols and can't save the credentials for future use. If you're using WiFi and VPN endpoints that are based on MS-CHAPv2, they're subject to similar attacks as for NTLMv1. From 5604bdc96d63bfbc7a574f548c79e21cba54aecf Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:35:08 -0700 Subject: [PATCH 087/354] Update windows/security/identity-protection/credential-guard/configure.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../security/identity-protection/credential-guard/configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index 595159b2e9..b8ee1c896c 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -12,7 +12,7 @@ This article describes how to configure Credential Guard using Microsoft Intune, ## Default enablement > [!IMPORTANT] -> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). From e6eca6a4edb7693819daf504250c6b35a32d3301 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:35:22 -0700 Subject: [PATCH 088/354] Update windows/security/identity-protection/credential-guard/configure.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../security/identity-protection/credential-guard/configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index b8ee1c896c..ec37c443b2 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -16,7 +16,7 @@ This article describes how to configure Credential Guard using Microsoft Intune, Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). -System administrators can explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values will overwrite default enablement state after reboot. +System administrators can explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values overwrite the default enablement state after a reboot. Devices that have had Credential Guard explicitly disabled *prior* to updating to a version of Windows that comes with default enablement will NOT have Credential Guard enabled upon update. In this case Credential Guard will continue to be disabled even after updating to a version of Windows that enables Credential Guard by default. From ec2fd686ead06355c4e8ae2a92caf679988889a8 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:35:56 -0700 Subject: [PATCH 089/354] Update windows/security/identity-protection/credential-guard/configure.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../security/identity-protection/credential-guard/configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index ec37c443b2..d0140e1fe3 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -18,7 +18,7 @@ Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard System administrators can explicitly [enable](#enable-credential-guard) or [disable](#disable-credential-guard) Credential Guard using one of the methods described in this article. Explicitly configured values overwrite the default enablement state after a reboot. -Devices that have had Credential Guard explicitly disabled *prior* to updating to a version of Windows that comes with default enablement will NOT have Credential Guard enabled upon update. In this case Credential Guard will continue to be disabled even after updating to a version of Windows that enables Credential Guard by default. +If a device has Credential Guard explicitly turned off before updating to a newer version of Windows where Credential Guard is enabled by default, it will remain disabled even after the update. > [!IMPORTANT] > For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md). From e2b4b7c3d0eaa9093ce55c693421a9fc6b27d70d Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:36:10 -0700 Subject: [PATCH 090/354] Update windows/security/identity-protection/credential-guard/considerations-known-issues.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../credential-guard/considerations-known-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 437fb823a5..c6dcadc9a7 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -12,7 +12,7 @@ It's recommended that in addition to deploying Credential Guard, organizations m ## Upgrade considerations > [!IMPORTANT] -> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. As the depth and breadth of protections provided by Credential Guard are increased, new releases of Windows with Credential Guard running may affect scenarios that were working in the past. For example, Credential Guard may block the use of a particular type of credential or a particular component to prevent malware from taking advantage of vulnerabilities. From 3203a7c6ab037485dc63ca2c632da174f807c723 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:36:44 -0700 Subject: [PATCH 091/354] Update windows/security/identity-protection/credential-guard/considerations-known-issues.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../credential-guard/considerations-known-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index c6dcadc9a7..bd1c01b856 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -30,7 +30,7 @@ For WiFi and VPN connections, it's recommended to move from MSCHAPv2-based conne ## Delegation considerations -When Credential Guard is enabled, certain types of identity delegation will be unusable, as their underlying authentication schemes are incompatible with Credential Guard or require supplied credentials. +When Credential Guard is enabled, certain types of identity delegation are unusable, as their underlying authentication schemes are incompatible with Credential Guard or require supplied credentials. When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) is no longer able to use saved or sign-on (SSO) credentials, though cleartext credentials can still be supplied. CredSSP-based Delegation requires cleartext credentials to be supplied on the destination machine and will not work with SSO once Credential Guard is enabled and blocks cleartext credential disclosure. Usage of [CredSSP for delegation](/windows/win32/secauthn/credential-security-support-provider), and in general, is not recommended due to the risk of credential theft. From 92657d163adae108a50cee6c8c143a91ef960ac9 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:37:01 -0700 Subject: [PATCH 092/354] Update windows/security/identity-protection/credential-guard/considerations-known-issues.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../credential-guard/considerations-known-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index bd1c01b856..a93a12a8b7 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -124,7 +124,7 @@ This article describes known issues when Credential Guard is enabled. ### Live migration with Hyper-V breaks when upgrading to Windows Server 2025 (preview) > [!IMPORTANT] -> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +> Windows Server 2025 is in previeww. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. Devices which use CredSSP-based Delegation may no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services which rely on live migration (such as [SCVMM](/system-center/vmm/overview)) may also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. From 54193ff1d141f4ab6ac19eed791dc773a8ccf608 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:37:26 -0700 Subject: [PATCH 093/354] Update windows/security/identity-protection/credential-guard/index.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- windows/security/identity-protection/credential-guard/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index aa17cc040f..44f11fb93a 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -61,7 +61,7 @@ Devices running Windows Server 2025 (preview) or later will have Credential Guar For Credential Guard to provide protection, the device must meet certain hardware, firmware, and software requirements. -Devices that meet more hardware and firmware qualifications than the minimum requirements receive additional protections and are more hardened against certain threats. +Devices that exceed the minimum hardware and firmware qualifications receive additional protections and are more hardened against certain threats. ### Hardware and software requirements From 7b827a5b913dd788f82689ede045a5ea316c2c93 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:38:46 -0700 Subject: [PATCH 094/354] Update windows/security/identity-protection/credential-guard/index.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- windows/security/identity-protection/credential-guard/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 44f11fb93a..13f47d63af 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -29,7 +29,7 @@ Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and The default enablement is **without UEFI Lock**, thus allowing administrators to disable Credential Guard remotely if needed. -If the preconditions for default enablement of Credential Guard listed below are met, and Credential Guard has not been [explicitly disabled](configure.md#disable-credential-guard) beforehand, the default enablement of Credential Guard will also automatically enable [VBS](#system-requirements). +When Credential Guard is enabled, [VBS](#system-requirements) is automatically enabled too. > [!NOTE] > If Credential Guard is explicitly [disabled](configure.md#disable-credential-guard) *before* a device is updated to Windows 11, version 22H2 / Windows Server 2025 (preview) or later, default enablement does not overwrite the existing settings. That device will continue to have Credential Guard disabled even after updating to a version of Windows that enables Credential Guard by default. From 8536afd93131cdd0e7074187e2fcbbf8ada8d6bf Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:39:49 -0700 Subject: [PATCH 095/354] Update windows/security/identity-protection/credential-guard/index.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- windows/security/identity-protection/credential-guard/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 13f47d63af..169ff3d9f2 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -25,7 +25,7 @@ When enabled, Credential Guard provides the following benefits: > [!IMPORTANT] > Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and Credential Guard are enabled by default on devices that meet the requirements below. This means that going forward, domain credentials will automatically be protected by Credential Guard on most relevant Windows devices. +Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and Credential Guard are enabled by default on devices that meet the requirements. The default enablement is **without UEFI Lock**, thus allowing administrators to disable Credential Guard remotely if needed. From 008aa60796a391d4ba54f76d4d288a6faf6ff343 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:40:03 -0700 Subject: [PATCH 096/354] Update windows/security/identity-protection/credential-guard/index.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- windows/security/identity-protection/credential-guard/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 169ff3d9f2..ce4f8a1ba2 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -23,7 +23,7 @@ When enabled, Credential Guard provides the following benefits: ## Default enablement > [!IMPORTANT] -> Windows Server 2025 is in PREVIEW. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and Credential Guard are enabled by default on devices that meet the requirements. From 2d5b4f76135958fffe47b12b0abea497b11d1008 Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:41:06 -0700 Subject: [PATCH 097/354] Update windows/security/identity-protection/credential-guard/index.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- windows/security/identity-protection/credential-guard/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index ce4f8a1ba2..52d594aa72 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -7,7 +7,7 @@ ms.topic: overview # Credential Guard overview -Credential Guard, now [enabled by default on most Windows machines](#default-enablement), prevents credential theft attacks by protecting NTLM password hashes, Kerberos Ticket Granting Tickets (TGTs), and credentials stored by applications as domain credentials. +Credential Guard prevents credential theft attacks by protecting NTLM password hashes, Kerberos Ticket Granting Tickets (TGTs), and credentials stored by applications as domain credentials. Credential Guard uses [Virtualization-based security (VBS)](/windows-hardware/design/device-experiences/oem-vbs) to isolate secrets so that only privileged system software can access them. Unauthorized access to these secrets can lead to credential theft attacks like *pass the hash* and *pass the ticket*. From 07982549f11d6d40f43b7aaf7d9b03b36a13ea4c Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:42:54 -0700 Subject: [PATCH 098/354] Update windows/security/identity-protection/credential-guard/considerations-known-issues.md Co-authored-by: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> --- .../credential-guard/considerations-known-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index a93a12a8b7..8248beaeb0 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -224,7 +224,7 @@ For a more immediate, but less secure fix, [disable Credential Guard](configure. > [!TIP] > To prevent default enablement, configure your devices [to disable Credential Guard](configure.md#disable-credential-guard) before updating to a version which [received default enablement](index.md#default-enablement). If the setting is not configured (which is the default state) and if the device is eligible, the device automatically enable Credential Guard after the update. > -> If Credential Guard is explicitly disabled, the device will not automatically enable Credential Guard after the update. +> If Credential Guard is explicitly disabled, the device won't automatically enable Credential Guard after the update. ### Issues with non-Microsoft applications From 8beb3636381b54225930ceb0fdf01630b821d55b Mon Sep 17 00:00:00 2001 From: zwhitt-microsoft <101152161+zwhitt-microsoft@users.noreply.github.com> Date: Wed, 19 Jun 2024 16:02:13 -0700 Subject: [PATCH 099/354] Update considerations-known-issues.md Updating upgrade considerations per Paolo's recommendations. --- .../credential-guard/considerations-known-issues.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 8248beaeb0..4bfa13a25a 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -14,11 +14,11 @@ It's recommended that in addition to deploying Credential Guard, organizations m > [!IMPORTANT] > Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -As the depth and breadth of protections provided by Credential Guard are increased, new releases of Windows with Credential Guard running may affect scenarios that were working in the past. For example, Credential Guard may block the use of a particular type of credential or a particular component to prevent malware from taking advantage of vulnerabilities. +As Credential Guard evolves and enhances its security features, newer versions of Windows running Credential Guard may impact previously functional scenarios. For instance, Credential Guard could restrict the use of certain credentials or components to thwart malware exploiting vulnerabilities. -We recommend testing scenarios required for operations in an organization before upgrading a device that uses Credential Guard. +It’s advisable to thoroughly test operational scenarios within an organization before updating devices that utilize Credential Guard. -Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credential Guard [enabled by default](index.md#default-enablement) if it has not been explicitly disabled. +Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credential Guard [enabled by default](index.md#default-enablement) unless explicitly disabled. ## Wi-fi and VPN considerations From 08836f9de373d105fc8a464d2f3f9fdcf279297e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 20 Jun 2024 12:05:58 -0400 Subject: [PATCH 100/354] Articles refresh, Acrolinx scores > 90 --- .../additional-mitigations.md | 59 +++++++------- .../credential-guard/configure.md | 6 +- .../considerations-known-issues.md | 80 +++++++------------ .../credential-guard/how-it-works.md | 2 +- .../credential-guard/index.md | 25 +++--- 5 files changed, 76 insertions(+), 96 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/additional-mitigations.md b/windows/security/identity-protection/credential-guard/additional-mitigations.md index 5a6e9fd2c9..dde02e443a 100644 --- a/windows/security/identity-protection/credential-guard/additional-mitigations.md +++ b/windows/security/identity-protection/credential-guard/additional-mitigations.md @@ -1,5 +1,5 @@ --- -ms.date: 08/31/2023 +ms.date: 06/20/2024 title: Additional mitigations description: Learn how to improve the security of your domain environment with additional mitigations for Credential Guard and sample code. ms.topic: reference @@ -46,8 +46,8 @@ Kerberos armoring is part of RFC 6113. When a device supports Kerberos armoring, To enable Kerberos armoring for restricting domain users to specific domain-joined devices: - Users need to be in domains that are running Windows Server 2012 R2 or higher -- All the domain controllers in these domains must be configured to support Kerberos armoring. Set the **KDC support for claims, compound authentication, and Kerberos armoring** Group Policy setting to either **Supported** or **Always provide claims**. -- All the devices with Credential Guard that the users will be restricted to must be configured to support Kerberos armoring. Enable the **Kerberos client support for claims, compound authentication and Kerberos armoring** Group Policy settings under **Computer Configuration** -> **Administrative Templates** -> **System** -> **Kerberos**. +- All the domain controllers in these domains must be configured to support Kerberos armoring. Set the **KDC support for claims, compound authentication, and Kerberos armoring** Group Policy setting to either **Supported** or **Always provide claims** +- All the devices with Credential Guard that the users will be restricted to must be configured to support Kerberos armoring. Enable the **Kerberos client support for claims, compound authentication and Kerberos armoring** Group Policy settings under **Computer Configuration** > **Administrative Templates** > **System** > **Kerberos**. ### Protect domain-joined device secrets @@ -56,7 +56,7 @@ Since domain-joined devices also use shared secrets for authentication, attacker Domain-joined device certificate authentication has the following requirements: - Devices' accounts are in Windows Server 2012 domain functional level or higher. -- All domain controllers in those domains have KDC certificates which satisfy strict KDC validation certificate requirements: +- All domain controllers in those domains have KDC certificates that satisfy strict KDC validation certificate requirements: - KDC EKU present - DNS domain name matches the DNSName field of the SubjectAltName (SAN) extension - Windows devices have the CA issuing the domain controller certificates in the enterprise store. @@ -70,19 +70,19 @@ For example, let's say you wanted to use the High Assurance policy only on these **Create a new certificate template** -1. From the Certificate Manager console, right-click **Certificate Templates > Manage** -1. Right-click **Workstation Authentication > Duplicate Template** -1. Right-click the new template, and then select **Properties** -1. On the **Extensions** tab, select **Application Policies > Edit** -1. Select **Client Authentication**, and then select **Remove** -1. Add the ID-PKInit-KPClientAuth EKU. Select **Add > New**, and then specify the following values: - - Name: Kerberos Client Auth - - Object Identifier: 1.3.6.1.5.2.3.4 -1. On the **Extensions** tab, select **Issuance Policies > Edit** -1. Under **Issuance Policies**, select **High Assurance** -1. On the **Subject name** tab, clear the **DNS name** check box, and then select the **User Principal Name (UPN)** check box +1. From the Certificate Manager console, right-click **Certificate Templates > Manage** +1. Right-click **Workstation Authentication > Duplicate Template** +1. Right-click the new template, and then select **Properties** +1. On the **Extensions** tab, select **Application Policies > Edit** +1. Select **Client Authentication**, and then select **Remove** +1. Add the ID-PKInit-KPClientAuth EKU. Select **Add > New**, and then specify the following values: + - Name: Kerberos Client Auth + - Object Identifier: 1.3.6.1.5.2.3.4 +1. On the **Extensions** tab, select **Issuance Policies > Edit** +1. Under **Issuance Policies**, select **High Assurance** +1. On the **Subject name** tab, clear the **DNS name** check box, and then select the **User Principal Name (UPN)** check box -Then on the devices that are running Credential Guard, enroll the devices using the certificate you just created. +Then on the devices that are running Credential Guard, enroll the devices using the certificate you created. **Enroll devices in a certificate** @@ -123,12 +123,13 @@ So we now have completed the following: - Created a special certificate issuance policy to identify devices that meet the deployment criteria required for the user to be able to sign on - Mapped that policy to a universal security group or claim -- Provided a way for domain controllers to get the device authorization data during user sign-on using Kerberos armoring. Now what is left to do is to configure the access check on the domain controllers. This is done using authentication policies. +- Provided a way for domain controllers to get the device authorization data during user sign-on using Kerberos armoring. Now what is left to do is to configure the access check on the domain controllers. This is done using authentication policies Authentication policies have the following requirements: -- User accounts are in a Windows Server 2012 domain functional level or higher domain. -**Creating an authentication policy restricting users to the specific universal security group** +- User accounts are in a Windows Server 2012 domain functional level or higher domain + +#### Create an authentication policy restricting users to the specific universal security group 1. Open Active Directory Administrative Center 1. Select **Authentication > New > Authentication Policy** @@ -154,7 +155,7 @@ To learn more about authentication policy events, see [Authentication Policies a ## Appendix: Scripts -Here is a list of scripts mentioned in this topic. +Here's a list of scripts mentioned in this article. ###
Get the available issuance policies on the certificate authority @@ -195,7 +196,7 @@ displayName = displayName : {0} Name = Name : {0} dn = distinguishedName : {0} InfoName = Linked Group Name: {0} - InfoDN = Linked Group DN: {0} + InfoDN = Linked Group DN: {0} NonLinkedIPs = The following Issuance Policies are NOT linked to groups: '@ } @@ -221,7 +222,7 @@ $getIP_strings.help8 "" $getIP_strings.help10 "" -"" +"" $getIP_strings.help11 " " + '$' + "myIPs = .\get-IssuancePolicy.ps1 -LinkedToGroup:All" " " + '$' + "myLinkedIPs = .\get-IssuancePolicy.ps1 -LinkedToGroup:yes" @@ -272,7 +273,7 @@ write-host $errormsg -ForegroundColor Red if (($LinkedToGroup -eq "yes") -or ($LinkedToGroup -eq "all")) { $LDAPFilter = "(&(objectClass=msPKI-Enterprise-Oid)(msDS-OIDToGroupLink=*)(flags=2))" $LinkedOIDs = get-adobject -searchBase $configNCDN -LDAPFilter $LDAPFilter -properties * - write-host "" + write-host "" write-host "*****************************************************" write-host $getIP_strings.LinkedIPs write-host "*****************************************************" @@ -317,11 +318,11 @@ write-host "There are no issuance policies that are mapped to a group" return $LinkedOIDs break } -} -if (($LinkedToGroup -eq "no") -or ($LinkedToGroup -eq "all")) { +} +if (($LinkedToGroup -eq "no") -or ($LinkedToGroup -eq "all")) { $LDAPFilter = "(&(objectClass=msPKI-Enterprise-Oid)(!(msDS-OIDToGroupLink=*))(flags=2))" $NonLinkedOIDs = get-adobject -searchBase $configNCDN -LDAPFilter $LDAPFilter -properties * - write-host "" + write-host "" write-host "*********************************************************" write-host $getIP_strings.NonLinkedIPs write-host "*********************************************************" @@ -385,7 +386,7 @@ confirmOUcreation = Warning: The Organizational Unit that you specified does not OUCreationSuccess = Organizational Unit "{0}" successfully created. OUcreationError = Error: Organizational Unit "{0}" could not be created. OUFoundSuccess = Organizational Unit "{0}" was successfully found. -multipleGroups = Error: More than one group with name "{0}" was found in Organizational Unit "{1}". +multipleGroups = Error: More than one group with name "{0}" was found in Organizational Unit "{1}". confirmGroupCreation = Warning: The group that you specified does not exist. Do you want to create it? groupCreationSuccess = Univeral Security group "{0}" successfully created. groupCreationError = Error: Univeral Security group "{0}" could not be created. @@ -445,12 +446,12 @@ break $searchBase = [String]$root.configurationnamingcontext $OID = get-adobject -searchBase $searchBase -Filter { ((displayname -eq $IssuancePolicyName) -or (name -eq $IssuancePolicyName)) -and (objectClass -eq "msPKI-Enterprise-Oid")} -properties * if ($OID -eq $null) { -$tmp = $ErrorMsg.NoIP -f $IssuancePolicyName, $searchBase +$tmp = $ErrorMsg.NoIP -f $IssuancePolicyName, $searchBase write-host $tmp -ForeGroundColor Red break; } elseif ($OID.GetType().IsArray) { -$tmp = $ErrorMsg.MultipleIPs -f $IssuancePolicyName, $searchBase +$tmp = $ErrorMsg.MultipleIPs -f $IssuancePolicyName, $searchBase write-host $tmp -ForeGroundColor Red break; } diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index d0140e1fe3..d108d589ab 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -1,7 +1,7 @@ --- -title: Configure Credential Guard +ms.date: 06/20/2024 +title: Configure Credential Guard description: Learn how to configure Credential Guard using MDM, Group Policy, or the registry. -ms.date: 08/31/2023 ms.topic: how-to --- @@ -122,7 +122,7 @@ You can use PowerShell to determine whether Credential Guard is running on a dev (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning ``` -The command generates the following output: +The command generates the following output: - **0**: Credential Guard is disabled (not running) - **1**: Credential Guard is enabled (running) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 4bfa13a25a..249d3db3fb 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -1,28 +1,28 @@ --- -ms.date: 08/31/2023 +ms.date: 06/20/2024 title: Considerations and known issues when using Credential Guard -description: Considerations, recommendations and known issues when using Credential Guard. +description: Considerations, recommendations, and known issues when using Credential Guard. ms.topic: troubleshooting --- # Considerations and known issues when using Credential Guard -It's recommended that in addition to deploying Credential Guard, organizations move away from passwords to other authentication methods, such as Windows Hello for Business, FIDO 2 security keys or smart cards. +Microsoft recommends that in addition to deploying Credential Guard, organizations move away from passwords to other authentication methods, such as Windows Hello for Business, FIDO 2 security keys, or smart cards. ## Upgrade considerations > [!IMPORTANT] > Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -As Credential Guard evolves and enhances its security features, newer versions of Windows running Credential Guard may impact previously functional scenarios. For instance, Credential Guard could restrict the use of certain credentials or components to thwart malware exploiting vulnerabilities. +As Credential Guard evolves and enhances its security features, newer versions of Windows running Credential Guard might affect previously functional scenarios. For instance, Credential Guard could restrict the use of certain credentials or components to thwart malware exploiting vulnerabilities. -It’s advisable to thoroughly test operational scenarios within an organization before updating devices that utilize Credential Guard. +It's advisable to thoroughly test operational scenarios within an organization before updating devices that utilize Credential Guard. -Upgrades to Windows 11, 22H2 and Windows Server 2025 (preview) will have Credential Guard [enabled by default](index.md#default-enablement) unless explicitly disabled. +Upgrades to Windows 11, version 22H2, and Windows Server 2025 (preview) have Credential Guard [enabled by default](index.md#default-enablement) unless explicitly disabled. ## Wi-fi and VPN considerations -When Credential Guard is enabled, you can no longer use NTLM classic authentication (NTLMv1) for single sign-on. You'll be forced to enter your credentials to use these protocols and can't save the credentials for future use. +When Credential Guard is enabled, you can no longer use NTLM classic authentication (NTLMv1) for single-sign-on (SSO). You'll be forced to enter your credentials to use these protocols and can't save the credentials for future use. If you're using WiFi and VPN endpoints that are based on MS-CHAPv2, they're subject to similar attacks as for NTLMv1. @@ -32,9 +32,9 @@ For WiFi and VPN connections, it's recommended to move from MSCHAPv2-based conne When Credential Guard is enabled, certain types of identity delegation are unusable, as their underlying authentication schemes are incompatible with Credential Guard or require supplied credentials. -When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) is no longer able to use saved or sign-on (SSO) credentials, though cleartext credentials can still be supplied. CredSSP-based Delegation requires cleartext credentials to be supplied on the destination machine and will not work with SSO once Credential Guard is enabled and blocks cleartext credential disclosure. Usage of [CredSSP for delegation](/windows/win32/secauthn/credential-security-support-provider), and in general, is not recommended due to the risk of credential theft. +When Credential Guard is enabled, [Credential Security Support Provider ("CredSSP")](/windows/win32/secauthn/credential-security-support-provider) is no longer able to use saved or SSO credentials, though cleartext credentials can still be supplied. CredSSP-based Delegation requires cleartext credentials to be supplied on the destination machine, and doesn't work with SSO once Credential Guard is enabled and blocks cleartext credential disclosure. Usage of [CredSSP for delegation](/windows/win32/secauthn/credential-security-support-provider), and in general, isn't recommended due to the risk of credential theft. -Kerberos Unconstrained delegation, as well as DES, are blocked by Credential Guard. [Unconstrained delegation](/defender-for-identity/security-assessment-unconstrained-kerberos#what-risk-does-unsecure-kerberos-delegation-pose-to-an-organization) is not a recommended practice. +Kerberos Unconstrained delegation and DES are blocked by Credential Guard. [Unconstrained delegation](/defender-for-identity/security-assessment-unconstrained-kerberos#what-risk-does-unsecure-kerberos-delegation-pose-to-an-organization) isn't a recommended practice. Instead [Kerberos](/windows-server/security/kerberos/kerberos-authentication-overview) or [Negotiate SSP](/windows/win32/secauthn/microsoft-negotiate) are recommended for authentication generally, and for delegation, [Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) and [Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview#resource-based-constrained-delegation-across-domains) are recommended. These methods provide greater credential security overall, and are also compatible with Credential Guard. @@ -97,7 +97,7 @@ On domain-joined devices, DPAPI can recover user keys using a domain controller >[!IMPORTANT] > Best practice when clearing a TPM on a domain-joined device is to be on a network with connectivity to domain controllers. This ensures DPAPI functions and the user does not experience strange behavior. -Auto VPN configuration is protected with user DPAPI. User may not be able to use VPN to connect to domain controllers since the VPN configurations are lost. +Auto VPN configuration is protected with user DPAPI. User might not be able to use VPN to connect to domain controllers since the VPN configurations are lost. If you must clear the TPM on a domain-joined device without connectivity to domain controllers, then you should consider the following. Domain user sign-in on a domain-joined device after clearing a TPM for as long as there's no connectivity to a domain controller: @@ -126,48 +126,35 @@ This article describes known issues when Credential Guard is enabled. > [!IMPORTANT] > Windows Server 2025 is in previeww. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. -Devices which use CredSSP-based Delegation may no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services which rely on live migration (such as [SCVMM](/system-center/vmm/overview)) may also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. +Devices that use CredSSP-based Delegation might no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services that rely on live migration (such as [SCVMM](/system-center/vmm/overview)) might also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. -#### Affected devices -Any server with Credential Guard enabled may encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that are not Domain Controllers. Default enablement of Credential Guard can be [pre-emptively blocked](configure.md#default-enablement) before upgrade. - -#### Cause of the issue -Live Migration with Hyper-V, and applications and services which rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials. - -If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration will fail. In most cases, Credential Guard's enablement state on the destination machine will not impact Live Migration. Live Migration will also fail in cluster scenarios (e.g., SCVMM), since any device may at one point act as a source machine. - -#### How to fix the issue -Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can [configure these types of delegation](/windows-server/virtualization/hyper-v/deploy/set-up-hosts-for-live-migration-without-failover-clustering#BKMK_Step1) manually or with the help of automated scripts. +||| +|-|-| +|**Affected devices**|Any server with Credential Guard enabled might encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that aren't Domain Controllers. Default enablement of Credential Guard can be [preemptively blocked](configure.md#default-enablement) before upgrade.| +|**Cause of the issue**|Live Migration with Hyper-V, and applications and services that rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials.

If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration fails. In most cases, Credential Guard's enablement state on the destination machine won't impact Live Migration. Live Migration also fails in cluster scenarios (for example, SCVMM), since any device might act as a source machine.| +|**Resolution**|Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can [configure these types of delegation](/windows-server/virtualization/hyper-v/deploy/set-up-hosts-for-live-migration-without-failover-clustering#BKMK_Step1) manually or with the help of automated scripts.| ### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 or Windows Server 2025 (preview) -Devices that use 802.1x wireless or wired network, RDP, or VPN connections that rely on insecure protocols with password-based authentication are unable to use SSO to sign in and are forced to manually re-authenticate in every new Windows session when Credential Guard is running. +Devices that use 802.1x wireless or wired network, RDP, or VPN connections that rely on insecure protocols with password-based authentication are unable to use SSO to sign in and are forced to manually reauthenticate in every new Windows session when Credential Guard is running. -#### Affected devices - -Any device with Credential Guard enabled may encounter the issue. Starting in Windows 11, version 22H2 and Windows Server 2025 (preview), eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, as well as some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements). - -All Windows Pro devices that previously ran Credential Guard on an eligible license and later downgraded to Pro, and which still meet the [minimum hardware requirements](index.md#hardware-and-software-requirements), will receive default enablement. +||| +|-|-| +|**Affected devices**|Any device with Credential Guard enabled might encounter the issue. Starting in Windows 11, version 22H2, and Windows Server 2025 (preview), eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, and some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements).

All Windows Pro devices that previously ran Credential Guard on an eligible license and later downgraded to Pro, and which still meet the [minimum hardware requirements](index.md#hardware-and-software-requirements), receive default enablement.| +|**Cause of the issue**|Applications and services are affected by the issue when they rely on insecure protocols that use password-based authentication. Such protocols are considered insecure because they can lead to password disclosure on the client or the server, and Credential Guard blocks them. Affected protocols include:

- Kerberos unconstrained delegation (both SSO and supplied credentials are blocked)
- Kerberos when PKINIT uses RSA encryption instead of Diffie-Hellman (both SSO and supplied credentials are blocked)
- MS-CHAP (only SSO is blocked)
- WDigest (only SSO is blocked)
- NTLM v1 (only SSO is blocked)

**Note**: Since only SSO is blocked for MS-CHAP, WDigest, and NTLM v1, these protocols can still be used by prompting the user to supply credentials.| +|**Resolution**|Microsoft recommends moving away from MSCHAPv2-based connections (for example, PEAP-MSCHAPv2 and EAP-MSCHAPv2), to certificate-based authentication (for example, PEAP-TLS or EAP-TLS). Credential Guard doesn't block certificate-based authentication.

For a more immediate, but less secure fix, [disable Credential Guard](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft.| > [!TIP] +> To prevent default enablement, configure your devices [to disable Credential Guard](configure.md#disable-credential-guard) before updating to a version which [received default enablement](index.md#default-enablement). If the setting is not configured (which is the default state) and if the device is eligible, the device automatically enable Credential Guard after the update. +> +> If Credential Guard is explicitly disabled, the device won't automatically enable Credential Guard after the update. + +> [!NOTE] > To determine if a Windows Pro device receives default enablement when upgraded to **Windows 11, version 22H2** or **Windows Server 2025 (preview)**, check if the registry key `IsolatedCredentialsRootSecret` is present in `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0`. > If it's present, the device enables Credential Guard after the update. > > Credential Guard can be disabled after upgrade by following the [disablement instructions](configure.md#disable-credential-guard). -#### Cause of the issue - -Applications and services are affected by the issue when they rely on insecure protocols that use password-based authentication. Such protocols are considered insecure because they can lead to password disclosure on the client or the server, and Credential Guard blocks them. Affected protocols include: - -- Kerberos unconstrained delegation (both SSO and supplied credentials are blocked) -- Kerberos when PKINIT uses RSA encryption instead of Diffie-Hellman (both SSO and supplied credentials are blocked) -- MS-CHAP (only SSO is blocked) -- WDigest (only SSO is blocked) -- NTLM v1 (only SSO is blocked) - -> [!NOTE] -> Since only SSO is blocked for MS-CHAP, WDigest, and NTLM v1, these protocols can still be used by prompting the user to supply credentials. - #### How to confirm the issue MS-CHAP and NTLMv1 are relevant to the SSO breakage after the Windows 11, version 22H2 update. To confirm if Credential Guard is blocking MS-CHAP or NTLMv1, open the Event Viewer (`eventvwr.exe`) and go to `Application and Services Logs\Microsoft\Windows\NTLM\Operational`. Check the following logs: @@ -215,22 +202,11 @@ MS-CHAP and NTLMv1 are relevant to the SSO breakage after the Windows 11, versio :::column-end::: :::row-end::: -#### How to fix the issue - -We recommend moving away from MSCHAPv2-based connections, such as PEAP-MSCHAPv2 and EAP-MSCHAPv2, to certificate-based authentication, like PEAP-TLS or EAP-TLS. Credential Guard doesn't block certificate-based authentication. - -For a more immediate, but less secure fix, [disable Credential Guard](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft. - -> [!TIP] -> To prevent default enablement, configure your devices [to disable Credential Guard](configure.md#disable-credential-guard) before updating to a version which [received default enablement](index.md#default-enablement). If the setting is not configured (which is the default state) and if the device is eligible, the device automatically enable Credential Guard after the update. -> -> If Credential Guard is explicitly disabled, the device won't automatically enable Credential Guard after the update. - ### Issues with non-Microsoft applications The following issue affects MSCHAPv2: -- [Credential guard doesn't work with MSCHAPv2 configurations, of which Cisco ISE is a common enterprise implementation](https://quickview.cloudapps.cisco.com/quickview/bug/CSCul55352). +- [Credential Guard doesn't work with MSCHAPv2 configurations, of which Cisco ISE is a common enterprise implementation](https://quickview.cloudapps.cisco.com/quickview/bug/CSCul55352). The following issue affects the Java GSS API. See the following Oracle bug database article: diff --git a/windows/security/identity-protection/credential-guard/how-it-works.md b/windows/security/identity-protection/credential-guard/how-it-works.md index d3af49e5aa..46df6ede24 100644 --- a/windows/security/identity-protection/credential-guard/how-it-works.md +++ b/windows/security/identity-protection/credential-guard/how-it-works.md @@ -1,5 +1,5 @@ --- -ms.date: 08/31/2023 +ms.date: 06/20/2024 title: How Credential Guard works description: Learn how Credential Guard uses virtualization to protect secrets, so that only privileged system software can access them. ms.topic: concept-article diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 52d594aa72..9024cd7fab 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -1,7 +1,7 @@ --- +ms.date: 06/20/2024 title: Credential Guard overview description: Learn about Credential Guard and how it isolates secrets so that only privileged system software can access them. -ms.date: 08/31/2023 ms.topic: overview --- @@ -14,7 +14,7 @@ Credential Guard uses [Virtualization-based security (VBS)](/windows-hardware/de When enabled, Credential Guard provides the following benefits: - **Hardware security**: NTLM, Kerberos, and Credential Manager take advantage of platform security features, including Secure Boot and virtualization, to protect credentials -- **Virtualization-based security**: NTLM, Kerberos derived credentials and other secrets run in a protected environment that is isolated from the running operating system +- **Virtualization-based security**: NTLM, Kerberos derived credentials, and other secrets run in a protected environment that is isolated from the running operating system - **Protection against advanced persistent threats**: when credentials are protected using VBS, the credential theft attack techniques and tools used in many targeted attacks are blocked. Malware running in the operating system with administrative privileges can't extract secrets that are protected by VBS > [!NOTE] @@ -36,11 +36,11 @@ When Credential Guard is enabled, [VBS](#system-requirements) is automatically e ### Default enablement on Windows -Devices running Windows 11, 22H2 or later will have Credential Guard enabled by default if they: +Devices running Windows 11, 22H2 or later have Credential Guard enabled by default if they: - Meet the [license requirements](#windows-edition-and-licensing-requirements) -- Meet the [hardware and sofware requirements](#system-requirements) -- Have not been [explicitly configured to disable Credential Guard](configure.md#default-enablement) +- Meet the [hardware and software requirements](#system-requirements) +- Aren't [explicitly configured to disable Credential Guard](configure.md#default-enablement) > [!NOTE] > Devices running Windows 11 Pro/Pro Edu 22H2 or later may have Virtualization-based Security (VBS) and/or Credential Guard automatically enabled if they meet the other requirements for default enablement, and have previously run Credential Guard. For example if Credential Guard was enabled on an Enterprise device that later downgraded to Pro. @@ -49,10 +49,13 @@ Devices running Windows 11, 22H2 or later will have Credential Guard enabled by ### Default enablement on Windows Server -Devices running Windows Server 2025 (preview) or later will have Credential Guard enabled by default if they meet the above requirements for Windows and additionally: +Devices running Windows Server 2025 (preview) or later have Credential Guard enabled by default if they: +- Meet the [license requirements](#windows-edition-and-licensing-requirements) +- Meet the [hardware and software requirements](#system-requirements) +- Aren't [explicitly configured to disable Credential Guard](configure.md#default-enablement) - Are joined to a domain -- Are not a Domain Controller +- Aren't a Domain Controller > [!IMPORTANT] > For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#known-issues). @@ -97,7 +100,7 @@ The requirements to run Credential Guard in Hyper-V virtual machines are: When Credential Guard is enabled, certain authentication capabilities are blocked. Applications that require such capabilities break. We refer to these requirements as *application requirements*. -Applications should be tested prior to deployment to ensure compatibility with the reduced functionality. +Applications should be tested before deployment to ensure compatibility with the reduced functionality. > [!WARNING] > Enabling Credential Guard on domain controllers isn't recommended. @@ -110,17 +113,17 @@ Applications break if they require: - Kerberos DES encryption support - Kerberos unconstrained delegation -- Extracting the Kerberos TGT +- Kerberos TGT extraction - NTLMv1 -Applications prompt and expose credentials to risk if they require: +Applications ask and expose credentials to risk if they require: - Digest authentication - Credential delegation - MS-CHAPv2 - CredSSP -Applications may cause performance issues when they attempt to hook the isolated Credential Guard process `LSAIso.exe`. +Applications might cause performance issues when they attempt to hook the isolated Credential Guard process `LSAIso.exe`. Services or protocols that rely on Kerberos, such as file shares or remote desktop, continue to work and aren't affected by Credential Guard. From 6da8ff38c49c5eb0a606033783f9abe0dc23ea22 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 20 Jun 2024 12:54:46 -0400 Subject: [PATCH 101/354] data matrix tables --- .../considerations-known-issues.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 249d3db3fb..8faf5d3977 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -128,21 +128,21 @@ This article describes known issues when Credential Guard is enabled. Devices that use CredSSP-based Delegation might no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services that rely on live migration (such as [SCVMM](/system-center/vmm/overview)) might also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. -||| +||Description| |-|-| -|**Affected devices**|Any server with Credential Guard enabled might encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that aren't Domain Controllers. Default enablement of Credential Guard can be [preemptively blocked](configure.md#default-enablement) before upgrade.| -|**Cause of the issue**|Live Migration with Hyper-V, and applications and services that rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials.

If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration fails. In most cases, Credential Guard's enablement state on the destination machine won't impact Live Migration. Live Migration also fails in cluster scenarios (for example, SCVMM), since any device might act as a source machine.| -|**Resolution**|Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can [configure these types of delegation](/windows-server/virtualization/hyper-v/deploy/set-up-hosts-for-live-migration-without-failover-clustering#BKMK_Step1) manually or with the help of automated scripts.| +| **Affected devices**|Any server with Credential Guard enabled might encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that aren't Domain Controllers. Default enablement of Credential Guard can be [preemptively blocked](configure.md#default-enablement) before upgrade.| +| **Cause of the issue**|Live Migration with Hyper-V, and applications and services that rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials.

If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration fails. In most cases, Credential Guard's enablement state on the destination machine won't impact Live Migration. Live Migration also fails in cluster scenarios (for example, SCVMM), since any device might act as a source machine.| +| **Resolution**|Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can [configure these types of delegation](/windows-server/virtualization/hyper-v/deploy/set-up-hosts-for-live-migration-without-failover-clustering#BKMK_Step1) manually or with the help of automated scripts.| ### Single sign-on for Network services breaks after upgrading to Windows 11, version 22H2 or Windows Server 2025 (preview) Devices that use 802.1x wireless or wired network, RDP, or VPN connections that rely on insecure protocols with password-based authentication are unable to use SSO to sign in and are forced to manually reauthenticate in every new Windows session when Credential Guard is running. -||| +||Description| |-|-| -|**Affected devices**|Any device with Credential Guard enabled might encounter the issue. Starting in Windows 11, version 22H2, and Windows Server 2025 (preview), eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, and some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements).

All Windows Pro devices that previously ran Credential Guard on an eligible license and later downgraded to Pro, and which still meet the [minimum hardware requirements](index.md#hardware-and-software-requirements), receive default enablement.| -|**Cause of the issue**|Applications and services are affected by the issue when they rely on insecure protocols that use password-based authentication. Such protocols are considered insecure because they can lead to password disclosure on the client or the server, and Credential Guard blocks them. Affected protocols include:

- Kerberos unconstrained delegation (both SSO and supplied credentials are blocked)
- Kerberos when PKINIT uses RSA encryption instead of Diffie-Hellman (both SSO and supplied credentials are blocked)
- MS-CHAP (only SSO is blocked)
- WDigest (only SSO is blocked)
- NTLM v1 (only SSO is blocked)

**Note**: Since only SSO is blocked for MS-CHAP, WDigest, and NTLM v1, these protocols can still be used by prompting the user to supply credentials.| -|**Resolution**|Microsoft recommends moving away from MSCHAPv2-based connections (for example, PEAP-MSCHAPv2 and EAP-MSCHAPv2), to certificate-based authentication (for example, PEAP-TLS or EAP-TLS). Credential Guard doesn't block certificate-based authentication.

For a more immediate, but less secure fix, [disable Credential Guard](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft.| +| **Affected devices**|Any device with Credential Guard enabled might encounter the issue. Starting in Windows 11, version 22H2, and Windows Server 2025 (preview), eligible devices that didn't disable Credential Guard, have it [enabled by default](index.md#default-enablement). This affects all devices on Enterprise (E3 and E5) and Education licenses, and some Pro licenses, as long as they meet the [minimum hardware requirements](index.md#hardware-and-software-requirements).

All Windows Pro devices that previously ran Credential Guard on an eligible license and later downgraded to Pro, and which still meet the [minimum hardware requirements](index.md#hardware-and-software-requirements), receive default enablement.| +| **Cause of the issue**|Applications and services are affected by the issue when they rely on insecure protocols that use password-based authentication. Such protocols are considered insecure because they can lead to password disclosure on the client or the server, and Credential Guard blocks them. Affected protocols include:

- Kerberos unconstrained delegation (both SSO and supplied credentials are blocked)
- Kerberos when PKINIT uses RSA encryption instead of Diffie-Hellman (both SSO and supplied credentials are blocked)
- MS-CHAP (only SSO is blocked)
- WDigest (only SSO is blocked)
- NTLM v1 (only SSO is blocked)

**Note**: Since only SSO is blocked for MS-CHAP, WDigest, and NTLM v1, these protocols can still be used by prompting the user to supply credentials.| +| **Resolution**|Microsoft recommends moving away from MSCHAPv2-based connections (for example, PEAP-MSCHAPv2 and EAP-MSCHAPv2), to certificate-based authentication (for example, PEAP-TLS or EAP-TLS). Credential Guard doesn't block certificate-based authentication.

For a more immediate, but less secure fix, [disable Credential Guard](configure.md#disable-credential-guard). Credential Guard doesn't have per-protocol or per-application policies, and it can either be turned on or off. If you disable Credential Guard, you leave stored domain credentials vulnerable to theft.| > [!TIP] > To prevent default enablement, configure your devices [to disable Credential Guard](configure.md#disable-credential-guard) before updating to a version which [received default enablement](index.md#default-enablement). If the setting is not configured (which is the default state) and if the device is eligible, the device automatically enable Credential Guard after the update. From 9a105c29542aab6d9f3ae1a09c68c969af6e2e9a Mon Sep 17 00:00:00 2001 From: mikolding Date: Thu, 20 Jun 2024 10:37:31 -0700 Subject: [PATCH 102/354] Update updatemanagedvsupdateunmanageddevices.md --- .../updatemanagedvsupdateunmanageddevices.md | 83 ------------------- 1 file changed, 83 deletions(-) diff --git a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md index da212512ce..9bc4dee63b 100644 --- a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md +++ b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md @@ -1,52 +1,4 @@ ---- -# Required metadata -# For more information, see https://review.learn.microsoft.com/en-us/help/platform/learn-editor-add-metadata?branch=main -# For valid values of ms.service, ms.prod, and ms.topic, see https://review.learn.microsoft.com/en-us/help/platform/metadata-taxonomies?branch=main -title: # Add a title for the browser tab -description: # Add a meaningful description for search results -author: mikolding # GitHub alias -ms.author: v-mikolding # Microsoft alias -ms.service: # Add the ms.service or ms.prod value -# ms.prod: # To use ms.prod, uncomment it and delete ms.service -ms.topic: # Add the ms.topic value -ms.date: 06/12/2024 ---- - -# Update-managed vs Update-unmanaged devices - ---- -title: "Managing Windows Updates: IT Managed vs. Unmanaged Devices" ---- - -**Request title**: Defining Windows Update managed and Windows Update unmanaged devices - -**Generated text**: - ------------------------------------------------------------------------- - ---- -title: "Defining Windows Update managed and Windows Update unmanaged devices" -description: -author: -ms.author: v-mikolding -manager: -ms.date: 06/05/2024 -ms.topic: -ms.service: windows-client -ms.subservice: -ms.localizationpriority: -ms.collection: -ms.custom: QuickDraft -ms.reviewer: thtrombl;arcarley;royork;sumitav;kerick;maferr;v-fvalentyna -search.appverid: MET150 -f1.keywords: -audience: -ai-usage: -- ai-assisted ---- - -\`\`\`html # Managing Windows Updates: IT Managed vs. Unmanaged Devices @@ -106,38 +58,3 @@ For more information on managed and unmanaged devices, check out [Secure managed | SEO Keywords | Suggested Additions | Links to Update | Issues/Concerns | |-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------| | Windows update management, IT managed devices, unmanaged devices, Windows updates, Intune managed devices | Add detailed steps for configuring GPO, CSP, and Graph policies for managing updates | [Update Policy CSP - Windows Client Management](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update), [Secure managed and unmanaged devices](https://docs.microsoft.com/mem/intune/protect/protect-devices) | Ensure all links are up to date and point to the correct resources | - -\`\`\` -\*\*Customer Intent for this Article:\*\* Understand the differences between IT-managed and unmanaged Windows devices to better manage Windows updates. - ------------------------------------------------------------------------- - -**Acrolinx score**: **82** - -**Acrolinx correctness score**: 89 - -**Acrolinx scorecard** (Acrolinx account required): https://microsoft-ce-csi-qa.acrolinx.cloud/api/v1/checking/scorecards/d9ad0ab8-ffa3-4af1-a7c7-00cbb71a4d52 - ------------------------------------------------------------------------- - -**Reviewers**: thtrombl;arcarley;royork;sumitav;kerick;maferr;v-fvalentyna - -**Key dates**: - ------------------------------------------------------------------------- - -**Audience**: Admin - -**Product**: Windows 10/11 - -**Article should cover the following**: Windows Update IT Managed = there are policies (GP, CSP, or Graph) configured on the device to manage update offering and/or experience. \nWindows Update Offering IT Managed = there are policies configured (GP, CSP, or Graph) to manage when/which feature, quality, driver, etc. updates are offered to the device. \nWindows Update Experience IT Managed = there are policies configured (GP, CSP, or Graph) to manage device behavior when taking Windows updates. \nWindows Update Non-IT Managed (Unmanaged) = no policies configured to control which updates are offered or the device behavior when taking updates outside of configuring the Settings page. - -**How this article will help customers**: It’s all about managing Windows updates. Get clarity on terminology for managed and unmanaged Windows devices. - -**Submitted by**: v-mikolding@microsoft.com - -**Spec**: Update managed Windows devices \n\n \n\nAll organizational devices fall into two categories: they are either considered managed or unmanaged. The distinction is especially important when it comes to Windows features, updates, and rollouts. \n\n  \n\nFirst, let’s define managed and unmanaged devices in terms of Windows update management. A few examples of these device categories will help you identify your scenarios. These will serve as the basis for future communications as we update existing content in the coming weeks. \n\n \n\nNote: Windows updates are those that affect the Windows operating system and its components: Windows quality updates, Windows feature updates, and .NET updates. See Windows monthly updates explained. Office and other applications have different management mechanisms. \n\n \n\nWhat are update-managed Windows devices? \n\nWe define an update managed device based on Windows Update management. Windows devices are update managed if an IT administrator or an organization controls the updates for Windows via a management tool (such as Microsoft Intune) or by directly setting policies (for example, Group Policy (GPO), Configuration Service Provider (CSP) policy, or Graph). \n\n \n\nNote: This is true even if you directly set registry keys. However, this is not recommended given that registry keys can be easily overwritten. \n\n \n\n \n\nManaged devices can range from desktops, laptops, and tablets, to servers and manufacturing equipment. You secure and configure them according to your organization’s standards and policies. \n\n \n\nFurther, there are two categories of Windows update managed devices, based on whether you manage the offering or the experience of Windows updates. \n\n  \n\nIT-managed: Windows update offering \n\nYour devices are Windows update-managed if you manage update offering in all the following ways: \n\nYou configure policies to manage which updates are offered to the specific device. \n\nYou set when your organization should receive feature, quality, and driver updates, among others. \n\nYou use Group Policy (GP), Cloud Solution Provider (CSP), or Graph to configure these offerings. \n\n \n\nIT-managed: Windows update experience \n\nYour devices are Windows update-managed if you use policies (GP, CSP, or Graph) to manage device behavior when taking Windows updates.  \n\n \n\nExamples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at Update Policy CSP - Windows Client Management. \n\n \n\nInserting image... \n\n  \n\nExamples of update managed Windows devices \n\nHere are a few examples of an update managed device: \n\n  \n\nCompany-owned devices: If your IT department provisions devices, they are typically managed devices. You’d often provision these with specific corporate credentials, configurations, and policies for security and manageability. \n\nEmployee-owned devices enrolled in Bring-Your-Own-Device (BYOD) programs: Do you enroll any personally owned devices in the company’s device management system? You’d do this to help these employees access corporate resources securely. The device must adhere to Terms of Use for corporate and personally owned devices connecting to corporate resources. In that scenario, these devices are considered managed. \n\nDevices managed through Windows Autopilot: This tool allows you to set up and preconfigure new devices, making them business-ready right out of the box. If you use Autopilot for any devices, they’re managed. \n\nMandated security settings: Managed devices might include health requirements, such as device encryption, a PIN or strong password, a specific inactivity timeout period, and up-to-date operating systems with enabled auto-updates. \n\nIntune enrolled devices: Devices enrolled in Microsoft Intune are considered managed. Intune allows them to access the company network and enforces device encryption, PIN/password requirements, and specific inactivity timeout periods. \n\nThird-party managed devices: Devices enrolled into third-party management tooling are considered managed if you configure Windows update policies via GPO, CSP, or registry key. Specifically, you configure these devices to point them to a local Windows Server Update Services (WSUS), disable access to Windows Update (WU), or manage which Windows updates are offered. \n\nWhat are update-unmanaged Windows devices? \n\nUnlike update-managed devices, you don’t control unmanaged Windows devices through policies, management tools, or software. \n\nThese devices aren’t enrolled in tools like Microsoft Intune or Configuration Manager. \n\nYou don’t configure policies to control Windows update offerings or experience for these devices. \n\nIf all you do is configure the Settings page to control overall device behavior when taking updates, it’s an unmanaged device. \n\n \n\nNote: If you’ve seen the term “Microsoft managed devices,” it used to refer to what we now call “update unmanaged Windows devices.” Based on your feedback, we’ll update existing content with these more informative definitions to drive clarity. \n\nExamples of Windows update unmanaged devices \n\nExamples of update unmanaged devices include: \n\n  \n\nPersonal devices: If some individuals at your organization own a device that is not enrolled in any corporate management system, it’s an unmanaged device. It wouldn’t have any security configurations and policies that you typically apply for your organization. \n\nBYOD devices not enrolled in management programs: BYOD programs are characterized by management policies. So, if there are devices that aren’t part of an organizational BYOD program, they remain unmanaged even if used for work. \n\nPeripheral devices: Printers, IP phones, and uninterruptible power supplies (UPS) often don’t accept centrally managed administrative credentials. Therefore, they cannot have management agents installed on them, leaving them unmanaged. \n\n \n\nThank you for your feedback in helping us drive clarity into content and definitions. We’ll be updating existing content across Microsoft pages to reflect these definitions. For more information on managed and unmanaged devices, check out Secure managed and unmanaged devices. - -**Run ID**: 3557dc16-a3ef-4007-8f20-8d929b2c29f1 - -**Session ID**: e46f3c4d-8c88-4605-9d63-4f325db41925 From 90f84e45afa919f63a395c1ca0ce389724d7ece5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:19:32 -0400 Subject: [PATCH 103/354] Graphics refresh --- .../credential-guard/how-it-works.md | 2 +- .../images/credential-guard-architecture.png | Bin 0 -> 588385 bytes .../credential-guard/images/credguard.png | Bin 60318 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 windows/security/identity-protection/credential-guard/images/credential-guard-architecture.png delete mode 100644 windows/security/identity-protection/credential-guard/images/credguard.png diff --git a/windows/security/identity-protection/credential-guard/how-it-works.md b/windows/security/identity-protection/credential-guard/how-it-works.md index 46df6ede24..f506df21ac 100644 --- a/windows/security/identity-protection/credential-guard/how-it-works.md +++ b/windows/security/identity-protection/credential-guard/how-it-works.md @@ -13,7 +13,7 @@ For security reasons, the isolated LSA process doesn't host any device drivers. Here's a high-level overview on how the LSA is isolated by using Virtualization-based security: -:::image type="content" source="images/credguard.png" alt-text="Diagram of the Credential Guard architecture."::: +:::image type="content" source="images/credential-guard-architecture.png" alt-text="Diagram of the Credential Guard architecture."::: ## Credential Guard protection limits diff --git a/windows/security/identity-protection/credential-guard/images/credential-guard-architecture.png b/windows/security/identity-protection/credential-guard/images/credential-guard-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..f65b8ef6aa816b5479adbb6b0714ae41ebd961bb GIT binary patch literal 588385 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
D~b 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 _{_D&i=>5 zL^pXAA!mAbc5&i)?*FqP%~pR6PuUa*5mx|N$BQWswf}@0GDpdsO1?lKN+f^LW`!M? zEr8(;1?w}pghUg8uSR(M15vHRQ3Ii}CykVAmk1GsO45ulMPnwZEW-_?hIakza)?x# z(jW>!jRKFNK!>rc&a(51oeM=K-Z9?p9)+C)4A0A?M*-Lii3_4$sg>`#R?JuD zsw0l+4AC^v{Bx<-OI!Eud3RzF+quM`xXKlo<-CINd;0$?RAYz#>2 zp!52<)}xQv)@=yu2JAj^mAOcYNVJRPNDs z8}TQYmjbPWzI*QS_i~m`1?=UY609bRyS%PGG+6qHGk&-*W}gF}C}XKWPZCsnd8`p> z^ou0id!5-%8ok2dN$-THw8y^ld{gsW)O42bMVjIh2LFLq9rupZCj05qY@;doo%_Ua zxm6e2bPR$|J_i(Zp4XCOt&Je7A|q~v*j$O;*u>a|40gad@o)@0u}zZeT=esV!a`%= zfu{^m4$-DCqLc1}e59f5=1EdXCQrT3y05;DA)(j2!Rqx`+c&r=4=X=f)LSZ#dZ?U| z{8Jfg?86WWwloTZgL2Y^9sYM7OoS}5Gjg{i?vY%sa&0);AAB)jXqIbFOaWwj5&e&765S@K^TWYbhC1al%%i_ zG!{asGDRUJ&=I5X(NT@;jEcuQ&%%{ZJAD@F88p|&@narh#g%o7@JfOjXPSy~rB*@K zezp>Hl_T9lpx;odpk8KQmy#@T2ms2le$3 zUf<*h1h)EjSxFFO#bHCePjZOtg1!9kr!9DGDw z>~JPtSQjmx$5O4-LkTN>;t#RUlku8H)*8e2aLWl_@XFoi{578|8a&hM@* z0gAEa&>x92rN)#WkV$83l(uu-A%yK(f-FFq7QF% z(18*OI)WRz7Y!NDkJ{?Pa4)VfLHYK&q{%zYbWTD?;IwXn-2@PUlc00%TpL zd}X}GUY5TvNmTg-^YD-I*s`A9CkX?jIsBpK##}%5oRu#>VSck~TvHii9e568znjhl zCv_2rQNHBObLWPZ6QV=JV|4AnW?iEPUI`5yN9Dg$=Elh4&wR%4MSDeQ@%GtKaq`&i zTi)^}JgQY4ov>?1%63gXLWjzG&q)=hG_}wP%WVoga43A1>!LC%Lev6bp_yo+eOMV2 zF*S8s(P^qF5?#6ABclkAvGrLW24CnLjYh<|75nsjyYFs33l7Xw*pJwFSL;lGE@_EG z=sWBptEYHk;BdBYIgGp{nn=udoTE|}XvK+FqNA{?;z`j7Sbga=S|IGUj7&~5rZvvJw)IZ(7MQ!bEBG#JvuS@i6?9}+_|9+C!ZsXgMd$!@3`kBtRoU- z0QoOCr4$1pRgT+^lxC-isp^DU+V!!^+u)ezU(2#$ZFSnpn{!V-8w*F%7vMWI{h@7; zMo6+IB+x^I0=5-Qlz+kOQdLslQmQW6XC_*7@Lg;w3#x9@q56_k(c*k%P&8g9(g8y1 zb-dJ!qe(aX|JY}z=y=0#?c8xC&<^b;PeQ-Wy5>Xm3gE>4BQGR8m#%PIhtC;R&_j?H zapC0uM<#lZ{}1wmHk!7#2lQzffN1Wp3z_^Pi+K-B?8U?~%`{ zwgdp36&QW_BzE9}c}wQ42Do!u}5yB-d^YbF3rqmuDzq<=1@AZ6n_`RYGQk6%>X2 z17l|nc;W7!_rigtTzPq3AmaikNh(|zsU}At!0;70z}5~qDq>e^$p2z>DJcW*n+qB^ zlq-o(6$DZ7Y+9meRkkKa$p#7B1qza;iW?wTr5St9eo$6sD8EW)RFM?MRP~S=L&m;^ zf}+_|gaUu4VMMvoN&=9$K%~e5S0|T<_;h-sJViQi)8LE`_Nmf4!j(3cPhg;9#o>9k zXk(a5g@Zh3I;NF>^7>Q|U1d=gTk!`tQBS3TGL^tWnJU#E0uB%1m4Xg0{Xp-$85A?o zc_8g-;!PgVjN=tj^nGG%;MD%BL1Yjp)6!X4Kw<2U=7A6bHL~)>wR%u75>2teR<#f2 zUtl1T(dcm7&ICt&>-IlB6S>5krH&_jtjv0(~7;F(8}f+(shG?*o;fa!w$=QKlEHzj#Hm4BEF$rb7_Y|@I36e_rTGpD%_ zzSPIS1H5n&o3ny9CwbAlqe9UAG2*o#WcyD$(x78w8y(gD-(hq>@Hc8zL$6hn0MKAa z7Ho5n<~a_H)>y=1wfC~v-iWD-G<7bs!SHBaR{d;aMZ==P5TkNcMDeO7u)mL#ZkfBO zm&-UX4k(f&1W6@WTZJCgRr)e8%$r3`O=3WKD7|1Xrd%Zo7{@`>go>Wy;7sub7+i^I z)2j`!4FGGbzXU)T(b#}_i~i=BPwqLjtG^_G^;IGRB23Bg;T8t!i!4UQ>r%(3eL4>{ z3W~bXa61OQ3cz#aS$S8;BllshVPHB#Rs0#)g2}hd9gYW0RvEht;RjL+qcc}rXs07` z9;bUgsqgJ}3k}TYOE?hiaH@`XoU7>O$DZ|H)PGx!M{)*-1IkVQp~;ee0gI-E0*nw; zL?`~h`h!I!1{@OJ8HwhUW9AR69W5BX8+eWHDvZHTl?>@glN5f!V=5w4(iNTXv`6D7_)nu zI?r1tL9jm3qq-5`V}Oq3s47CBj4F&`vWNmaW@@DwXOU?apzY=~L!d_fmmY+=d>?C=s-=JQ!R=-Wyc6&Q4kaaltIu1_N18{S!Gw#3 zNXIyONpKMWZa|U0-fkl`iHlE1L^^gC`U!&In33|TlW;G;k%DC}f zm|Hl=dYI>Rhir0yG1qlyFWvM^SzeMBWY~iwjs=HuxBn4e{Fz(C11D2yt)?{az{-DcLO+&4{***oeiQHQM{7ZF(U&anqaibAS4d;Zt+5H7u7?tc2G9&Ymm;9WKFj~ zc1o=aWbDx79jOrxbHQ1;F^^%E=}%_WBW>LG6$?8E%+;2>c>jocB9* zPG&tOiSmEP1S&wl84$3T5`Kb>lKcZb!aXgg*~hLtlj+ABp$am^@jmNfB=auqX8B60 z^3Ul{k{*(#9yRw7o-`OR2^-camR-9G>KM8mM=fxH-&O_eL{2_*1*F$LE zQ2L4Jru1j}piL#>p!@U3jB`t(fE_VM@h$crbR6#xY^EWwk)%%ZXpG*Kr*`@E8OCpzu2Y;bF;1m9_P3@h*kN7pgZ3!X|EPYE5=Pbz4!T+GVU0Jvg4k-E~M~L_19LAcKTi|QOeB8oe{&$ zy3CP0y$75@;4>pN{TO7(GcRf{tcbVd_V&EdQbD;zr4pU)bR=!fe^x@egB=ySm!t41 z98~~yfx=B7+v#kE5;ZYi8zV)u5u!7xy;@iHhAsgpJkiz33bT#{44d8Gz%f^;Ue1x! z#v&<^XT2QxK8Ry7IEmku#zZBBurs$SpCR4y{z!2I)Ho0oCnHD09jBOz{KGh$-EjBI z+r|JXjD%?uc;dc)l8s}8b+D|P``dld)+{Nba4>Rl&bvMUN04J=JG~cb3>;T|rt4Ug ze;0oaSMLFFV{4P%kDxv^`h$Bq9;@gkpO`6`D$AcaE-%&_yDr_$s@L=T9>-0(S%+!Q z6YHLVu0j9ud0#FQYR?7QEOrP#$;xZq{8WW9gZ^qsbV^Kk=3d90aoORz zO^pKweO?qV9@ULhZF|>CdS*Jos*%ee<6T>+_X>n3V+>5^Ye4y zBXa!_7P$dtOlXrk9T9aA`gbviWaX&Cl8!sI|Jmc+&<(2?tk_Kk?Kle9+2ZSKi_GO2 z&`vVAL8MQYUY9{QoO+k|Vc`NlH%j)2`Aja>TuE(;_c<^{#;X)Zut*()auJSQmlGN7 zf0TdB!+T$QH1@w8XGBu_>+A68JtHrsv0=Oh{n%a}eJtAkw*2ETV!f^`x}LsB@8^d% zxKvoa2|Xu?)hLi(gZvlylUfJvrC=7@Ssur6bZh#CKH&9NbZ z$^+rcouRfGa3dKS*jPm6B(UO`L}zl0ZN0H#x`LS@ii5rIZ9Urv?abfQH=JQCM9B#$ zOEqn2*USJEgdW>y85$;R2nqoVi?v92Y5_O2S>(2QOcb1|U|?1$n-douf;4APpPIz! zy6#cCC}Pco-kRe_OKfzq=Zs&%pgNv-bwxzH@3mnJZ?1EWnc zd?UXrdl(KOXaU9NPS4EXB%V&z#RXFY>dFY>eVTjbzgq^=|m^6&lP zzp2IkNj*U2>2|(3Du}FnmGGfG{F&nJ%G1D#p5iF}+J8_I4DhMLL6Iaob)okK7mk6A zM=rUJ2L_L6cw~Xwy6!pCKm*-kG z1Is>Q?`>1v9D+uotBpl$PV?z@H|$7m`y=nFpOVCk*X)11Dh^O>iv!}q35Ot-84%#v z@!wwNLr-gdvuD)T_4>4_e=+eRwAll5pTCoTloKT=;iinI@O_9>C;I<+C}95u^T~Kb znT;FtXXmxRUrkug6lERdgaarcU*AOelxpCpn`a$E(1Ym){fti5a%}#l{BNE!PFSYv zt~gic!C9?Sc|a%0CzBgS2>}R-bU+)&O?|^12II?rEY*bFv z=U^nVVCFPhp(p(FR7&>z>bYp`594awr(hE`jnlwQV~Dv}RSHJjk~cNLet%RqY}sKIT{tT_R0Q??K@rD;)$?Q zp7+HdbW5s@E?O~u2jdWQmi0{y|6Ye05kY5Y!M?jQHY2_RjMi?9_U}JGFNW9Lo#CJ` z=P3?}G+TH%u5tum!fP-c@w>U~>QUQ{H+&g=m^cZ$Hb*;k26^dva|YO*#ZVvRpEod9 zuN+TsR_B{;2lQ{I9X&ONH*KT-?NOgkedJ64K><{fuMTbvN;YR*r;E!y9kOOBN zgoF8vC8AM8IbUSXFj zII+JF!fk6_(eJCs3Ssc_aOvx0!-arz<#>|E4UiGvXEJ>D+&too8L| z?9urD9FgVJIR@18Pag+gFTv2|e|#;6w}B3K56b#qDMR`RjOCJ=&1Odu?Azfth-0L1 z1&5$-h{zKFJRvrAXaw1R0bBYE39*1DAhJ5fL1;VX=T(QO@ff%u`(h`ky8T@!`Jvs`Md>8eWznryTej0J}aY^8FtyblK#~G0}9N@>c zRi3Y;hEWMWMsVvZ8?VQ9 zl?5%%u->It^tK6<>G6sMD${*+Z_Z=t7N_~l2| zr#|%=`q^K2ufYxdD$g-JqW!NWfxkdcYkJ{RUrw+5+OMH!pMCb;-}$XLFdNCT$K9lF z)Y#SqI5m(&`srbPUA?#6nO8DkFL(QY&O?us5?UT`z#t@pf4G_@KAGjnmskD&SdO{| z%^ktBK}aMF_Fq*rWq*J}WtPZK?zi=J9>=&3+)AQkQ7 z{s}EuQJi%QROmSo<$K-^e#r*AbcU5dcxPvgmW$Kj(Kw=f%w}i!vIr>=h;~zn(QjmT z>eYLeg<$m1D1cof`&v9jCZ6!n=koE{>qFQXV!{!xXjl(zK{(zl{*xpdrlB;!z`$7F zgfMEY{z|Upx&QA@cLgFQvGI6m))|z_dPtflCw#F%kao@)@@SkIPC-SYDhCq?FF7v;fcJDU z{*!(ltNi2qIS$T;uB&km)US-sN93j_^?tY1_M1ce!N8zyEn%>J9v;g`PTtFRe^ zx9D?ypFZ}9-(y{zj2}x0xUAdpy2*-NXye30RKpXjIZ$vKt*ze=Wf7T}m{<5#W4{*E?`edV1UT|Hv|IlAVFKo`EzWc{0ZyHL`shh+N3j}27Tx`X0w!TUmhO#Kh9YPY? zU*Y|I{+y1k{k(^DSz-H(U0nd~<)7$^{~rUgu$F~BX}cJ&e)SrY#6p`+7`mWY)sH)G z>_1LNw7$VlSei{~?p8mW-R1Vu;fv~W-vS4aZ7+T}m#@tgARfeBqBX1dokS;xCI zAM2jMkYsXmpQ)F?54ilNKm#kEGtdCU7{u}IER01gWJ12GCLH4;7{VAxJVBAqj-wut z?(6i$l++32x#y07AOeYsWT!gT*q(D3D(xJZtJ6|c7<0qsAWJ(z4zdu~FGK6*6on`F zoJv5ca5W*;%lgofyrJ zmWd_IIHm^Dbr0n>k4!ZX0%%D=@qBmL=^yKH(bBYq)3J*i13)Z0KA_ZmSBYG-Bq^z+ zv}}aH!)wS!vxsLl8$x*Ei6d81H1rQmS$;a0MG`h;8_-=BT{9utvij1<+TPV0hrpck z9-Ds9fJdO+$$|#aiSmCoS}tt}`f|K55UtlF!ySnu#2(3x*1J@MAqj7(pOGT!`DQn{ zyhGwfogEGj0DCE2C0wdI?W$33WiBs^BP(d0s`Tg7`%&gm24jY9rl9NQNfa@5ld{R;#>U=bSa|DL@O+ZVm)MIrF=@|V73wJ(fr`M7xl zZ^K)4TM;A~obulw!I>V=RyK$e?WZ`y4h8Fq@*C1t0UY@vyy+w(#z_*TqV!1if9L;K zIWMpzpXjbBuf1$3C=z-K>7E^ijr(;*Q$ zZtg*kjH8-Yw|Hp`&AjY%#aR&QRzC9$|KDgRHm(SdLmTbm;IHGgkxA$!5iDR0H9i1u zgD@hhZ?Du5#C!)S+zHf5}L5YLHJR=uGdR+(@rXzd&CT+B4yx<9TsIWlK0P>p| z$|*2rcOMDbrQ9+HC<0$8-9T`(Qc%KBhXF8i+Hudgz#OfKFIdKR@t9&%jY+!kr!iuF zr{8;phY)xJl{aoAt(K6%$k*WoSRNeZB;tKXSG zNyZkp?SIUFbo(!1@vHWr>SS)$I@Vvi;G(d8swW!OGc>a%lHhOpE&M<`B#VwKI%v!Si4iZ=FNU2=AYG%0SW5;e}>U8mCg73%^3F|tp7DN zCAMGzk1{jTXh=LJGS}P678(oHGJb-tq-@pVz37O!mlK6?#8v`4RmO89bk_X&N=Gl! z=q$_g_ombq=ZVzG53d!IN69T>4*gaIpi$GBkM=)OK8sq6G=?$imD55uT=ULCr+hPh zSLO-Zg6K0Sv$NKGQpa_G*VX)5T-wS8p6{~wk<&%MSbs4FQ#jby^%fS0L?=c?2P{n) zxn{66g+#tVxE2^AoqO-1#qV?~>s(ji_k+%7pehvP(krPob&r%_2Uh z>hL5~-oAAi+8pz-d#`~x)ZPhS|nkereY@8T;I`@~^=CrvwFV^PbW39rD%b>ogiiVw3@03|!|zD=F4 z2XL+wFAXH}c3!FR|I;aM>JrF5L(3!{Igo*CQZ2tO|GU)iO~L{DK8IyCp1_nlVONl2 zK7?i~E;~OY%Ka-YdJXMI{U?B7+$ycX&0{4BSmnyn)S$7)}efYE4JWfY~dK3Bf|)blwx8WCte$%`kAd#D{=U1W0uP~!IhB!F?&$QfGgqp;phl*`et1-*8cZu&;Zp17J>8u0_P+d=!m{b0L|i@x>bcp29&H@?XIGWKsJ4=z#@p>s)?;tq}G%x;8vT(7=_0)y4oESa2 z;ET@>8)!_@+;cMo-jwZ<8vtJpMM&5|&gbC##A~0bA9pLbQQMy8b-qIjj2dk{3o0t& zQ>e5lT3*{qfRm_Io=q=yxC#gE@q92$#)CS4OIo;cLqPwAtY{Ar0;h7t4fRFk%9hNf z*7@^}+m${#ew@FDh(GA$G)de{BG-GZi@Fo#n_#{|hX^`SnIXR#Ewb_Y>^KdWx_)Y( z0%J7QUeRAeZD>*Eo&lxAY#mN~i!&&9NVmqcFXQ@`L*s zS7g2^>-N<)LBJ7WSDl~|3EUs@FT61fA`c4gDV7xkH}kL^)I;*IpVViIBbRHGf4(XI zW;YNFr0A!(J;Hti@e|Ep!WvP^_+#E`Uu21CFZa3s`CNRFLI~O>+1#g2PV#ow+ptia z`Lr&>9LTy-XcV#g!A<|0uIWjh)%trlo+|G8-mWlRL? zroJu%90Y+(dnOkr)44N~K@V~Qhy&ktT6&6AHvWGr|0ugzNl@kgjvQS2K5r9wj6;6h znA3%Et(*I`z)K_l)ftvpzO#!A10Xt601-UGfNoR{B!g0`mD&aQ-}0c(^_*iNB0iUY za?PDkNdA8=by#s6_0&+1|K=GWyUivHZupubEqMAgqhp3}uSeZ1K1J}IFk8ha9$~;R+-r+uJ3Rv9wZf8>8hfW)g(nJ^ z<`M)n{PmLs2=M371tx1BpelsO*qD!XtD@nEcVS_w5JKSVqV%TJEvPRAqL|`Ft4;-_ zJREo$v_=w5aUgN54KUO~?%)|t$Q%2*N}gRt3TCtrCDGpqMNdEdzdJI&@P%jT)1UqfefF8pBN4Kg zS??qFMKAhFdhyeL=*W5Y*)JY{AN~06mT5rcIDRE&d{pe|r@zwLJ#*jZc=r|;@VUpx zk=)iAuwQ(S)A-pr#ph!m|2^tb&=W=ecbvUwq6>gV{>M-8z3hHIbZnpc)bGz3*$AKiB z#5^i3n|Kgro({buKPEbNl`!b9BM3Gc>59qX7a_|nD!?;}9{oQjrbuT$LWU*jTd)#3 z*0nm6RD7%#+NX|JY4ePLZ^^;~5{Sm!L?Wuhx+4FxUN}9+zR7b%{4*EgksUVeN94PJ zxErYdMjTu=D2acz{|Un&Pg!2bS=)SI3go})gDN)H(>0#ivE^;p^ZMkIe}JAIAOF0! zqazLb{LC|-qtAZsbIH$+yS&5xzVORmNH2czR~|?_d+&pM_OqX-Pk-h!tIe9HH7{Xd ziU>1Uwjlm|_$@Dc=~o|pP24_r_$<%dS<>RC3DM8CJeD<>T5=zsWzgI+a({ijA* zh8%%XcJ{RyB|fR=3j79&}uwCrziz2ANQotT$QZ`c&5k(&%VT{R`zuDOiCvYEYG;dE7;p z2g7n=X{5^sI@n3sqQHO_*${S~6rmw#gp8t)BE!1lAqABvwnSIuiA#>OxwKa?(Ajc1 z8Ztl3$fs`QLf4qOA#jChN0r#ErgZ&VN8*gEN)IQ3n@(tteo#v6e1>zF6^7v+YSHmi zvTyj7*V$LcbNb+~|2F;P&-^U(JID0eKly5U#n*k!eY>x2+l@fOkNo&g9mY_V&}=<1 z7>>nj|KuN|*WJT;^2sMl`{6LW=VyMNKKzmY5wKkJHP$yVchTf2R}@v z$j#C+z2j|fqF3GHt?B#!>mNLvKJ+?X_R_C9aOmiI(DWyM#>d84cC-9D-KTLAm;rC` zVEG^5mU9_hz^?8_CvY;JSt*sy9+-;Jv3vsaM(S{E>ver(9w3T4r<}T4x->y)Q9>BeiJN^P{3QP^b2PGf+x~NsuQU5E zVVW>q@_SHqJt$=bmGcjYp+|xG^!?_*Ti*1>t#2@F>G%KF|KPaC;KsCl-+bEcy}$In zd!OXDD5;?1?*I9J`&(9b)cMJu`8hyr(tQLA-uU`&-ugQq{rD&7hu-~T6E^|{B69cy z!|(a#*ZlFV&+_4q{2O}jzxWli(OdsN2RDNJ^WlrU<85y}{Ii@!kl`2a`}p8*{AS31 zr0Pc;#adOQ{DiE2b3?(v=bV_kHhTC1^PcdEQGM57 zhnpN)5fuBDhPGqo6h&inTo#s0$b96CNqoX#oc9FCcjon~RhvOri8?tt(ruUcI*NGz zMuE!M-jzTdWzB>eMTVi|REXk066$2M-PgQWD zghVHl`?dkOswLa!-B46`cPY%9NQ;Ve5I9tzH@yCJ_Xg~n=`1~UA5h3xjey7-@Bhxy zi2DD{zwwvoT|e-T?No)PaWdk2zx&UHpLNS=I1po(g%d7+?fbsFbuPS4g(=0c_oUN0 zoU(U*_qT6h54dB@UvZD~2)tF_6tX_g$UV{tNbs6Fo^(lz^)<;y=Nng^O4m- z!L<^K%6X$RcloEXbb8+bN#0ObZwCtWQ&kSPUffE6h##85nkJ za7(pj@?2HN85hCMv5rrl1t>IEVz-mMY556q{E!NM4}-J}oRC7NX|ogE$)*xL5cTgE z8oMSpF}qvVc?k-8McsIrehRh|9}z`M+EOh!p_z7RaG~k8ZYab$El}EP4&8aGpS{`c9dCcju{rYoU;S6bpAAWp znYzFK)As>@H{9@BhJ9E2#{gjX2Y>!M-f@)g((oN#{Y~F+?+d)-eskw155K4N^*AdU z3W&b?o`!FI^BcFm$Ot&Rjrg>kV@lvov0XhV4S}ZsgQ;7GTc~Bu3oC{6 z+n#HSf&q)g7EyTpiL*5uZII{WBa zNe%|40th&)r|*p*1~$M@Yk4fBZR{cgnzzKmXZ?{qkWR;)&wal&F4@@K#J?0uVI z;Q#2c5ZCmUH@$&==pX-hpwU?)Te*{7~iKp^ZWGlANopq z?Q33rytZ=C^v}Hhcx6U+iP(n|llT}r9ns2v;v-&s1LB`N0myq8`)?9I@V;rE2dPbp z{HJ_vi@RxgjMgrXmmi2HJwm-3P;{c;RAveRFP=@*ShHF=ny6mh@be%Uws)04ge8tdBG6p%8MeD zJVI!P3ZNM+mZMXRGO@Fp)IIYC@rQFoU4TRx6F@)o2Qq1|w*VTPOUH{alKYct8 z|6uqOFH0vhM)ztvkJmBp?d$L>hEFll@CVSY55MI@_i(@P?6XGqdh$l?*u0&mGhdf* z`z^=q58UJSim#bA7S;emfM0k&u6KUVpAWvr^nL!#;V~GTg7@?6;g=1XJoV*YPOp3IAGdzSiH+eWeE1{(n$$o2xnFqiJ+9vo zX!S$y{)A24Q(y7Iqn)PVdmXJ6>jJZ-;w%E$@JU~9$cjpt6_L6KoXD(@~_B5*M>o_IYnr-@pW9muq33-nFG*izgx6McZ~v;T5imd z@WwfJzQ8dd9Sok`uU38%!|c4j0&8u|9}o?|!C8*wJ1_Mil7d_Oga#)j5G3W{Z@?*y zOctULQ}OVL20YZM2TK(^jhKq@XTlwXj*BHd10`!7jO@4s=R!~5dehoGTCE+Ulx-+5 z*cjk3W+`9ljX@Ilo=ISEri1{uXhP+bq$$rcBPZqPAaJT1_&72-ir@4tI-~B&L~Nj( z(Avx|^(3&eq|{=R8vBR`w!2`4vwZFaoHn83=hQI0>+iptp85ReoZav9#x98mE207% zMt8ifF$^$H!N?ywF*7(q$8poK>oFXGQD-4w zW0>(hlHd6^|Cavh_x^>0e)IL7SJBV?_rDZ)Jg-kyw)27-9bR+EN&cDp02x!+4Kv_@ z$okKY(`nO?65t1>tP6_#gS-d%cUfvZErLOZkK1q-|Hn%0g5+kKq%+bG|JO{9+&`NO z;!Z?Re@EoN?Z5IHL@YV4LgzKuf9>QJ&Cw4*Cx>-sCzyW$zhm_plhnKudx7|A%boww zIlo;y96SkCubf;yvSGhEsiAJNokW{wL^#(0c~b>Olzn@vS{78Rt-YNrE<2p%Utz!? zxWPuB`_XZGKOr)8PDxfrap(XK2D@a0)G?gU<{S!wf5_ZDR$_WZdbRVP+}rh!tXE7m z4WB|!a2R{8vhh0X&;9dXEI!5X5k}s4HFcz6|3;8x1Q<>+T1+s=^xD__@lZBSmOk^j zXC@wtjPL)oe^pMG3>uGs0gmf^ANW^CAOX`0?s57*y!nmC36_cDlSiOJUw65Z#+Wg< zF#-xdc;9~FIjJ%HtM9!JwrG%O_zi;&$`2p?_{Wcc#p~91$4QHMier8s5rAYhUxn?){%%p%i}%fdMqHp$aOYYpjC2_H(rErPt(V@N(VUzv8!Fqmqp&->a{C09F0Yp~r5xd;8CsduLs^ zC)y8}?w~=U6H_W<063w*IYRVj;JX||m8&bYf-{h_odKCTXw8&CR4v#z+TBYJZj-Wo zWQt)8IFPjJ_|+LF=1a?_-o~5_VEq&d^~ij0$x*^@;6xCvF#r zY<*yAk69mWK+lO0(i|%#xxZdH=6|@ZP|? zBQndK%)^PnG~TV%5#(c+pVdG@O2-Gu;5!=m)f2@l4sbdJU4TQ9^REu&%U<$TVMl2M zDvsbrlK=NYFl9Jc<2xO$Y3?15U;AMA5b6B3$P11N<3xw1_y5|5j(~+BOyl&1myfyl z*?;~^X??--)W4TkVeL5gdp+FRf6irG z?f>EBvfr<^$^O?}|CG$<=h_FYork%@Gf#RXq3|0HoygMJH@#|+eOa4yF`WNG9}WM9 zx~cq($9M8`M%PR7&(!))dJnn^SR&wnBBR4#PHh|fD^GBX;Ye83O)&B{mg1hV!Zqhf zO*wU)al#Ry&KrSVxU{z``efAi_2_AKprJXa;_Z z>l&^yQc*okI*vA$%r&pXGdjJ~<*&Sl$$xD>FTAX!PeP`HZF+5GiKx@co&Vo0|FD(U z+0R9m|NitG2e`RE!M5W1ptz|G=}zrGsr?tQ|2@2F|3`r1z(+*kH%eiBxWnhrhGIuY z0uQJIVid_vM(cFIXrt6Q_7YGhY8UOR_fX%8nfCKM8Bzs1Gn3cZF-w0EfT$N{bq0d+ z;KbZ}{oHa1a(aQmWiYF%c)mzoz^t}bkErMDMZZP-sFn7zburxnu;cl7&HUZ@iJjkt zBvCTmN^T&?9Ep*J@gF+@sFb*1@BH_L)wZiQk1oET?R(6ZpIn$}d@NL7y*Nvs{8S8R zjG#f=E^9{1XR1bo>6KsiH6iDNzxmr_M27V27yn&wUdAuK;5>}W$ud1)-qdwNumWs0)=-_X;Ak6})28#waG;`ObC%d0C~wuJ%WU=~U~%M?5CF*$ zgih94`RAri?vIEr*fP2)-;P&D;#~_V&DmX%RbV_>9Z*Xmu_xZ(XB!!oo8|vxVzvK; zoB&)x!-0d_=^AOKlIT=@8{Bo1ZTmRs7#H~2YxQ@?(5FzEE9m3Y;tQU@ExoxE5)fE^cEDXX1QwZd^ zpcMb#2Mt$g%7CUP?mzH+Wc8irEl~TW{Dc08^1q}ObYu2|gOxjDPJv#;+farjeOuGN zLH=_cM@GNvkq;mo+u!0QRS4_2{*nZCs*|cPI?b&9f6SLc+m3a*VRe1v{wUou)v-Vw zF?uQ-W+;QkR?HjwkI1lo^V4#k(8fpYMfgO>I75i2=vPZ&SgW}QyG+|Vz+2&@M2%9; zeckCO?V~4s39k}y7?iPg7IEbnAZF2?9#i4#0Ue>Y!nVy3cZAu$(xF}Is-b);t5?|kIn z(Cfg+4`*Zq8$SH6|Hs4djm3OMBVWgBBje*+Sbnr@7~k;<#w(WL zAG->F^KX3L@y_kY|Iqq)W=`W>(}9x)HReZ5zwdA;#`i7;-ad2}_D(@#8u)7(xV_{5 z_@-989r#T8bGii32ae+e$Q#y)4LilL(s(uHi^~aAnB%=#tTTT0_FLcfCV=fT@Z<~r z0AU)h@eD_WT@h2%4$c>sM{kBxUwFSsh{EI4 zInkCBg&1B3TKZ|CDt>kKWu3bobGmwuKwJD47GbxLulJ6Uo$9Hx4;&Br6n9KS;#KK| zVyEBk_SXXH)QBLh2!8H$nWWVg?YSs}am4kY5jP@U%(|Ic8piFJuyy@ zPZJEzUNB{jHfN4Tol6BiBR4zlacuW27=#M$zl7&$tIX_B(2p=_WT-B+~ggS zx4^>@?1clqa_QYO2!@y(g=`xOQP@FcA%KGH@a zZAB>XB=w|5QnU&3hwYw0jcL!u_o~L}&2eIJl=%rq2GpH?<8Pc`c*WQK;lrmmey;uS zEA}7uJWpy1`S=zHz6LrL`{PyFf!lc1b#7kNLB1HiCpOZ@KK8qHPJpZ<`0xhueujVJ zzGRhIv@!VYvN85|y#1}cc&GUu-_^)dG+tZ5kDtHc_1_$R4dq9F>^%u47dpS<6<>4A zLrfE)uXrkME)9POH_Zy3+=A)VSXR$V4P12p!*Wvy&7P`el>capImkUxltpO}7I^Bu zV}S&acAS#$b&MRJi6C#Mi%;^{d?lLeYH1G-tnT!cK3}f{v<1pxeEyMAr+QC6h2`{X zNYjofe?tiwUuZ)bAb%>EcS+eEa28`R&W>Ym586Um;U3T_`H(~ zR2pcj4LDO|t~9BkE}c9lgbw-w{X!p|cMQ8Is`2o+o)6SIShS(jxp;VRBT3qXLT<=> zk>kEM2Ohz|2RFm(k1eb7&s|}{#`$458{^m~{u;_K#;-emy7iA8M-bKU=PA4OGjO}4 zeUD!udFNB#9t`@}=@@_GWX3q<&;>fi&%ch3f#S)HajbLv&Eu5!?S6B8tTe4q+wbO3 zeD!5G6~igJlE!X_Cuh|6|H}^@FlMmF0~h1FA|G829&$=Pg)#$1UrATe@hdZFJh+xH z*`-e0)bMytOp>fAKJVI85TU9vbwJdtK+|60d=>d8D!Lks_!g}TqJ3TbIU&?l;VA!@ zZ_R)Px@c;2skhyrfX~%*#Imfro4Pn}d${%XW0H=rA!G>oIjn0<0!+^4Y!;ThB+w|mq5Sz{Ato^dDK-9)sgD5e+3K$v5 z-H?s^)6U^u?Hgh~;!Kh`J{WXTd?6TUSD`wGp;8s4u|e>oKk?J_t#5y`*|lL`Up@Z5 zX$BLrw~fSI>Oze-8aV_2n<5_#s0bbDl{Kea&BF`FgsPq?d&8ipyXBOW$MP%Fy)QU-}>D zvvx|913fSuKc)Lpx{QNeJCn$pXKJ2-Ez#w;;{KDkj3U@@ZRI~1Kv7g;z50y`F4Bow z09#JWA(cEGjrfNBr-<&Q1PG}vvh@}*s0L2=Grm~qQ0VrZj=OsYVA}uVqvx&tpWom(nKjn;QxL&Tz1&7X z+ekb!D}kA;U`@7IBMK{iY{NG94mJJpC2sT&s+2KVzVC_)lzBb>cS4NL@!rU;Dq!~l zsM|h8>?qSzpEvw$yO{`Ux5{rc9(Va2%6z6_yXUSA)o<3ei{Lc@q6@LFku+i@iVXEqgmK$7{T#tCg_Na8;q=(24SSA~|l+7vY5qP?p!oqFc9Vzj5K30oWQ6HPVvphEZBsI$X z6&xhWCpNTx{vJVq;cf^gI'DUJo)7sSsuGlt{A=q(G5Pn&R=Pk&v;TaFVV*vEQa zzvM#N?>b4U&dLNd@bJFUxQe`W3;=D;Y?#3n%6u5*i#L68H9Wklo3iPo8lpwC9b&j) zj&s8qST}B>GM)gk>v$&QPvu!{vy)3Z$V0I{VUEalR%7B`*Cgx+`^t42`&QY7Q^D#J zWrX+&!j?v$U~EKmKE?1E{@P#qZad+qNq@x*eTrc(hfgs!VTPYD{Dqp>(cG5mJs+Dk z-~V@izlvU$+$qZYY1KIorF3&Zk^t?;1xuJWYS;3(fb)KJ}^J zj~NdQV%|!R;s0A5a@5fLcc_|62X*BHwl2hPqEAt-=ApZOzVc$fk;tRgmPay;ly-6h z!LB!<-oH(K+sO=$9cd6Y1~!;7z9qP^h^uEF@{b}Ai{!lwD-#n*fW$LZHE1SVj@sJcv4KFzmCEjzbLOeB8mu&C{Nal@5|x=;%nQA&bLV>Fae zse8YkFF{c&$1qm9k;d=>Cg)|Mh+^5N&`wb)E9YAEMne$(7}V%a0&Wd8vW+T>8i5r^DP z+Zs$X`a2|5o+#xviBIx!8NPyr6-;PlOr_Cuk`yT)3N0q)R9^wuS`- zZBiLD;Fy4OZg=DK2XlXq-PDKN#nJSc!>9Q9!>4%py-zW0GM?5PKE^mfs(!;L$JZl9 zfF%1A9rmhMc*8?k^^WT}xiI{lvAHu|-^l*X#O-&FKl^6bLT&gxA*c(da^~}Vv6ztL4=}04*tS;#pFkR{HM}La^su_IXr$&{*B?IrJCOH_P5YS|L!OJn<;Bh`5P)f z^5gG0UL8J5MtMnmjH=+&|4#`f4P5|sK#9ML>=WaCxJo2zCYNh!Ivtat4Oc2|4W3Q_ zbsjiQZrppD)`K$ypiRR+f&=Fc`Au5oaf21{r>(Cm3B9m}6o;d)!%Vds*DMO3i{BUr zP+lQYxCCtj5=s8Syd@KHbO3W1q*CmYVEV6EcLFCjR-Pd?58zkJONg&+WAU3r-nv;yWdQwQ)EKWdW2dbS{>>*;#^T=Ukmq=fDL#ignQ9`SU$g+^(?n2`kZ4j7FU7sUDr@y(5C|Npc9;#~qdRzKAde&^ms zr{R!1sYeH?u#W})BcCB0*~%i@zk&{C3V0lN z5tN~Q_DTSA*Ws0WqH|@G?{9SbAo=fMbHc2bxOKY7QdkC96rSdpP45yMiAqzZ+e5Z9p9(=_`S^^&G6*L_zu?$ zF2pJPvgX@fd~0k82G$-MJBQD6@9&JD27aGooLW6T@Ol5=C&53^pQruk$9{LMAtWu> zgr0snezQYQbA~uzxbZZCAx}R!+s|)*EVUQ-NGcV0@)6GYOYeOm{JGch%P;!T*W)K_ z-~QJ70LD+Q+Oy>+(=XG#=pKg=;Mj8FT;UN8Pg!hLjK#boY|_TOmY2GSA9h{n$2eeK5YSDi9$@NaNx zJD=CeDb^Qq6Q~;(wu#Y9CO5ug-4xND{A#UsqCpiWti#i=9mVMogvwiF?v=*pF4nn> z^z*T(b3Kwi!ym3Z?^Xc9fUbj}Epc+f<0LsM#V##Oi5=pR4vCsbCcYM!5h7GR&a^~v z61vF@PXWI`Qy&pH65cAzX{&v_+$ML!s1d=`iOQJGQB$|{NYrX2XQ5EN@+U_`0HhDr$U8g&~=v04_ZG6Fe z^!0-D3n@9`uj%S{EaIuAY2e@Yfe)s>Uof30-jDX9pZGoh$SA=HlGLDs@X2&sbDY44 zSV8-ar6Kd3-}N6Fedf=)e&`5tXd2(vc*CE1jYH@8N(=tH>?^{AeSD+|X@hg}rt)Sy(ZOXK@~^|F8he z4PDVrK6gCzKSzrf>~s027JBR%c}Q-w%~nos_FDTaN%Dz1brjV88y%SM?r8lI3AMdC zeJ|Mm<(@2EyH0=vRP0D9tu^P`@mS5Re0a6`oHa$YY}C+-<1^7g1os*2%l za0ADH^`Z^uwiSW>kGdx5JoOJwL|Q?5Y~R2agMM73(%729at`a=Tu0KTOUJ~n* z)`!8_ropL*&%(J>m(x0pDU0iW@wY$Lt$6vGpY=RmIa&A92MA2g4PBY;Is~zcCJ6#C zhh;?{G{CZsv~XwOSl^8ev|u1EV<)6jkb@Eq8eO{%aZcmQ?fQBFGE5YrA*ppM&ka*M z({p%U4jp*7e9{9!)aCYA_{{P{S>Q)LQx+Mg20zQIl!?bg)9%-_{o*uwU(7%8+5|GjX@&81@*OVWL!OIX1jb5YFX{%oxVHa_-=-wOeZ5#SgU;gI*{kMdKZZR&(y8wsG^%-Jj_F1a~*jGZg#3YGl4S?0*yr-C((!!4+okzF3P_ zz#xgbI%mQFi2|_)L7V0OQ7A5Q+g0Y@6v6N^dNT4I9E( zVkJF?+WYR9UiA%sbiSg|R6Bm^6#^Nu0r|?W{UhlY%4Wdfjp@4`nD$fZf$moyAO8M> zMW0RhFAT59jGvU%8sj7fe(!6XHW}aP$idTb()8Q@>{|jH{YhDz)8Tjht-tY?=$+s5 z9ii^fn>m>B7yjJ0!mpSx@cR_XaYEz8Prt|@DAMz_8~CW`zxb7-{`)@gYax*HZEt_; zahd~t&Jl>xq$fRwuhIFXV?OaC^|w(Ts(n79A<(da=ueT z+2YN-)q7c^u7;+3LI{*Amf%(*UeSQ?!igxjfJYyQGu=qH#0aR;I3LE(xgQB=HY3HV z5{GP81*{#fdz41@x)}|p+U+q`oZyN|pwKh-y3uIcw6OG*4i%J>;uNXXjNBaf720_V z6+SBUspzFDnrXp7dj`XL;}=WDk02iAI0?k4}8e(@u$aLc6>DKyN+*Z zeBr+R{2s<13Gb2~{Z2w013HZ6+unQx1jeb0Pp>bk55Ca$nttaa|JH&J$2U3N_NL>g z>xb|2)liSqCG%(H{AlR!+{4vlaiiT^-t_ueaBuU+&%l2F$A4(;RIq)oN{%?zB5ZGs5*f|GD$gezwUX7p-0o)5*8`>zmNjX1?j;YLzfl7Tu2cYk_{kILs@Imw^>j#X#_I=+)@4H`U51(Y%^?_|G9&f zBj_>wx6$7Z{^K8WD#$!N`|5A{2E*fhANW@g)ZjIi?=bk|dmQsyACotJYB;OYBSfuCPqndJ6oIwXDrRaI-1?js z&s`8CBik+1-M-RB_A4BJ?8c}S_xDotoIk5{Mq1W-GYcF9BYEopL=eq@I~rr^0!&x( zy0(9)`+g#Vcc8hw zx+5a-9a?`cCXCK_X2xVJLmcr=@B)5>PC_p0@&r)7ZGdjniLxKs#;Kt`CYYkbRkcFo^_Yrd;DU_=fd+lzuVuL9mel1Z}Q-R{#4vw{O)g0kfLVO zpQPQT;UJ7(WwEBv-_z;0=`oFfzs-k!fXg~Q+|NDD5?}$HvdvapsG#_a+?r&sJe8{tP!kIVN1zRoBw(N54{wTX{t1 zdTd!T3ZKzh#yc#03E&4yweHNI6J^iNc7PM@qRQ^)-EAgC@)6Zo8AUcKJj$CX^7ipt zTX6;FjJl9la7Vjh|A|v{#W`)*f3-*IJH#ju5Q)*%IQmqYC@`(-JMBIq_eD~Y>_vDG z!m3b%(z@s5lSDYi$$?MK+yS4r-K(-*)8lBJ@WBvMy9pM0jw^Nr>d#rgJ7P5brV4ah zVW|uuE<~*()_~OSXt3~h&b$dHaQ^BuzQe7ujEghvOQb5{R$rFHC;3w93EhH6VW0|q zEPh{h@^i1lhxp+5Irr7z1NZiKoch#Fk>MNQ_c}&;&(Hht^6?bx z2qYXo*}6+>n8!(%*MGBRkKn`m?*klONsjM_;3n04RppP+NA80)1J{Ae554=x!U>bH zf%6qleFHr-^{#W2j%s5C{E+B3=S8d8JBoJcY~fwjMt~CImCVdI7l~gujZ5q8SCKm| z&4`fM|6VSIsFh1jn2^^q!kjt))Zte354C|KEXx6=faPY6GVJ;6=AW}u0{%tbNXf7I zDQw5V@~7B^QqevW+;h(r`+v6(vf*auWpSb`qX__(X`W|pVR~f! zxa~|{lQ1d+W5xsyCWj}Yn}&0_7KtHFTgXjtZ5tS=Gl?>ACvlye@KQLYV4B3xR9t06 zSiHGEPk|xnp$V0Nr2AYCueC>O-BsaoYeJpZP67)IKhi{`4$S0@o<6viJ5yuA(eSPZFzrSra@R{xYyTeFp$0Hxx=_?~y&W6)9PFftla&p?o2aaHc&gom$>mr&) z*{FBSnd`@+9li=P0vzK+hR)t-^R6HK(ffM8dOk0o_@C$>{&(*=ty8RsF;mJf?Kbyx zBcHF!xC23B?1o(}qb-K=7>HaTT73D2_@lIR0N8!36CL09N3DvTT}DW8^qvdrV!{Ql zkbcVn{=k68E5lIJk$0w0hP1$As+h2v+ZKj0cG!+uq*bfTtMj4z74skWWbtQNr~N;^ z#c}unGCynXo(`!^*Y{)>Otb!X-ig+gWaQyqpp0Q2ID1gh=pOCv7o+q0qM3*6Ol>aH zVbuPDj2IZd;ynaoCZ7=UravPtRl%p-pp0sw}4&{aZr z*L)x6KV(U*qSXX+hI&PMRryyCe(mO;158fpjFyf>*~`~1<+4iVW?(tBPKdV|cK_U` z_&xf`pZh8A|L})@;y4kqOMC;}aUCD~yyow`zlAaSA3jO< z6SIcv{YKF6m)`XQ?>@dIB5B3;q2KtefWtVg@x?FxJ0F2e)$pF5`nmgn&d=S%cLZY& z-)1q$2*BX4rX1fE`TXaIk_Px^KmXnUYrLxRf@33S+KVwCKlJV&Kk(h9aRPSWFiwQ< zBinzycb<<1gk1ojjqbW<_3OShh4oPAIjI1vN9eBsO!DqqGX|KUzfP27ws0wqKb3^> za?_h$IoRXAu0ToD*=Q%CKL8LQ`_%rYHg!CuR$Gqq(djic={i?f57%4xi~*0T2XVy~ z@gnkXZ7AFrHwex`03++$9c`a4{kqpk+4+F>_NyuhHJpN3=C7hCS{d%z?K#T+-~Y+q zCXde4iQDIY=@K$m9j{iRC|%hg?~y!n(yoJ6ckO^uw!X^8pjA#-P9{6_jPtj8-HtYVZJEn>XvWiPomsDJRt z8XxOCf&;!8yX+Ua~>_RB4(FoGGMTsWVlafEan zbNy)Zt1s3A&%o2zu^8V1(bFFzC^P6X48I$dg(fgZ6_qHMxX7^f)N}1iU;0(Y_coqf zj>n+O_(@s&MVW{=mGF57{2}SIZB`iFJ)#G@jwkZgg4gGalPUHq^1mO<89KRj=_x2@ zEc62bJ)}*?8)Q%wOUq|aSG?|79(L#pGf9|M{WkkQ<7+9DuRV6Knf|lC^Y_S|SemCW zk_@dD>qqCR13-xhvd>!VKdleOm2te0Bhb%sCpc<=10I>9buM`6J(2&%-~Ovx z`8W0s_GB_Zvzqm6EhTXyU3EBkQ@5SM zj+;|{rz~3F*AsrY5M{Kj3r@bsusBQnk@geQsodNzu?-^I5 zqMXL}slMXgA9=xj`%fJ{#b++kw6~?0M%jyA^p%HwSAS>V^wImk%NOC}nl7f&!W(7d zbyEGV$bd0?kk7$M*ByR`Z*h;qvx_EvBEj@tPO#RfIek6I1aL18pZ&U-Gqo@;N+}A=tZyT&5oaze77UX70j0&E~8|GT#5M z|NGyj|1BoNJM+Ye^Kvsu0v?z)*X_!0cho61WbkVS_(Y4eia8*DQbs*JCF8jut>Jw1vOBh^jTwbJ4~g$7Gbe=+`7o!)1#-rg8^{RC{(=JoU)7>T~P&4hk+G(7q#-4 zF*TqqhhTFiR?>EC&mc>hizU#g>PG_~+N*l$0!Nf1Bq<_lylt5gWI5U#?jwVi|E zy%G<~bZLRI$t3zu{;z+<_ytX@tS-2l^fLuUw->+}Ogt$h?R@X-G&+oVVO##h&T zFNf}0@XTUe0ja?aoQI_minBS-Dz+`EH1LJv;0|~G4!HDXfV;?;~2&O#_!pBe$O8KP|bKDJqRW%pP9Dv zKOq}%bfU?Lq@#km0Z!nKUQxwzYVP~gQB?Et!oMO$RQurcN1>i`hyGRgp-*v8jEh6g zyb`g|*Sp6UqEPlUDN4R#MLSAFcZdybMHJsd>!70)K2B10ihxgepjhh!3*ksL>Iqo5 zI!G>Ex=OW)5~NlKfUVvT6wS zA21xSpMx+d!D}OQd`)38?s}y~5+Ay-9i7f!aaqS!NuM+S&Pa{w>@_!uXEdt9yqPBh z$w{Q0uLWp?*J%EkeDUmj-SLs~kY4>h;^_flKPHYdYPyu!W}BGf81r)-IHkErc;+Ti zz}WN$R-z%RB)h64)UKT=O(vlSau;vg&FMQ zvSV&5;4d4)+&yp5O?7#LR;T0Vy$3KbpdI1Kw#yxTb3SwBHI$i|gIC!O!h%K|^NJtP zrdxBln*hD`z`GzCxL-Hy^(`*l@ZzC(q7T=#E2@G$$gHjvf(+e29l<%+_NIN%^PXxT zd56Juske4Uh(@TI(VngMQm#WWI!X|IZJYI3z;KgaMzUE8jPGOUJtY;8Vhcrd(>>V# zBP;t0+UJpfSFtI`Nqi=0su3VanPr(FaI$JP%}*CMS5s~yXS|kdxU;8f25R{&zD5j8 zjb3uc>qs75eLOH-p~-f^xo>gfSqZ@aPwQ3YDt&SUqs9Rp4RxCx{|HMBkuG$!|D|JN z9ikG{3GTM{1a5^th50oTD}={a5!%jp@6ydVl+ANoZ8@*yh4&fUK-!%f z&Gbq_BZJ*pvlg!f^2)d{s0Dw^M1_7B6mT>Zo`;J$TfBuS;$p-bR7`B9p#=F4ETg)} z+xrd$!mWCoH+o$FcGe-@ZZE^q^nrnf9Gors*m|zzyzh6T5CB)pL8s$RVG1m}b>0K_ z8DI&nxIi^^VsMK$DPty}tIS|Yx4;BGD{@xpB|zs!Z~{Fsh@tg&FHa%A6$~4(-jxd# z@uy~}DStL_RkEYOjvu+P|B0u9&RON4)9c{aap7)W8r-_}Fkp0-4HxHCqe1p=s+?)i zs+0eSmePd*X7b{t)Wu^ni0ru7+&Ut11dR-;z1>(qRVIj(5)IulN5?TikfYe2I_DZS}m44R)L4 z)aB^#$2go(kN1?^jW@f{*As5AaLB*fK3kN6)CM8^zJ(?{y?53;2ag^s{&N0|sS5xp zju4Qre+V*0T0syKae$`)tz7!aP`X&q9$hUD!uEPz=-3ChUKUNUP<1y z^>Qv?0}QH4GO1?mfpY4M?C!*d*4++yL$X#h(NKf|UC~CovEb>UfD$V1246IGN!hNO z(8`p9_}+9@xVb0i10r{A2(Ea{yBYR|h0oa1G{1-=kyj3V%kz#-n;;)wkS#!USEkQ` zaD{F-TF+0irCvub=1|Avs_4hXOQ1gU0^)4Jhlaj$pl-{5bh0%s!sPJB5AYT^X$vMU zdFSmPFF$ESA@X09Fnmf-0kx4CF7X-k(*_U(z_ldceetS5v(#sDMJcX$n(cU32KV*jMfs(GpZy2}|KC77s=9UQd_+qqMmJ@rriamK z*U7$P<{n1i!&4vg3W83nkSiH9*T8I#btvzAtF!r=bvWEdpI-#}5bQIZ;9z*=B{C9` zeJ+C%k@Cj&UHF*S+8CGhe(Qx`1V=`Y`PVyhH{m~-ODJfx@$Z0r1rb+C3S@i zSeTK*2+|Z|zy+f8R2LyQjGPh)`#NRCC1`<3cbJU7W}{6{P=J(rtGALrGS zU$#Qv#AyTWoiaVF~i#A`Ob@? zb2d6HOAa8)^5kDK0cBA9ek7Qx@RF}P&Xj4vACN0om^O0Svd|656X@j2qZ zX6_)7S^@DXv;e}K$-CKt2sENw3v^U?!2`GwxkP7uGDloItOnMv{h)3LiY&IUKnMnk zJj`ZuhMbeGkCQsOc6`E{zYY#jnxi28%CCGACn7v~;`XcF3qE6@%H#{=Fm>$q|JE22 z9T=}r4EC?+>oD-MeyHZBD%g!cecN#1{5nzX#mk#{Q>GOhR+2wlDJa0C;y3wD$(lT zvz7tnXB=cGm!>cX24#QE^BP0CnY((TsK4)?fofEf_Z!!wyH}E_P5DG7=4m_CM_G)X zk92Fza{pJ3^|6XR}%QQ0DbkI z<`o@WX^h0#hik~7gszOz+|*>N6LCOX@Egn@l77V zcUzU78IYXf%bha{3L|SoTVk9tFlajpS`X$x9dUtsFmg@GQg(~hq2Xoue?a0>9lWo; z^K%r>tWpTdnVTN^K4PD zJLn+s#Uk;JVz(>#LVVSSMT21%rXroJ!HNnq=&vrF$$w3G$zW>>;*hWSu+dJlICghM zqWFf^OI=F>k2<>8e?or7){XtAzH0$Ik9KPTGv~|mazh&xM^>LO#XGQS+_Gl82anGp zCiz49XAVH^;Og1|d96DMkaB46d~EDLap`A=$5ETTuacLqIL=a*u;6%qE5P#5vfKwE zl5Kzn6TDufX~wVlIA?&JPfno!7>L6;%F`3zJo%!$Nw)+$lZ}^R z$|PfI1qP!Nnl~7zrRBEh$qYpGbkP`Fp(tLKv;OT?5-Rde0UsUa)QGl@Z{ubg~o{+4?Mtf2=B3oXL4iHvP4{+$exukZZCXzzX6IvLXoI4PzeI&KM?a;EJ!gY~X&&mfaJYv}=|hj( zRFzNR6jloR0+gxpP+puO$N1I9CuN)wcX#gYBCVLcKcf$T0hVv=4efaUq%7OeB5vHk zO4ne7Vr#cOXm7e82M1k)<*Lsr+?5NC1EcMk0^)6?|2RA|Lfjgc)F@u@`)I5{JKh%1 z^Tn2@d8v(K-|<#;N+@%hXY})YC|*MK!=%pdJ*?Ot!+3U!#A;8Z@=nr3t^hZ46a9gj%-PNyH%bO|oR9@KmK(ia1hj!2 zZk0n;2lL)tWqqa_3xMiI;xIVmV_ASCH)eLruxk9WCbPo0SX@YiY2gU%QBv96$#dG_ zMnS5btI|+Q1Q$Uu(zQB-+tIKqnZV)6;cE141iX>|$4h*YpZSr`!AMt6Ku>kL>I^z> z>Y?PgL)YyXxCYVvbP55PqYQXd4WO@y96}yfka-2jL{cR#;t8dD>YqwzseS%D@zow> zt7CYB83!n5b!F4@Mgd$;KILnnVG=9qxKNB$b;>K=gCL7fTX?TRb}E1q7(F1+m?S^E zF~cl+UxE~~tic`aCWG8Z8E_1BPDWk04}D@?#2D}iZEpNA<2WeL*dyS_if2LciJ zN(xAEYCqCl?1wV1I<3(D#xao77D-sdKhrEtdZ#bKyx>^1D%NLXs+ckiuOOsSrsuOMYzZ`R*msxlJL8qdNxPZDfvU3t zavJ2>>t%N8?yYA4=l%y%RzY-QJ`vWVrpF1C>;fOF6l+q@LTeqB190$B&o;;r@4X*g z?z?W0n{&_+H!pQCD6{a3_J2mb*yKnIx3$;F0X77ESpiVTh>I+D(AcB^g0{vcoVRB( zsEM33@D!Hi^9677jOk7T8(n@@77X5(&4||%vpg_cMdNY+eU89+s&SHQ?P{bh4mi?j zCx!j*C>Py`1sz>m0JMAv4&7q}J~ZLT%zC}9fFyK`yQaxSpzh=bPVw2$9-L6x)e$HT zcJcz$XD6>lr^>Kl@&NFn7G??y);bZXKbRaFTFj0yL89UeB23$p@^HMe?-+aCyz2;PQmAHETQCRS zsjhBVD*`SL3r;*r%J8Ez;dPkk6qj5-JA2f?JA?J59l5Mi5KBiJ!6CSzlP!f6KvlQ! zh;Y4I?f)`SLC~2E4_;|OvUB6d?hSUmoFK8KSthmxL0r%nq%rmH09O5->I^aiuvK?w zehDm9#vE}lpD)2Fd58>-uW1L^VnSMS#u=n9%43FxZ7KF``U3OlhApE87WHLHPob0g z8D5hF=p=zvHn4cx!@S3jVQ1S;(Wf!{519p{Iebl%1OC6pQUl?B4$PLi)(A#pdVGd6^0Mn+RI=e2D^E#Ey4 zOEv3c&o*(A`cpzDlXxj*`OWtJ%>MIZ`2Xqg7Q@j4#p~Zof^`efBm@cwz846mIQml< z$iKk1g8g8B5=1_Te@a_Ff19s%-3Cg?E7krVPqt_pzm6u&!nXNt$I;}8Skbg8>rs*w z2|}xsG;wrZs87f7l3jVH!*4QOBO`|~QTOM9vYpDj&^TUI`Lw4Lq|W3cD26)rhe{kb z_wgr$vhu_FU3aLUd|T6<3uL`B!+Ms` z=F_7p#juJ4EuOc!SBKI~ZHv{m0$m#&sjRy!t(GddOOpga#}9OEeJAcX4_u4Ir-4JG zQgqtnU=h}#hOf@#v7_xRQr=7%z>aG@OS?=o(OYEP-6DugK2QEZiL(KD&QpW_sjNT}fOvA=d11vj3Fq zKdu;D;jaG`IMM(4ulxmg>QNZ~{8#_&kF5Uv{aUGpq-$!-(-BCklf_Mj-S(GEUUy zb9Ts)OdGL|?H?vyk1UQiQ>NPpH1ymb_&oW(rEXbY`6-W_=fMo0M`q`nZprKY(5C+b ze*4-9qBWk){_hHyQ5P3A_LRnQf zSu2`P(wrDLQ#?fOQ=QEq7=&dN==n$wQz*tjl%?47c7r_wN}!_~+G!ok<31maK_^u6 z-p9h7?gNx+_tLQgwBys~O9_ELigJT-w|EANnywF;##;HRLdNf;#BVI9EKtBxgsurc zV#fY$7}ZE5J?n&yyhFlZ5bqZ7eN-hO^U$(p=0g9?9Io-*OweZt)P@B>kJFCt&vb}{ z)(uqd0-se@y)O#!I_w8`GlTq-^AE~&*;Na@pN*!&_l)@0c{hl^oZ)dB=9kVvy567E z4F}d)T(7~ddSL$v&XN+@b7jq$@ze|d;B8!NfiOYO(-ssfwN4&GA?Q|SH~Uk`=$=rt zj%t@E$*=x~OBP#(fVl-R-14k0TDf}YRJ;6l`lM8DxLg)4$$&6k8@OgV)=nOrXizC8 z!c7DJ7pzS|HTYk7F>)Lt7V85#^!mZLUyyaq`8dEXe+LiSE%;o)Ota|$fmOrBzAHa)x7@J*bcQx>^96m3$V6LB?YaS;7v7*{ zRu=f_%eR$OXI?JM+s^(+CDb(J6aQb^oLSPUJql_MHda-3JgB$fALR+=#P*IKx_WHy8piK;J=cR z0v_Dtog@kEA{bFPa!0k4lH+3w)0E$x$go~T%KiM}*AZEHupT3T1(=>y#9L4nU3-DQ z!*^MeY>`B!)9@6i(H4Q{EqP!5jEZd6?{=E@U1XgoDWCVC_4LG1d=g!ZyX}?4xqI4l zt1hNqF}mq>B*2l>en$~WH&C(a+~_RG@{`S5z{`&Chv;=$Yre)*9ZY-9r}az;>Z-+X8f#D zmid~VS533J+Zi*D@UQAE4>;a&XH801ihnoC^HI}DZB$~ptfnjUTb6*X;Bd=CcLAd3 zGhKljPl_HntECht!|XpXo*kY$GRh3o4vH!X*^o>!e*-a&HVlJcg{NiE7i&I?2OJo? zRKT_i=HkT=2+1;57b<=l(D6pAZ=A-Fr{`amW0VU{{rfn^2R)gPR*s2h`?$~#snW#F zweQ!iLe$wCUxf7dOX{DStN!e8=pcY`_|;%{xS!;QZpwhl`1bjY1Hie}dY6hbZab(P zeA8~mN^s*$`4VO$CnD6$gHXn0K%rI0FAf05InrRs#!2X~yJ`QMw9iM~FP7I?1fk;o z7gu4+8Oe_d^M+8QG^7UUrXKCZdNq1<|DWla^?RJe>5Ag0np!COql-U}N3kl{r1~aY z9f{7#Z-#qq^N%j4=hyx>3df!pYDvh$wUy(=;g1U5lOOtn798}72cG~_Ilbrgnv5_w z9|8zUjmm7wz}^UI&Tu{I-yzYY`Gy8Fg&iI8^;u{KK@7q6-Tkc~&9#ZYk(36DsSgy` zCnY)x6qRu@CN|*whjm3Z?t4P(=GeRF+fI2c7mcy(41QHMy;W_xY?_A3yxcFYU-rEf z0q%E;y?b{=9fd0P^`~7!poQR-3xKWd^Kf_6yuzAgydX@;p{MPjG6ET7R(2fZ7#eSA zyM$Ixb}Qa?G!>j36K?7iy^2E^9#EAt-ds;qMOwt5NQM!VHf>Up|B(04)Dv+342B>( zC}xP!A)Kp*S%vw*F2|Wl;q+h5n`qdi6_{s^Md(ErJShK*_;N!xW!A?OXS!2DIUfb) zQ78QI(r)AOO1-No!|Ub0e~$T1BY`bkHPZ9AXx#i+bpeh{6~X?KtQP#p^k)jXMQz7A zQ9{a{BC5hoF4*;%pY3Ni=(CKJ562JN-YwQ*agM(;UF{jq`}lyv^X{+g7=RK`~9(W*lDJtSU#1Y;y~#q&7vFKhVI zO{T2|>Be{l<18sVH+U#{^jW$>4n?SoX@OPgJL*}*Mkx~&KXNbsX#cCtWzIU&n%Pxj z^$l>(GY0^1J>#teB9zm){omwA5Gu>K^m7}CEi;$w{KDgJ>;5-BiDW3N|4x~hDyhCv zs7K96Ib*#`+|;?n_s>U?lP99!IOdkdTD+}pncwojpaBLW7@Y|w3K5KD89Q-P`^_)_ z$@f@q213+HL865&7d&YP4{dIzPM*aLM!4tYYzvX^BE@ zNu91N$j@nKP@aSU`>7AK_ti=jS4g*HW~Tu2ya;$RYu6S#4EHGxNQDi_-@rEGzS`$V zb8sXi9rcCPc0O7c=}i57!`qLalpEqahhnbPE#Qp0!|HH!BwN*7Q;DZ#*=)+zLy>=9 z^sd@lM&)qLI|bgCO78~u0-4*X1G7Zcd+8E4&++e;2%n{gwrygbkCkc=r+GQ13T-Mb)Pt>1COkOb10-7646I{iB3hYUrh?_o8F*QS;^+kMZZFi}gbQKN~ z{dU<$o6l2R*yK*A;Q=|9an5b`iWrUJ#3L*2D{Aq2V%{k!N7@Bn6%tvQr>rSc5hW%^ zh3zg`^E~@SLmTX&_?LU#*{l7Tp-6q^o@#Q3sSc}qH*HIWZQ`@MY=sLyg3H{AF2>?+Z*Vesqo^cozxBYt$A`tkJ(+gVJh4{Ci44u-G)`Vdh{2It6}TsyW((Y-JR5BejP5}1-K{pz zh&>pAODlhlyT{me=HqJ{_c?d5POOXY>Q(Wv!RY|GWgOUK&^9X9Y&}sLQ)WhwIn93X z^oBFltfytvz!kfvFxD_G=qC-O)&+PO=Teq~AXMqa8=Z{OFfO>}+a6}YZ4KLW2G)TE zWZ?UDTigC=J2xKKAx&pfo)m8Dkn9(^9!wC&rFrfW^A71etJZ*UEhPZmpwDY zxo^lI^ym)26?r-#)8hqdCIs&X=qsCf#r4=O<#ih7=Q_-^saxU3;E0{n5KY*8b`hWm zezRlUwzJO3As%(_BB0)*ok0oz_^3$nfC*$eb(-Q5_s{nMnp5^LLy@2bT4Whsa)LY1 zZC!jWMrMOZ+x#|X@}qMvIDXh`G|agU?jRXKigF1c!j(G%OcWxjh?^^YZ<&J{bEhi` zSB)%!z!L>=C8{W$F^_#@C#kO!6?@YhoTfnP>{Q%_BpDW^dDvolGOsD^_|WwMhk?fh zg8L_`Te1zZIthLkXgcNw3>Hx{!mI$YGldMJjdTtkJb_)>x>%lt)w<~tqOEhK>$2=5Q zAdn#MuCgGno%maOrdtb}nbpWqZEKbj9SLA@Ex&>^i3IRK>q}vH>T~@0t2Gg4fLg zTg&P~A5U`30w%U+>ve8alxm=z#fylmau5 z@8hGkFQ2D`8_HRN8Seuks||13HFdR=u$R=Qi(0N4=C6kwb#Prfyf37wE0+3--S& z%Q*L)X4m1t{=ap&^b1p4zdhxA8dFdK`Z|k{ z1x&2$*pNXQXdBI&1^sn(zHX*-B1xM_BdND0uvhX)Z}IUS$`5&J-dm9Iwu0k>9wbn z?&2{Gwtxl*H!sg%o!ap0RCY9N)ZN_V5dY1Sw3Z18!fx8B5HX=Y;m`h)LJZs676`d_ zV#I?SOiK%ktD`VM8Z7a^#>{u!wU;<)q%Ybir3?mgHK;+L8ytTEdx5sYBTi)VXs@j> zQ4L&jGAWJ^Qr%`RjY)7o#>jw^3G`h{n>lZHVE?_n2a9|TwDq(@Hmg+We@7hpg5H(C zQNL0`FWjX0JJrFZV3S8-E+Y@u_BYJGmoi`)oFd7c$7_Zp4eWsT#LKT+p)FU=9fd{Z znF8PqMg+zvmK9HeBgP#5{96{Bd4@FjPkS6TsjH(4zymhNjXlm|GKA$ed#yPSi}FH* zRQZIXVkdRqp(kxhjYv0SkK%PNvu;BsgG_2ok!W8gRjHn)MvIiVDylqs0K1-qolj9`s#^5 z)&2XKRI-Ht0mg)EaqtD4A zccAVJkJvG`8UNlvAqNZ>039iXZ(&dhd@MR^U5L8?O)7XI0vkuAU4&7;(UF4}3^}$g6%-=C-X@p?7;j6UqxdfI zO-zFJpJRTuf2N-a#3+q1^NafpS$-0#Nk>(C&IRXMev5Xiy?5e&T>z#mssNTiX}|I! zEnatJ!C#ANw`s@ad3z#;u8h{}6uWok?-#ql`_81xa;@CeK{-43|GULco(sgaUtc}y z366@#In7d|#8-=kuo)-WrWTk~MNH@_t0!7+(4y*3b#NXnHG|v0Dz7EODU6+ezgxHM zdcdptj63ls>Rm&Q5muZ*%JowqL{FJgJ`qCfu z7Xh(pP(~d`=jrUsf56k)G2J@-fQ-G9rfpjY-W>h$B1|^eVC==}x#Y{OL5B=U&zx|g z7Ei=Q`bxn`P}n(muGeeA?>I}zi+w9@U2CINM#Rdf@3u$k0TZ1yv*xWoZmK5($=UeG z2K-rc??T$Pg0YJI)3oP!?>o-e2e0zPbMz3roH%ldFmIupOZ4^hSgKiW$v<{9|K>sl zeyPaVS(Z-a083x5)P?HoR&}2)SPNPT)MXk5>)q<&+?%c(@gPcI_;r8iuyNHt@xqM2a3tn}vqGaFa(A_6%;<}8MEiNs9)oisDXv30#L6Af_-pcRN20SrP z#&5r;! zgjA6%2$^>T@L0~rt;DUy-Dz%6Xgk=bVNU`d`Lz_hKU<>!1d5BX*rsi}3H6o$NVkAI zlYcrzbd%6o-N-*MCwC&Ka)QB&j-cuOHdl}>mS=sotMZl}xfKADaCpYShSb0a{ zE4WwP)RpffzfZSBsVl#vns>;y8B^H~((YAxVwnfe5hSRH%N`lw`K3#DAQIAR*2IW0{$)Eyz!b=Z@-_binf2&!1r!|Cis`Uz4^1@+ zL5>M)zMgUv-pz`~55)1@+L%8VOZ}um5iHbWKGl4xk5MV)`YDg$$|bHMTzoyLGt9vg-BWYUB9%v)S!g+QQP8L^;97yQ@f zG4LBU3w0AbN%c9`$uRsrosKq=#H#Z~bqT|BfMvQLnl1q}_6$wfJ3dWW?*gq)$C{c2 z5HR1Z4PRqS3Mqpvq*?_`4|V_9u6W8fLU2y&eNC?^DL>%S1;OE7XV*{ham7c{pvcD% zOlcly!I+!8hF6-o$9(3xn9V_*hp&5Z#xAS?a{t7U&m@8i!3=|l{;$`~w7#0U;Ki=q z)x;0N1GsV1aQD$s-unMp{_8cs7wBp2-1g$%aNRl6*sO#A#`KeNki$MO%27ef9m85A z=|p+%Il*5%DYBme8Ca)9TyAZzpQYULO0T?Y4~BOa%#e+Mfur?&q)vGlj- zmFC&7%Hj{>;q`+k>zP#_t@h(r*XGZ@3#qaYT&VI&KBcQR>qkAAu-9-nl%v>)d(#7e z&+lfDy|14%`K-@N2o|8|--42vF$HkOw*>wpULC=yQ)p98 z9of-ws7c&Xwe1rqsJSh-Zt0ePk$hw0rK<3mdUsgMa(@9A-Y@)7zpF~MzVZN&01WtZ z8pFvHU-th`N8G2nqmTWb^W6p_-~!jiZ#8NlZ4-!aXpcaC7-fm7THK`FkRBY@xd9WG zndj{i-){U&3+nYYlz8j^%V|I)wpZQl-)Ym{6U?oMVp;muMoZxoFxjery9p$6*T7p( zbEH8Ai4x~CycV^!Xl1{|LXVPA;FF%T@+bqnjGA$c&xmZv2c!IaCy`F8p~A_^$MZK+ zZ}nQxu}ak|S(DRJ7V7B8ZGDg#9E~wm@Reaou9|)^gH(?j;^J@rPF2M3mKw)4&5G#^ zc&nJTEhwJWQBq~nG5W)mD(6)WKvkclpvNvYurJ!+Xq6Y9A{+W{ zfIL(@ndzoQQwK1rJt#*WXuJq@>Q7S8uP69OqPFhOOtT-whsnUWm5DXlH%i}3v)kbyB<3SkQ@2LYfeJ3AB?4n-K{ce zSW)caN_5s=_Mh!L7n*N9%>KmNGdLzFFbwh!AKN5E2puKcjTtaugT<~w_A{{zzqq0& zHnRMK8wUCd@Jzrt-xJ5N1(;e72AS&E>5>qA^m34p{ z%K28<@k&x?orVd@K|6L&RGYL^?n0fM)#hX3ewuJl+>{ZW8)B(>UD2*7D-%P+i&F%U z<3|T~DLC9swcC^wsMm!7vVc>lkI!d)C0UFGk}BoZB4{aO@Q0+{NbPli>GWHCsCcA^ zV&<-`l1)ULj}q=ZNTcK6(mabP_k*FL@zF8d8U4h&ZQ?X<>O`2MwX-nLR~{5TF!eAV z$OjW*4BFN5 zE-zao2C~EyEce*1gaw1a*2Wi!U|q72Epd^~@h(U*#?rCuSQ4>M@B2J6J@f0H?s?|< zzwi5fPWbwq_xnH3Oiy>uOixcg{mjf$x07>Yu`iGi($B-1gGHs{#N*!&X3}7aw4h3h zs_cbJdM{V~3a&3q^bphTUv#QE)Ri0tT(a7-Nh?J!t&@C8;F&LaD=>lteM;@BMm=);OnINFH`v#-zc}r*vA~)J2`q~aiEeL6n)0owThua zLcK2Hb==m$S|XyMVT=-RHyTYAoCI;O2lW_?ksqN{>tyYVRz*dt18oj$sjH8sFQb~C znE4;-cLn%%Hp(FZa%)Sb(HV3~+a|4;1wyDU0e*HJ!*N)C7*Z6|t-;}XEyHySIPV1d zHq#Qfg?8}5WDG;#lWBFlG7m38^44CEf|C~ttDySh=ci%bR(zs9|MzpP(spCCxz|JL ziyXk&GIKto#;bpx^Unhx8J^K&k)V$?9lH-_4>&UA!HudnYW7VbeAt8u8}-jFRH$~2;8TFa2B!@(q9Fz< z6WhX0=MlXSh6|}IvOCbK>Est3p5$nJd%>W?eE(j zjKq776`!H3(CCg$z22RR`URE!Q>2$2x31hE6`<-|GjuOVUCB}F;cbu9UwwOCXv0|K z5g~h%Jw0G2M=T=mQ?{1j}HbX_vJ@;LhX#dghne8bOd>>!BC_h_ja?>hS6bj-Tu`BM0Fr?P4j>ZE)p2N%<`D;k>DA5axW)#5|p?`HSVPKmGMZFrh zZb5oRnS+X0t9eYS9u&4CRgqp93Qh_ zM{7@45jY|`stUG4oBt&rlGNK!(22Sdg7+pPTh8&X<#T{deO}|_S&hv-{vvoij#hoJ zv&lhhpKt{R@U8PdL+^#Scs&M0>U1H}AIKh(t4C)_I{zP8!w>{khUlA_Cdd*2FA%icxBXjnJl{hEg|zRiY#9^|*^KM`r%D$xWZz zoG&o_V+t!!3%mXbXP1P>_R;yjTCVoF6PR8KjWJ1w12CTAcrFoZf4GyZp51bE#^qG%3@#*Box+-zH?Ey281 zGuuN88-7ZwpnLmfS1>Th(#QX^_AT3$4sBAmO zPNh}Om3NC)_G7LT%@1fBvI)!hQgmvXkwijo{>?N%-Y=14{Glk()kyaU(m5n*BLZ1< zPTwtAcS;0xu%@98kJ5?JCFIca)o(8{^>JjS@z=M5=%G8)xyIEzmuZ`cX@^$87w&UY zMTK^~n<_PkhFLcB&iFy+0Ox;6+8gC?He1%7`6B3L?KWw6{uf8z1T5;ctppT@z=!n2 z=DD;fzy~;VObxaG{KI0_P4HsWNK8B3M%ipG!K9d#6)Vi)wVznS>$Qp;Dbi>p?4b6~ z&D}`FgTGP9tUj`d?wOon?8@0?vd(_AG%0+puA<-@hRV|XTFC3jv-;CQwPluR7KE)Q+2D!`kRKL3+88JqcEJty?jYislOz4h-!Je&@5^;+0;AXj0fZGpi- zSRA2l%a{Uhql$4+`mKGs4`DTn+X@HGs{K{d8RUy61?+$Q4UCF!Rpp2MGO9Clh$MV% zUOr+n=-qDT|I&8W?W(?j^!rAIM`_|Q8cdixyZ5!W<*mb9ZL8bAGul8jGJe9Yd4t?I z=0Jw_gh*gmM(Nq{!k0+~wGH^ua|p*jbumoWG@7Ve;uwu`0!2u75?}x-QreK7lZRwo zQFRPYvMa?QZM?R6z-ENQSQxY>8iAw1Okx)uUwt;}^NfyM^bK|u)Ha$_T$UQq*P`+h zl&j;(pvUJdO5>XPrhHu15*l*a=*Zd!>*nynayZcL5HcTV<`uc;C_NT1j=5;- ziKc7W>^U&w;|!U{VZfCr4}%^`$fa4DWCJAo861V6osE4!kzwnq3&=Jh%a#R0uk)Rb z&Y=EiQ(M*gfIkH825d<`LTh9vffv2#Mf8QQ`nB|VpZB@+IiK~J^y#1eY4il1z!P`^ zPvBo1_^F@%D1Gc_|9kqtbN_^X{2x5)Tw$Fi(Mk4?CPFwnVQ|C0g{`wG`4u%{5d!DD z=i~I5@l=vTe`rS#dK@#*yGpY~#U0#D!xJb@?hFAn_FPyICg%*Q@P@BhGa^keV+ z2MZ;}XifBjt*!Wx9=r&taX*g0<3y`Ie7X`d@^4+<)a0z0RyE=i_7a*(`-d6&$N~g1Ikq!e) zE*W0`XcbuF5*@D#vu~CWSmIPfRL6zje}$05+6^MAb31Lhs+vz>V%;#Os7+CYgp%)_#A>;WI(C0s8Pt?q|=~AmqQpH z;5T{?VOjbRF>VtJ$16HOFi8|h1sKY z+ha}kQ;fP;!mjs#phY7VXxV~ZG$^6fi2gX=# z=6`Uqs7=T1U{DC0z}p%XSzCoow4^yTJ&?j?*{fi{hS15g^7?t75UbaMg2FVs7zsTh z-~S`ejm&TQ;$KIv`NCgKPv8kWfhX_;o`Ax(YvAj?<}2t|-2A@n@4jPCJKn;=Zc*qM z+K+-9hQjHf2GMvRDcwB(+o=+8%tXj;xhI^tfq8yq#~{MRt=gcv5=H$g5Tq>`r7RF4 zZWEXlvK?l_Q9}&We5Y~$Lnkot8Q}#Po63=K_N?$c5E6RR7r*{VaN`L)fhX_;o2<~q)+Wg6ECRb{6zd+jd zD@<((50_LECFPlFide=anY|NeWa;%MHboT0##a|8V%$b)?)3ibQS zuaqwZFR)dGThPeXSw*@K%8%_er0;(h_p1wItB*3^+rN^3A&e9KhS$9ENpRx{Jb@?h z1fD<&+e(f%f7zSTd`=CcilJcb1rfIw zMNNP&eD$xpQKZ+KBERqpzepec$$v^8``MqRpZVC&(m8IMT4Unzg3FTqO$Y! znUph-1jpB5O=|mwa)uc#`8K@HRulot`s&4<)4D)^Zakno* z)@gI%w^5lRDQtRNF*R2igk~$?!>6T+C_HZcdt8tWaw5C^pyYkZr@V+>_Bo$LpZ%FH zF;rgr>whi%lMnq#Y3q>~#VKg*$@oU5@Z;(v)JTc630Zk4Uxvz? ziN3JwQIgu2SlW%mXyt{OP&{z^7uy2!1QBX|TQgP(gq*dyL3s7&znp&KYhP)&{lYK4 zKtK6YAETfBxsTJwZvILqID*JtAkp``D-af?+~ThtVi-}6vR!^?IOPiZa=>~#<{Nq~ z%nR%7U&=|&FHdKpLti$)J<|<_*j>TQ5gN5-P%K4@(jszKNM?X-cg>~OQOzOs$RmoX zVoRORyQa5t-{bn;kIOFT?rA=JY+nM^!j3fNj~D0wURYKrn*L3-v-jn937_&QpF*Ge z^3S2q{;bb5>92e3zfAx5gCC-Q^#13DGO*qO62?`c{s7T45N&ITf*&aG zB|K*%dYK|}VBo25X~7SpJE5Ro?YQplM*a0GJ_L?vRVT>HNVaaV6isoflh8VAphAXT zn+T*id+ojouD|1S&rPT|y5PnqKl#t;|MO$-rT^bQ`QTx2V>FO_Ah_lTjjqQ?JuXY9 z(rJORmj-d7bWZ5x<=7ZEnV2~r+)$!SA>nhN8b11~Heb^vq2bF7Fq^^88JOEcGT^4y z6F~KrMK)OO>gwZcXl9V`7=zo#G z%?;%Syq@me{QSp1NgucgV!Zo3|A0RE&;JKQ+1C7QIv+?K5p|qC z1E_xjX)Bxd1$q)gQlF;R8WZN!os?s2rvG|v zrqpXY>jeD#&;R@$#CYes-?Kl1B7E&vzj=Btq<`!lo=bOgIriUd#m2ZYLk4_b)`uv3 zu%ps*SoX8ArXu#&)u@->JrD8U2;G_ORi}P!0n6+!U8G<4vS!sr3mUa+un^(0nWnf> zl}&8bB7^8XM*YP}-)p7ds3`CSul{xPD?ZJBCFRH7cjM50@{_azv&VGB&`L;}Z&U6Q zW^P23KDL<6^QFYmM9T3ex_Y^&EnDfkG%zx`AG_@YZ{Ld9^`nN!V*)oIoLK_!Grb$z z=2s?pSA(C`W`f;4up7f=QnYRnxoh=T{oIn7sACycAet9^8~slS&eW&sk7Rl1)s(bP ze)50V4;TG~U;M?E^`aO3GJ5r|ea22tZUP;yG4KGH3}XiMB7WNvC{o0<%D&fB>Vk=O zh?PpC!3z}M4sI!v`<{QfT*`4HyIk9rko}JeoeQfM#TuN@NB?aL3sDP{V1Quzy<9Hb z(=IB5K#+soHjzD`p}~d{9NGSVz-In;Bhvrb1t486+=^1#z{<-eooEaiKwty&ZW`~^ zzvgr4(>~RHCFOnp=tFyuBko8qH__D2sd=o|SUtUGQxxQ7`(PJ?<;{@{q09t^5QG`Z zXY`1|Iy;}wTD;yz9Hhn2c}%>KNx4}*P4Znf^x-+*hm-5OfT$m;fWCTX=Ks`w<*+jQ zk8Yk_MP15_A2FEm8q;O^^o4F@lz)_V_s}hqPe%#FT&WU{HQ`%IEy*=7*#9I-cQ^wP zXA3b+kf{VT=?dTMjyiCA_T0Xrvh5;J*uU)g>R+3d8CG&Q?Hq!6u%e@tJP3ez+_8r5FC$I`14=!v?=ye|LmuigBvl-9xnWF#tLfNoE%jP;Kp_+ zVa9oEF^?x9Evy^7&jz|^OeJlhJ8g|@RzX7;;YUtK2ol`iPoG{7SlMX!-vRhJ@y;M} zuzcPu<#r$>MqN0NLxS-T1vAtf?JqT<8!~e^f8fwxb|vn*1%4?(v*R+|M!GMQq=PeI}O2=u@y&7!64*c~9KSGtMhq=khXf>U)?HydY>kuIT-@ zJ0<0>MiSbJ5^L+Xze}C<_j01V&4X=8s2^n8aj2})xYRM#S83G0J)oiUehHLlAVgP& zT!_s|4L#?>otpuFl|MRX1Sh`oL zh;H?~`6&`UyPIEcPgnd9J(yf7xZH|k0vIHLFxmr@Pe~AN=q?4cK!c)_gLhHpruQ z22q9YXJV2Gx9ECi_A>SMlSePfp|QiQDo7)fX&HDiEyD4Yl?2D+`3WFOdjy6)1zxyb zBqIyO#NlRE<}~xDgN{WxqPoPLtyZ_P%~xlGi!Z7%fMID;xINuBv*8y)W>_Dm&fOPy zDAblKFa04|%B>zAUV{*@+F?)YbMO{y*cXg+2c^OHI%C>;y(t{bWf@51H(zcUO4`2vU8;{~_G(#OUxFVzv?HIU#0EWQ8Rymoh z612Kq$RB9>>7V+P>7Nh()Xy53?(Q!G$d8nl`X`BfDI$V4>wVPoSLJZ|oj92w$SGQw zRPJru4)HArbHjKspsaeI(?7B<1P{{N9WBc8i8?tfS$ zJ`Z9HeDL7*@$jz|7yq(qW!}H1d0XhSq@ORdYkXd@9k%)`gkh9h1v}(Kp43`g;|fhW zY8JTQJL;&2&c{CXbLReYKI^j%%TTDPNytf%)GAFkC#LWS14D zGK~O8doM#?W`1ZBQq6Y4mcvDhvmnr7BXR;#3+_w1#3xGZ?xv0}7u6$gVF(X+1tHsM&?vwHL>_3bWTMK>pUEi%E;IfBlE zi~)}A)3JM&nR>YMv62m)h5<9d9rAiz*zq-b0I9t`+#bv9sB*L`{VAZHksKkB6BV+-xJZJR z(!NWG>?*r-|J)LwM!#7Z&pKe^aiWX88tIhyuUWNxYh_hm(U=)d1f>io zV^T3X=BWE~p3w^J=q2V63_NC?8O)cbr~jG%zaVz@NRGZn;^+dVb86>M*P zh%kbqv%Gi5EL~3)z4c(e8a^L8Q1AFMZtbzx7~~l61nA8>>h|C(q3xmrKQ_BZV@d+N zqp@gBS1jd9^ZTtN*&L=O(w5`l+HO-B>9QwG)E^vIAkjC&D5}JaUWmsDgBgMQgrsLo zdo0Le)i+a$IjPx%GazNmqxQXjP!p*3sTp}h0`brsp_%eQ4Uyw!W2aYf+I}WMQDg zeg3b+c;B8;)0)3rubUUdJ;0-7Nl(7w`WlaWxKLMjn8Qs=8Scw2fY**M8k8x%kds(UK0{%c0uO%3`6J08us*g~vTk?(Y+tJlz4H z(RZS0up-LCU`KR~{1xzEQCy_~uSte;HblrAItqagj=sRM!NYC#f8hl&pL^968v09C z%)L>78O-L+0x0G#0k?e_^})cO>N6M=KbERL26@~kf9}GYU3D@^L3 z6LPcl(Ac77Jt^0?jG2&*zyA7EvwB0q=I6Bj@+zMR3h63{^4LW+xF8VZs8gp-s>R$g zj5jX9fKujy8SS6i4_w>4G22&Jv{&I5T^rF0u`?hLIH`dRZmvUJm!(|-_ zGX$C(eQ~S^s(^Rs02*hIgQj==jQt(@7z;{ej7U~ayNhB~V2~GSrmV9Gb*Na2X9=6$ zgog$hC`dS|(m*@p&ybGw()4L_;&{RMSy6n#FdGpze`=pWkRhDr~hc2NOc9A8G|V@G5}LKGKhi~`e^#Np!3iDe+=AZYaRO6 zQE(m@ukG%V>V1eh6|h2reTpc4i#1#>eZd3-G1N!l%1`4Gd-_9~^ieP$gTtf!Ti1Rj zn$P}a5XuJ1WDSS{b5JI%Xx6$C8r zDQ=EPy(lO%E9(;lGH*Hjb-Cv9ph8ut#kx35ZIuK_ulkGE@RFqBsxKkkGFCsNP2}Z& z90^@UT?A6@d2gk5Fldps5#=^Nluy5EAg1A7`o@!86_og;aVkP@`IoVQni~@}p0**5 zb2iy|M=tbHYduc%XGKZap>c{vhoXs-cHvtl%+X01Q(na*|8ZK7kp_HK2_%WAG? z{``^Mi|BArPU18CyJ{wVEahR({zt(0oPa9Z7VhK0s)XBXPMIl zUc5A!2P4nUVR?u$QJ;@mx56q8@$mtwGeWJbtxdH6efc(1rz!Z%P?-ys9l=-yHh9Be z^#Kh3bdm8m0q2)m#U`ys%ZPk`%?5TZ*LZz2e`MtmX2v%%ZKLdZWS7OvCXT_bfPY|Q zK}JUnbmTt}1w)47$}KU7rnp-w-ZDg%Im(+={DAzK`zu()FuD-K_`f5N;T{|tarY{b zs~?)8qaeo!s}>;AtvhM##{f8oK^kEU||!GLb>Xj@tkFgx`FGvZ_LKJ!eUW!!UF_ zbK4tI>Z~bcRSEat4EP@ej!gYJOgYpP93$Td*@!Tb+>1a`4uNK{tRv_Mc8t31bx(pkHu-|G)@wWcBq zazy;Jjb+q_5I>Oh{pk1mS)Z2h&K^C^G|1NyR_prYJZQ+ zvk}LE99dcN2CP4%%$@DKd9RgF+lTh(_6Lz=u6k3R-m4hrxVbK5K-Qub$3|HR6-$j~X&ZgOeGA)+UUs zA2LNbE8m2GER;OMCBrc~yZe&I72>4+fk_G=>yT^H9v3Y3jE*n$Sg;P}A%ODqvD3zT z{9PFTZLy9H|HwuhLDC%}!2mKI*YP|-XqK96>`@AhMwZ)_0=|?GgjnCfIw19|FaLl_ zt%deq;8xP~Fw)*X<xK+sF^9*T^YPFGimbYA7%N?YUF_*74URd6>k zag%;JNC(|SIPMzSf3AziwLx_5%?23&ph1`QInW@TbK%S2V zi_Gr|SpR!`^WD=xJ7e~1jC|P)^0^7}RiP!f`7I;Nd<=kcL=)0MWBTgI0p6{v9JSx- z^uDeh1e9Ys-idM8j**X=V|p{yDCizD>U}_VL9icP_MH->&g<^D_T&wt%4|v zQnV8K{v-ItDR{c5DC`>7-KTy=s02)Y{?&FDS{eU*>me}0Dm6AgKG~2PNXY~_;R9vR z-7W9W6oV%`B&W*`M=0ez&~K6G;%{<5U&oV5?60ofo`L1 zyg;*FdmBAWmPtO56>qUw8i*}6lXy-Bdzm4fKrh5qiCsy{Ywm|Q_LFZO2?y+>Y0 ztyZw8)pJdP*%w!q>ah*cqhZrgTe>L{n22!xCpz7@EkN>10&Igwlr2QZ2Zu7{+fgiR zA2TWEeR6$~0j7BfZ1}IP)E5>e9#PFH1UJyaZt$?mU4wd%LgX#zy~hc% zJjmpJ9Q`)$6wKx3VeG^r-3B84WSj*n`(}oH`DUK&y@DTm$4#`NW4{!1?hHik8>C@d zE39~f-toxB^VxKtcdEI29VHxpJfQC-5?Roph#sX137u1P6!FlMTtBO-+d29c4~~hy%hj-tCF{S-qxRsS2Z+zXWgK^2GRW`i;=H2h_QWwWZ>h_Wn)Mzo2OFdPT_a`I1 z=-D0Z)39YrjYemPAua-=)x44ev82mKgG+;L%ESC-+7{A#OT zKr~jw{}SX!*BL~XmB&ln8sYQF%VyJhPHm&sMFQKhW-{coN4ymrOoMx2C@%10@o@Ws zmp7~jP84G%#qFQuaX^y~$fUII0(^Tf2*VDQXzXH{kUt52`rt{vP4`=_eY)PsFyb)H z^N#o(bze5piB5LAD;LupCBzx-N`-Uu#+4kW-2ZACC!J@~B}q@qj2*fJtHF&~Amo06 zB!TU&bBa!%SZVvkRZfE&Hobogw%qBz!zvB+oghfMKM*gii2Wv zbgl;CB)+<#?-{&q`4;x>Qf7^a(x-bw%{)Q9WSYMmP0~}nINj8-4tGfEC~l~Z*?XQD z3(TqQ)=DurFnx}?w3!>{{}M!D^xi94`(HT<)nG%7ytG{u(16HaTvJzaaI4 zvfZmv@1!!kbf;!tu~7pX<%=v_sA;@~Venn3rBTP~YQ_Wtk)7%My_@xr&|Y!2dT4Z; z2MzH2TAp#XYMRvM=**!w15vMUfp(;dp7|x1&oLfnwAi6r-7nN|rABEf=8>hY>hSU@ z4NQye583u=11`Wr9CkQng@no=g!0ed(F05;BAy`dyfEtX(b*hf`T_lAh-{tYXfxBv zlQLJptXMW%_5AT`6Y(kzOA~)HIc77YBxTOPO3&&X(fJ zD?VmrXmEvei;8|Kw%4WHAW%+RbHrRk9(M*8(Qbu9wZqVOw|e23f6dCq2`8A37(Ix2^FUZZ9j zHZwL8K_Yuq=dM1JSgw|v3nIJ5D4_~&viCP1_Uj{^^zMu}O}})a^+gL`9>C-`_G^uS zsLKL)Ed8tuGR}{t3+ZQRtK9pJmMtn$`D+~+&g-BH?0dX8lgLAxn)V@I4{G@PzeWYj z86gg!ubV;O=GJ7;ZAVuI1_w=WxZooOXCqB)+)!qmBk(qegS-hXT;Tyi_OP|pUZmU? z?PkkcBRn*VWLkOQKe&{@^BdxC3%A{`iT;)-S4Q#y}$n~FJi6G}Q9sq~nF;75x; z@Jax{j2yWDOO|}>6(%n<4AE7p?N6GZnHd#RnZa=&H)`2lCvU0D>kas=E!K4r9J)cU ztCZ54L7y|apR(czEWnvTE<{&7DhbV98gk{;Va$maKDvP5P z*RlRdEr*?LeL2&+X`sd7p>9Oafz7&cl_BKM6COlieU|b7$MA~E_B3=Zd!0&oZ5aVS z(Vq9r6w98Z;W$ZUn$f{jc4-X%#U*;tSsxtb9VOKS$%{N1i0maFqaRg0a~M~A5}c}% z?6}u)vr=jm!3>9swJGKKvNywyI+T2elqpHj}8i#ffr;K6_1W8wOU=Rq(fh2S-NH{wD zax6SjsPOCKDpDY(nOX8<@)}sF{mh6XPF}W1%Fd|g6F`5tHlIM?;+lrYEdQ+O4^_k$ z%&s2=D8I}yS6Th5y`zUoY#+}eAiv&b5v;WtvO5DJRss%XL!AVEOx>9lZlcAsQ1kT^9P+t1ZQ(49-j$oH%oJ_rYhL5cI@PY9l8k1oVyV8CnM=F{OFXMn4)!^D?rG;}wXQ!V++gAR6yMSq8fMbx-S>qxwN)y)3THEo7q` zsql2p$Yl3js!p!Ad>=|(=H43K(m2{(0qOi|j!4b`hfmro@_aM?XXq$oS_|18bw-8~ za#xCrW--zrD}vpwGHzLsa76Hd_!Oic$r|C`w%0nBoO>U!J%9SApVk9`Cvr<&Or~$#*PkuPCg-uoxnPuY&28zujUop25LGY-9{{;2IC>efRrT z)BXNoWuu3Q^{KiOD2|E<%=e64>(AUU!41tDB0gSG(73C*se@OD(ip5DgBRZO?FQB{ zaPk{XIhmEtWjvU!4)Z;&+1QO}+iBX@E=%hMK3k!|VW~jgYbL3&;qz`O8G0)3~^RUaQ3Hn?=3vP5=FHc__VYj9jK5VZGHjT1!cK@*6 z;_0KFfay+Loq;PdkUH6lPz1#R5vxRr^^kE}4l?j{qS1H~<(hvjL<8N47M59)Bctn$ zA1&Ya%L_IS`(S&dG$21O(=GHp zs~R8R91@KnnsH*{w{2bP0I246UN{*yeXWINt2FKgBBjM~beA^k8i;g_j%Unf!xIm} z*?0phRnH7pL}y4Itrs1zu=kwe90Esj*vw{0IdG(LwE=e<*;acD_KRHg`cz(umym-{ z3rv(#Flqo{XT=aC&@;Kf^=NamsDMs?*$V+_JL;v1&h?y)oeNe#%F2wb!RmGs(xA(w zYZ|w$4YfsTYv8sP9@>HI>X%6QM*Zk^LIY9z!K{shNY|C-2GBKUu9%+Q%on%*DMjaRXYRA4H z(xAFEVU3nVd?=8CD3*G>TL*8nI~}jG@Fvww~l0k#G)R%HJfeHTEjt5;SQ8wd8ahuiwT? zNpXF-tTp|(JkoWZ(3rJSH0{_tG}za*Ge-&64BlBo`lk04itmO?DTGe z4EwnjR2NK^Wf~e(pf)8J2c^U}E~OpXs*Q@<%Q&7O^Nv@~0ojFNU3gIzYm~D+xPI}a z(Um4KYjB3jS5{gYaeq=a^|g)2y$zH0X)Ve;^rg03-}+*^gj)Y0WezzFz|Kw?Pn)cw zc!H^7Mq4C!QY0WgD6BYCPRjFy_R)BZ3`n^zvdbuATXoFvq(Uj3x#QrkGozN3^5ZxQ zEU|6Rrc_ynW<57mf=>T5EYLj#S(^gC*|wUbi21z($#!xKDn-`enm%{YuUzhf#hXDvHWt(Qxfa`?sy-#z2S`8HFaw zu6qgKp%XbQgYnKs6B1W;z+~3V2{Je{2xIWU4Z94B+f`QD%OJ`1u^jf-kFRV>4#u!4 zgTUr0GQ8vGUT0jy!|bL1h}FY^5n8aw$+>GdvX*{|^F8d) zqF;jIz6`nitEw3>BU&LQi)n@`7(fn72RbSgM5AlI^!q6IalTo+-dx?VcLWn1Gp{=$ z{7EZB)uf;pQC$7V5kXo5yVyZOH*z*sjz-!kU=W>YSoJf$e~w6WBL4HEBNLY%UK`pi zaKY{AoZG0WdF|1n1{8FQ$R2tqUuWIhwoJbI_G1f@3@bT^hSd@6{z7fiZeM)eelJR! zdpWMs7kNwOMOS}l)u;wah_NjDc3~?{ueXu2t3L)Y?8*$k<&tO&8VpXMm>&l`Pn&gd zWSoSYbdaq>oU(@wPuw7se+Hi7y#I)PmIs8`r8PM_j<_=Is=b@5uhWF*ydn#LzGd6~ za%|MhTTby0w@uRqf6CBh;9%sSMM#iar<1GCv>0V4bAnjNa z8XFSRv#Rice0+YWT~p@%=u|Ck?+tW*l;M6{<)NVpAFSy27&p-0@^x2R22bWFbbH{0 z`V75`^-vE8h5a;!Va@AW8h7F#wEgtUNkGLiPb)k=Z3ICMJK-I}(Fzp6q;dJw5g%`1 zZO(0U4yOPecbJZ8*_fTtE!S)NdhHvE(Hx7xSuuAhqjLqk0Xi~ttjeFPx(G87vpz{Erau~m~kA4@a6m^J$2fCDEo)qA)V9#K4< z%oxqQt0Bp4Z8R)qj+2vnQ70oGW^Jah&XQS)>F^Y-m+Pltv`mf$tEZxO*d<4bLw?f*;H)=QD8qLKZ4EcRpDmDBEhyK?Y?r9Yxl7q#hgzvo)N z*aq>y(eu6vIJo96J%iS9uQ)|K{Y#xxE^~fF{l^TJNFV*k^65dEwlC0Rz%g|r^^de4 zt1U>kog}g~Jq`R&n$eQ#lGbpdSZTA;NJAnyLVhxlMIzEQOKAG^6AC!vcU$Pa*1*pl ziiToDhI)k!QCp_5m90)oTI_*OZBd^Nh}P`0sgM!#oZT_de)x4q%-m+u((b zEA#*WuKH+F+@w6L1R$w!0OI>4^?$7-K~RL1U(zCbq4+tNtbwa?9we1ZCQ7sj9hM;(prqFYfkP;#lxr1~)Bt^|HAU9SD> zDY{ak$}6P|HrgBSS{KL3aYTsIdH9oep# z9OzTdJIG_Wkeb)TOv;4ygS2+3eJVjY>?47(yOpu|vHv%bK_uiAwS61QLr?`J>ssW` z=2!Ov196k6-kIalH|4JB&2S z-yiw*MDuEE{@p<&Jttrq#30gfN8QITIe@c4 zkr}=Wb{g}lF2g)$zy6k%bE_>#@rMF4yiUhrcgfvnVtXM7SWx}gTy;2)|rcHvxN@+oa^3M@#6w!JDBdPazuA$1t+DCqe_|#_*gE|JOVmI z@%(jnfKn80(&q|?7nROeWn2w9G`#tZ%vYvYQR8xuj`>2NiMws1d*Afh^0%c^0IXH> zU;3wHvokujq;1PdzZ>WZk;V`zRf!f)P~BZJp1#rP6nIFkOUm03Ji^NaJFrsiGcSG> z2PdJMeA|ky)M$8Bk>UY?4%@JrgV8{q1OLDjU?kTRO4*$#Z@AZBMGw71e*8vhp2yKx zkH)ZGsR_m)N3@Eg(FNb2;YeU#I1pwAz9N~?$!3WZB5Nf_h3*l=UVG>IXr_zOqjsCM z*D^%222n&b)~^`M`1k3Ak1i!ub+p`p@nw*(HYMMxzN0ku`f=&ZS;#EFL6IY;v$prJ zdn#zEF=(1Gv<$kf@!JWngUB{YlD|^cKIC^yo)3@8cO0l=P>#dLqncTGwX`yiQ-6a| zkXX;X&`?Lkg}GIz9Y89(w*Uc?9^Amy71SRlxl2)aJb+fH0SVejUJUOWm!|mz+d7UH zwgAY5Ys94lH7<;!xXS~<8S*PIupjJicFkiSG2|N^p5x@evDt`}a0;2W@{BW)8#}H4 zhF799dXnVH*cR!N$0*r|D{!kcCBes0#BB)JN+NA7?|G?;;geLv(~A%CwSKhgWa2d( zL0YOqnSx9dZZC35u^gXCy-(4jHJTV?@o!=CrcB$ zvnmEs92u-JoJZ~6QyX8Jo{|EGve2*+BNd%!)DgrXip`#(dw+THOM zIvRRbZXm z>{sD%5(s+Cuk6qVy(>XGO0Met+*C=De_K16ag4?&{zibkK@^S8UfP?f%t#4vwaz3_ zv{ECoE1@x&L1tjY5zo78f#_)hcL>om#WX%GLXl_!_wY!nf<4?*P_(n-p&3^4%l!MO zD`|bgD`uijn71<-XC$S^qb~@N1pr-c&aI~FrP^VRJtb#?4TvMhki1|3`d6x=L7iV) zvoUY?BRf1B{X+AewRyc{)4L^wNBbJ*4^yMb_47_|qxR*KX66+ax0TdCye9peJXca& z=l=^qOG){n2^><|ilC$4covbkY(u&1%SiTsMx8(|l~0qadL5VgynPXF%TB7iWz|My zveCIPR2Di&>*bttMm%mVhO{BW&YEFE&kSu1_|H|-4nu-|^-381k}r@!SfG__y@cIL ztvO0PB%Jv12znBBtHRt39jMZ*ic!MQ9O@s_dFj7 z(vF{&qPiU9UG)Su<8uvUItj__+Hs~T-iTuvyuYFf5o!SH8f-AHn$&32UHhlaAvyqaW|JOnAH)E5TXGsXM!@&mS#5yG9=4V|{3adj>7R|%$ z0xj%lv6Df9bTR7@lz+5c#qSCc_h61IIW)z`AhgUwl@}u*+>f7*6oPHtSOTo=?Mtg@ zjYm`&3ei^E@U-nl-TtQOk;bmW^=EKMavi0OR1o-NIwiPAX|a^z1}WY}?+s<3&4H50 z#PqMont~P9PF7i$ME6VPJDVXN2Y8t@ErHoANt3)=SCJ3XuePlY#=u(FU&cEbx1|`# zs=@WK)lR$O(Gg^N^EhFce#tu8PF|eAX+%#AmA_x^WVPp!V>B`z-i*_+{ftb;3~%;} z_|q!(C&9Maf+6c*8zVCA2_OHZQ`ETVm%zcy*8VZL6{c5VJGPdr5w4zbw=|UQ= zhAw-vzj0yhZ+|8Ddh0_yW5W>PirfcjGt+*gd);7Ml&pW{)hm7dmK;*Bqy?-^uI1=c!k~KGppE(3K&eh~m z=*uc#D`f-6S%A#%SgjTZtZ7y*cCpI*Gb-@-(Z#v_jKt0yzo>dVNzZ_TXX>tRktC~J zs%>?2dQ&ruhmujF0D=A6f&ex2r-2Ku+kE!p3Ak6L9^Tmv>rPMV$_?)K8f+l>;7@+6 zI3A>P0+ZjJzVoYFQKWo5rR;stkWde5kRCFs{25 zyT-mjnT1fVTp#T1t$jd5*!I$P1Ca(>tA!#DGc8#1b0XJ^Q1IGSho0`p*=wB{e^HQ9 zh;lC=!1rHd88*^uxopfN^tD68hHCKPNX&g^z$B+H-dOtUD6iDn#}fLuAzC_Ic}R-d zcv65}J>-b~jOLP-PT;knwqoO|&9qFUk&gb{M~ymSe*KX|6%maw~AA=VZ#g zH?ADykLCT>n~p>3XsHbqy*#N*mzm$FGf)INbxI;vNbt%{$Cd?ucyPTxr=u#3!^2)y`nDiR=a-{EG zLUX1wK{UbM8=y-QEl>5*Ufnk#tWc9c63olSvCoh5dTtb%p25{E;f3-QytbLA<#^%x zK0qevOsQo&B9|$`Ebp*gGZ~^z;_E4J?1vB2n@&KXZjSu%ybZj@JepEC>Vvx<|L0(} ze@>D_5}cz*mT^ejmhR{Gc!l+j<1yuI2t@fbNkbYluzJ)F-ioK~nG}$fdRMj_!(19< zmxQuKMew`~DUW{pCtmxktu(kyx?Hw~NWF&s(3**ESNX2*{cqbD8MQ2x?ILYu1?}5Q zwnIkuwDS4a{o|#3{NhsEtI&fWiIg;@RJPmHtuoU6jh&zJ1)qWSf3hd^5RIEE8SI4H zV#H=$Oj{*Zv!LybXPH!9Hu1?vG_YUTABTzg9k7kd21UCBy(?LEMKz* z1H?f&F%sD{YXh}L?C|OeBC@O7D5Q}-skA4ej0V=vu5A*KrAr#0&N0vn^P=>`iW&bp zn0Qkma_P=Pr1eod0$;Bh8Q?VHuUA;YeKajvP0WKDnwGELI0rM&D{HyCgj@roF^ZTz zO|?G{a*!!;i&}Xz0=F{o$!^F7KO{**qOSa1ui&_k6(I^y@TB!s+nz$r=W!v1=5cF~ zqu}?|8ska~=l{EHEigYbIS=chkx|WB4`P@!B~G9YGWmK6203a9IC}NhO$g!y!e1gB zyljTS{X-uKvVe1j>V4=UPwpkb$p&=%;D~tQjPxD$2Py$iu90QRUMIqAlB9sa;{Y$8 zvzW$mo*;qk6m|Bp`pP7IsUy+}*N80kcc%!pqvT0>*V{O9@uk&_3ORg=0~=KyUh4Ll z?nL*G0w%L(%a4j2$QpTV3C?wP%oDf2GT^RJk^{UMMD~#llg>f)ZQ$V@rWSPY6eD*K z<``uqqwbf|R`1@VJ)O06;0nT0_$FJ<43n<#DX%S2-Ks8Zcpwbc?ZF$gM7+ zZX9|%fPsY75ZlL*UTd#j0Pi{gwJ`TYu||#HM#^Bq*b$e68UufUYmY574on_skK=+} zmXKZ1AwfA`8RsxyG&?A39yY75AmZzpwP`Oi4&q?Uqb~yG%9ZD)ewb1j8nj@xtv+-B zfjmtP6xq>~6`Di~0-OYP*R_rPiXUao6gNG)e4p+?4(=UmXB7f+(YYK%N7{7;IJlRE zw2amYp0t0n@fS%o=XR^$g`p?PWM^cKToe0;w@h=Ldj(YZ@4 z01LulkORwVVB>PZ*Nj?XtY5sk8siaI0*(8&MP+By4g+o48JtV8=ds(4;sP3zrsqM* z{3|HsK3e4=i1S#%59Bqox~JxMY3roj@c@6g!cjBu8&w*2i1spm}kl{1u3*9OAUIG~AdBA#*cF16JLG zLb9TvQ`A=m^m8%9P+@8hBZei&3CjxLGp_Xj&ibUVoAcnH(f)~6uB&RQI2Z1_$(h@# zgm#E2SD9;?6x{t2Z}1sdE(eE}H#lVl2)r0+pM9;zgO%+k^&F0BCp!MVqNB@6C6IFI z%|QKKdDu>^EfHtzGkYKPYk;?-u4pDtb7Hl_7Y#>aE3tf4C5o&#mvcZ)Tu~k@&hXH) zizN<$ow$*21p+dpnN<>v0gaUk@`FIf`1OlAEj*rSI6B#D*DQ~-8IO7es zWkPh>wnr??bcLY~j|(P!>n8!9?yt#_isrZIenG;OQC&!LaNkExv_Z;?oAEo6ffITN za&W&2g@-sw5$7X`BE7#JBuSLH2&2A4c~J)`ZA`zSD$xtSBbWs$W;p9Sjs{xBQ+IoG zBdn`1YA6Ce1M7nW<5~^BxI%OM7L|6bfscA^@-!`rXXu-zzHOygNS?jg_p*um?l<&q zck=4wlageTGup5WE2akI0LN!YlTtp|aW9Y=m8ilY%qI72 zrh62y;9#^dz{e!A*)S@8XWhl2D7OLcqqSd%PVCO6S>oY-$r?f%-=&i<8&Qu7q5(jZ z${2Obs<$+&=Cm1RZq!=adEe8s^s4Xkqx&e`>sm?U`YXK|aXSJx1v!k3=0limiCo?AiHpg&+}8MYo=30Smx!r2%-_`vm3vKpYMt1DRR zq%vGc11Dwq2-Px`&;9~tr&R+P^@}K6Y05L*P$Z9i_SNXnV!Dzj^ob{V7-JEef} zwA&+gT>$plI{+9g$khM9h+1vXG%t5X{Kz^d<=K0|DqfO zxM~%S^0jY!fCxrBwY9=+62Ye-a`Gg!$(PB>6QRGW_M`mDU{!iqXkX9QK&Dtu?oqjp z)#lz{*47I`c?0j$C?IoBb;Z@rb`=L1-NPDcpGSc%-$hEx-+P*3WEyE)4?Ic3UrEwq zkf81>kkxZQibRu%cr%|GaCJHn3TS9jAMPm};bi%@35E>u-;;p5HO2r0xz*IL&!YxE zI^QlC#1!;6(t&FCrYFBhsmF|}!WP=Rz zCmrv7a*ol4zA2LuY&9HpSm4^yxt&GyB6}`O%hejnM&)}35Bo}wv_gyoO2!5>qF`Hh zcnMY}aVu}79R!8s09RLL6z{9Bx?lienrSq+B4NYW39bski=3q`X_nEJfStT))Fi!@J!g5%GLpfrtn^}xZ zi$*!QUD03xj^_Vk{kp4_91Wrdlq4^5CMG&%Oi_Th65QBH$nEl1%3i;UBL-Yxps@g4 zd(l>0vOV5H+=IJ26O`j1M+{ql!*r*v+|aL}pfiOBi9&h}TzKzbKNT8;cEJtTdSpTJ%BSLQEdGma^k zI2L!*Z`XmB$+xe&%?xow>RzgMHw428w2t>Z0!(5wu6-TFLA2{F%Hz}G`teV}^?k#U z(;T5iGE?sLBp`t(dPIYS*nB`|%#Z9k%mc|np7u`bSTdZ-?SJx zY5)ZTdCJ>#Kip4)9;ozw0MtN+==PB9>OuLYL*K@tqpz%<5Iu18(#vxXkZ_53k(l7e z7NpoN9!PoFvC+8bDh#T@4bc@G<+q>3L3;4$K5K1qUCh~DI-`}~$HwBa^DoT@_4aN` zsZ~v`wneDVj;@oP(?-GK*49sccI__(I$icd+Jo;(Z^OL;Pvk-(`CHJuOe`OCfs6r- zURuKRfxhZA*R-J?*`x;f4Eb_2;+yb>E+jl|;dR-%OKszKD<0HbL!w*G#MAIon~gKm!S-9zLLWDS(r&S~Oo z_PbBWDitJ4QZysw^X{a2=L@gc^=Qt}w^!bcGx^n-j{+Ay(7{*NTO|k;=@G(_0?d<_ zaF(lxZQ|2bU9XWf<{qi{HN)SOg{VAkxio=nW>?!*29hPK zJ4T{v&Ascd`QMaS89&);WDt2$C3q(U}Tj0x*O1)__^DqzM=;yY* zXY5eahwAz0 zz2w%yHv+?eo7KbfXUc*R?GXwB@Q5QJAM7uI@t7H!df$|X>=+Kp$xs&V4Gl_oW@!Yn zQ2j8eQO-4q!`JezlqfN){+~*FuvsD~Nv~IgyCN5)x8n{}c zug0(wNcY>Li3L}3m=BpS;ym<7^+BJ>(iXi=f&f8RH!YBx$PBR(k7^LTcEwioy}amM zW&w++9(IyCrjMq^PBGUF&LcjNEuP(bDQ37dDOd2jLB=;xy$m>%yWv8f?w^SLzxSEGP=bO;xNM>S1LI#3ZB{f zw2S4DKH2;|;ZiB>D>aIgtb0GW)?oX6(BmA9Z}}^-UAV8FP-cbx9=oWkLke*XaO?+; z?oVB~(&Hv5A^oPT@+flDb37{VzMO;WVPqQAU_v}1tqk0^07h>gY|h^Jnuc>chkZT$%ZQdD}7m7ZR~$Kw(A@hKNJO;BO)=f;egz@)mzhheolAhD$@Zj9hAFWulX_N zImJ?6!}pr4E5;=F`5&)6c)SEG2w5CNr{Pci*4q;G`^%Ox#(c z-wyn+x4p$R-+n1Y%k7fM@%8y0_9N+W>xDw5$L>}rcjS%?Kssro^{|h0GAl^=2*gq| zAHa*eI{eEs0yl5Q*sksW+3=rs`MgHqG)A+uT5CY^55wJDO&mm@2W3i3V7q>x0gLiA zlX`Gx;jeP^FQ?E>qOG3jICWKp21L62``H`Zx1n6>lVLB%uo7fjo$*5bstVTwM$1Zx zOCiS>wqHuw>(FT2;6iYvt_mUG+hnKR<7CrLRTnC>@Vy482=$Row+ocjGP=bn(#x=~ zLlxqnWH!66d7Kz<8|h9<25H%7wE08OsHI8u7jU(V_|hY<#?C)s6150oE91)VOt_a1 zpFCXI7ToAK_N+0n6n0c!8w%)aeY_kT)K~ptEUOYoaII8a-*Tic3;jQI?V7%w;;~HU zB<;*)VLC3eDmJJW7RNN79x2mC20i1m6I|nO>@UE3t((;o0S~_xArSCzKX=a#CEl9Q7OwHIw!=4f*BYXp}^~Z z=w1;CN<_@V0M*NCn(NsbRul)-zhstRQ@p-S5hQVk!Hgr&x4>BSjIEu{GShJjS%`*5 z2S27}V=b5-O}V25Tv*P!cAAdYV_~MGWzN{ChzK?Y;zi&aA!OhSV8Q!_tmhIdxdOh! zy%MabjT>>M%Qt=1vz#xw0=q4tm(ac4fhUX%Ln$MyB#Tg#`rq|8w0eWn*DAPbF3 zkmf}@VwVlw+YNuVPGx&53ql=s@2s)rlZCP?lVE_)v#|xgO#}uKexCHd1P)DU!QM~% zpWA{$^;Jtb7xG8bfTlaTZ3zKYz3nB zP1wpoUN+1oDi;ASre`amF>hSa5sMOOPE@^__>s$y;jE@x4Rr=Fq_R@8M*x+TPGcfY z45uUMaES0Ippy;vI|g}#O^6V0Kf#3+b^hm)8kLEI89g_;eh5_eoV_?;R#WYki`4je zJzTU0Il>CfGal*qlbmC5!-^|p+=4JM2 zD@yN8#tO_T>S-O#B0Lj9nM_slo?zypxlA8wGWzriFt%|DQ%J6d|bKCIT29yS&tfFNccOl@EI(3Sa8W z3~paTX~7ECvn^QHpc2IU>DIJAspaY1Q-ND{d2jF#&m%B(Ub6T*V-Jo z?o_;~2pzBH0PoMtPdKXdF|O>c z3KmsU>=jly2Aa-TF+6oaYj|2R*k}Kk9QB2-{{;AoG6v4#(~2-~FUNk6Ovw0d&}&K9 zC+VD2Q+p2e+vbmfkL(-{)auzt^ElBw8r+2t-e!WFM*wEyqMz3 zWFVeLWNxmg(vfR8%h$XW_wrhZX|u`S0MF!@Q;VQK0Teph78OnJ^wo!9SZ_zLg{6EZ zmYT;?-`;pub~y?8>M+Xvz5kUp|kUcBYu z?`F(a?LL*YIb**QX9||!bb*)#_}t8#=C^BQ$=MjhJa+dztp_#gJ+6Rit2VYjU7_(n zAdg$*u>>G0g9osoR&g$@K@_D|4iqh4GvU5sqt4+q5W(g1u*DH5EHB$ijFLr7KE9B; zB>ju_`(LeI6<1e>z*d%azK43J{x@sSsLc=WogH5Rp5XeyGh`CQfe=5~B`D29kwOY> zjpKD{JVgBc4A>*hNR2{gi{oSgo{GDy+?QgR=IU%i1`D3Ks;txki1?rn7E0D>VOn#5UI-}yqh zZb8R1Q*;8dQyo^$@W^oPGT?!9>LY)dz+If+IJn`d#!moB^I=bt@w2cmykI^Vs{-tK zZAzqiYrBqzB`Jo!(ir56>L#5A-7WBmPRz73G8vvr$Giq2V}zV%Qh2F(pd6hbQcBsq zrgOPMt4&E-FmI>eEi5PHBTZzYd8D_&}#4A*;Y#5(|vjmRwxz`BzVx13Dwk$p^IZS;-9ze){8dmR33nrz3( zjo^Y**XRNF=M^aejJ8+Vu}K<)H=P#91rO(4dWIA>bju99uYeG)!HNAu$3Dr|GTWzJ z8P2|7q8=E55%xg8X42#-M9Uc(4WBh8(pG@LHB{auBG@g%eg16en_;hn@~VE z5{LsFc33zWpglQ7|mjfBR%uW_`xg{&p zErF%(_=*JVkL001oum!1rAc9^+qJ+kT_hi=$0~cTwpWPD?H>x;LUklMlcQsx7y{Qc zXjl~R$Sqo)=JVw$99;Fu3GP`B0O{T%1dWC!aXL(*q3dWBTGJihU9JZ%so|6&T>_a}gdZtKZF#2(Sn2vI$%OwBA4AbXnIy#`9?_Ev3x+pO$3 zUo4xf=2mm{G2)EfjqJFWGN!4i-8fp>`meek^Q|cZkt2}gKC48OpEVNu8#zF_b9J0R zWcggyZAczfb(xrx?MjGz9TUlIdHwB0IVXYoL4DyH%7ou!7{>Y^=RQ7|Sb!+`N&}$n zEK81c43XuFs6=HlyyM}|&0}OU`?B$EQ)bI>hx(93R$9e+ol76`znb#>0b&Rwr6mZRhH$vjQ$0b5-=%9dM*dIgFbohG9Rqi z^ZIIyy1JvDwXx$eY**3qICfDk<+{|I_xmb$Z4k8`Or2k?JN3uFomewE&Ze&3Zn=Wm# z)ca%07`^Qo+Qi77O)=3_78yTZ)=L}FnvJi~#2nYz^SoEc8q5oDD9mh1d0de6j7-p1 z2gIFLZLUFQ#wStSrJ8O&L(K5&y3a326X&PlZw^PZ)8m2z3%~)|l?Fhjy>Xqi-Yy|d zR_3TY1$0`#o!JK8v$l9#5WEx^^4R4C(`|S9T!%8wHiRR{;27G{`OCJ|eoo>0iK%If)cvALJ#=duF82AmB4;x$Axq?1#9`b8lU6SXpI4yDWtm)T!*IHI2^LM&kNLXnd*D{1c|38#x{gZKXk_w_`Os#pjSlBq`N=Vo;dv2@)%esWejWw1n% zwTiBzGWD8^w&ARXn+&3_vV^qs;86_XHomT2l^-9O8 ziF8J^86qe5e1JJa(#PyJ=AWy_?lUegbr%GKWTu^{Ss<`N$-uZ&n!U+&ovZDiPNwx_ zs6y7*_q!v@>kOemU$fd>w`lUvK@ORu z8Ae{cuZ1ER2fBK_|BN-TIG(@ff$~PUG?Bw&BxRbaoLvF!=w%|EqDQwSLgQ=$(3($d z8q*wBaH2Ac`De-Bt^a>r^^o^DSn>c|o=++NqE$SyiC1lB$%dp}V_JrXv?BcMu>|$Q zn~Hk?Pk)8qS$QzHA+AG$yfQlupM@Qt0Lp%m@$<1N-@{6Wh>*!JD}q%nX_YkfQ%OtW z1qs4iHi&(&zJap}tdsp(aO1pDUMZgs^?VW7_2BhB()FkePIdl%g&$F`gGM*`Y+Y_K zABO3(iljzEu3*{{gVv{Y31FkMcRz zJupH4#&7>3SJx&7>l^s({yYBi`$)IC=!%eC#7ha3RH3S)!L^1={a9j6yYxoma>%LX zkBd<;u)wYfu`N5v9X4t3%#`lcSP!Y9S+yM3k#PG&Xa;Q9#JVT5;()^OU=GUja2*F6 z#)1slGV-65?X6AYNN}xS{9bHBi|2cwU!$zv35oFP^{~R)&xYJ(qH4QZjU1n&zycBRoCM`p!0OyFmbbrs`?AHl>vK2;HBC&1SyUwshZpG0?t>~xW)@tU zU(vh@XI6;VwGuQ1=ePHnvYL5;?~6z~qobtnwu;r5j86cazYl?+QD@!)9BeCR4)Gwh z=mlMZ1MZdz*G=l9=J6=!F95`H6!PO8%)Q>Fa(*TTY*M~QF?}-)bidZ&k$yor{&LiyXGBu^QBNJ($f#jam@*tma!6a8l;L-vW^;`{V z+dxPI2D&l=4-4J?dq5gw*a8u{MWk&XX)7ueE~asM{WdiHN(;CBM;AT+qXa&vuh(e- z6xQGex78oob}ZT^rC#;yk4#G$uDcs%+gPvJDI$_|eajM~4Kkci$#{$(5sdvJ%ry0}bw4W|q*)ThoCyZdi%t-8fC_ zCxiivupC=C1$dIX?xbs)5FIGV93uNH?l*)J%D)6Bf1JZhBe!jAL>5YwhE^06RR{<@!A`#p*+eEX<)3CD_m##8gb-<{ODeB(O`P~J{I-L zA09ft&-k8#BMW1(DNVtsFUSfn<%}lr?r)Gb!>i=HO?_$9k4(lW+_HZ}H_L&&6}IXZW2X>)X&i+UafGHw5sMG-Jxd3y6#ehp>M2@yQ|?EC3^{)>@T32;1){&z6UV9_s)>VmofBr-eG^Ktb1 zGM2Bm2ohX7@&;!%Tq(FFR|dlJMRK!xCpl+h39dFAL0Q-MA?_K{Og6yJE%08Z&~C@~ zTwc)~eT;EI4s)+FL0!R70v6I=Nc1fs8rRXQ8BF{ITE>ecY5^!G#qv2IO4lc0pkNSoCVgy`N-A169YfU(={a+CL+ zbQ^fdxBQ_SIeyK~_t_8pBl@1d`saGy@Bepd9=kePiM0lA|B?UtX5O|h1fG88mGn)& z|KH992>NAvvG5oFpMPe+{HB+D>kYkE)Mh%;mHU8b0>!)p{QOIlPjIvH6PB3;4`v!i z;&`QXFTdjd$K^-9_YJ-U#s(LYpV3&CbY*MH@J>qE5RFcf>rBa>Z9rU9H4v;ffjC-3 zhXIV+1VSFsFx3{q6&%=ldy|X{c%xMs9r_nqN-oa-^%YI)0e`4RyAshjNhz$?!DnV$ z7X@|}t~js%NxNZ>pipk1Ke*L>^0>T&iO{P zEoc(a81^B;^;`eW_fam<7_9YT^Cc6JcDPYC| zMrAhhovsi2=OOY!t_7$G&+;eb_c($*l(R_(5B$4rhAFh!Tn?0hxdlS{psQOwf0N&Ckt!S=GVY^(OOv2F8w4^XQ@M*E{nqh;gZ99_(K~*=g{l3V#uO zpIEnvn0~ISK|sDuhJEEnsU26|)cF^=9%$Xmc9{BCzP?iGv#%g&c}(p9)1e=1o0>o0 z=a?s0?gIT}`;!LE*Xv7=MuY002p&U-#y)M=n7;~E-*j7H3qk=7!|yQ%-v&vZ>N)$o zxQw4cyezH$NJdu>aU@$@lkfh^e`;8vV9G|iVsIV>u)XG<2A*;3HdT1;<|V;%A9#O2 z55bmx>-YaHx;x1GV7Bnk*Z(uzvU~5Owqi( z{eJQjpP>KtUGJo~zwL*C-(5hFlm`ij<_`d|ZOXZ8b4hsQzLGUWt$GCZjEhyw;RxGgCyvOJWwCq}RcwV?v5H8A+$(}V^e zIA417?6x$?^-?Y7dcNnr8ucjnIXzyYVd@f;3Z62_5`s{%@r z9)Zx<2$_uwX^TVTgy^FJ&ktqb7=6;VZ~u`WqF2583(K3415z2h3u^0A2-5^<L1!lfUp;K^Xsl29FVJrfxu|^%V}u(i9_*DZ z-w>(KS>jd#_!S$l41};Z+NugFfrb6Niu#3=Hot4|!L0DO)Z#UdYCxfWl2s~RuZvsZ z!L}aM@n{cV2=}u;ZthDPUHaKw+`s5jaP>)5gBQ?lqQ6Ccl?NJ}qP8`lGzKq)gGm?a z#14lXF1a$P&1d)#8r{2+9FJ?i{WrpzfcG#}1_jmMU6;|e9P#khVC35(D_BMneClgT z3P$&Ih{Vh{sunG67uwHGBRv0+e?~v>x4)ad{OOR%-Jx6IFQi~2yIeTLZZuDGwlG5KykmsQC3G~KN)v$ zrrnB+m0*YB9R)S8ePybx>u|;#^W=V_0byB%ywN=t5d|hGi)s!u&kU>;i-#5EAdM)u zzM;s@D$J4Z0Fs_>qs{ZpduOF>w=Es}R+TIFx4!u+zxw9iuO{EP+j7l7x;8Kmcp|&13b7h90I;MEUX&EuYreVny3 z-bOe);8=H>DIMb~Uz9!t&Zm;<2O@d#Wz8=VI0M!=x%is%&R2Qxh{JvmlI@Ec0AVxN zsKyJFwDV2J75m^~Zen=b5B^Ph)fc|LZdLL4iGhNomw)cRMBn@e|2H($>!vQ>_8icuAx4@1jXE4+&V9KY7m5m8SKr z=CG!v7|@97Ms)lDkadXX(XZ!$4Nfr{7lzjND#k9|6Nsv^4Kb$J@$w{2=-HzVhO9iM z>+klczHKehFR||aL*2HrZ8zy}O4@wGm51UMLO2}<^)07(mEeU5Y>-Z!5Y)I_E~<&B zebg6m*y+E#Es`?l_J7G}!U4>J8z}DaHWj3^!1x55)uGJH&djg`*9uX9Vw@7KVK^#d z>E8o*JB30-Mj!(51hIAe{e3_}TY}zV95(ClvX{TSU2j`ewv`;W>yX)GF)y*gmKpYo zGX^kW+XU0_9Jj45QP@^xeB3Pyj?BRGAAO$Q{jR^)?#DAqqDk;k!U9k4e;pZskc98k z_4-P1%>(`1W<{Kr0N=QK!hDwCbz^HB1c^1U6vB1HqP#wjE`#-5tLNPT+6< zv9!4jzP8n53sTf=DrIX2Umk9&D5Pv-*|vt1?H-qszwH6pw~*{ORD&hlw~&Y)K8kf| zGF@tYE=}@F-BMDvs643hJdnP{WS6&WkJ){YOWhWO`TN-)M0I;jxrVJbjg}?D%{y8^B4`dZ9*{E|gr-MH1p-#={Sqh%k_EJD$3sUT7bRjv3nuyI= zUfasjfMo%3znI6dtamd&JOl4oEEAl-up6D$Y0vqj}w81aeRe zOn3WiU{!+yDeQXk9J~e4hfD#C`1)GV;Km-5=!A_(;^Q+kF&kMRglL>{PQqOUH!@dk zhMVBG=YNJS)@%IjTT-gti^dxI=VcxJu(tcjSFjCb`~)nU^EN6o8Rw1qS5-_Dt@=4d z``WV7CUgoblXU#4Si9n*@8zBiQ&*D%yp?G?N>>TIZS-X$+Zj!d5tVp4jW~~kKa(p3 zUd-nSzATha^H*BxO6zcEQ2DRS5P_(h1A^O1wzD{JJIPhD98P~0vghs)S8YVOp}v2V z?C^KQwv*Qp_CO9w9<&X9Ic3|@vb~MU;Zf)T>RT|&AsV?X|6uR%dEyL8D$6lM(&~MN zN0d`H_RP(Up-s;iEx{d)?@8Mpv(GxGl-Iz93^dhy>8lWUXeVsH$_MaE8p<&K>g3z# zGx9BgiJLUpf(%lE8HMN`7})XmU_%dFJg8;#?28g~C_#_%$yq&URFJ0zYN$Mf>YtV6 zQqBZrhBGxDl)sHnJK(f_$wdPj<-8EyWZ6GiTWN9)a$JgN_F>J*Wpxz#6n;6-W4%`U zW&#~XH`wUJo#}29#ET1keTv9x8C$Owg!9iF6v)9x{8wa(+mYSBuw@FS9WRd?Z?px= ze>uJRYko(&|L_O@zw`s&_ubUSoRN#;sth-5(~@@J3_p@RC_P+92M)nI zJVHC~O@>XDO|H-fJ27-V{NWGX1c~0U|NX>sA85tNk~LRk|vVrn1cxCg`L#;;-STR4nH)pW>G=UcJQL zi$GfB^8wRlN9&&%Cf8T(R)Laz`jj=?=$dS6?Em(IK}Wb;d>o?D)YTn&Hhr@+kt_DF zWVFlAYT^vVeyJ!~8@s&CRB(N;;ql4;D$9Xij*$%$p zcl>Vpjz9kGZG!*azy4p+H~m|GkaFS~M2*acBBE&1cof5DKF#sZRX1@vf@8ZabKL?t zy03RTZ1gL>YQ9Yd4;Ovy>)t@`dgtxF5OaHw;2xa2WI_x3o$aM8@Y6uj5kzi-cdCxc z&KV?Fv+;ilt|>ISjj9oj=T?QiR|ESBv z6Q|MZ*L-Aq-&!e%{TrFrPv`I`82y%eykK)Y33eH$&({UfBe zuQPTw>-mrV6n)8;eLcPJJvR^6A9(Mc_O>7VUV7~tzKmY-($Au{M`k`DQh!3h31H^z zl>F*5SKT)~nlW>9{WX)>LkjT5FZuEou-Fe9z4?3Qna}Sn#V{De9xl3VXAQsZHmDO* zcv84a+UEba{=oO8=X<>7wXeVNhklpA|IR<%x7TiY8;*ri|L^&(zq$tl6#nS{=|3P8 z;JIg?wY1*yJ8$au`u#x7?aOpNz_OiF_H|$XTj^D=`hv~|;E(=$f5ggtL+`ogw)*{@ zp?=#I-3{l>U-4D@eb-qFpS%hDZ1TMQZ9kL-d|va~*WJ+h>KmFb3G=__yZ`DQ5K;Kw z{~!N-`k9-c)p!2qe`^1V-3CuT{S1B6H-F16>-Ohi3xfR7fA4>5>i4g` zhr5lu?^YPpcjTad*)%8aH>S;@GZVRMnt}_r{F1lZL_8-#+TX|!_;kEKBz|wob4yT1 zOYddK%8F$9+eG^2ujmi^+vNE6ANk>gm?RAF?-*n;%_0c=atUlA;NhZM`@ClVB<$nX325UeoV>vm24Hma;|YJI_6#Br<@0Qmc4V8{1GypO#>2V_ z1`=IemlX}k(KqzS?a8S0CkS@=v+e7x%6zxkWCFsKJ?U4Sp6&&>|Ef=o8 ztquDZT?&sLn5kb-sVg>g`%9}c&>(0T3hqsiU(|Q0ZOitPsl9)x1x$wj+{yr{0gZZ~ zYvaMZqIbT{h)`cSz%&W!`z-N_c+YdYS##~G`f7yB>oHR11J0g4yP~$Q#Pu`LWH{fT zz2*1(!M0W96CeM1`mVq9CxJKc8{|~Ghw>fOx8rGBs{ZvK4)FoOrs=ho4W22Ue#Pg* zxf|Omj`vvi#TkB_mtXT*`)T+T795H#u<@OL`cLGCmr_|ha(^%eVBY%uf9K|f(q9XM z3HxVq|NNh&x4->|`$Xzh8{pmVe&1}|)3I}6scH^iYd*tfWlR!9wd{jsY+2)DdA zo{JOxD$ItoC9wiwt1`5(+WmT-D{i zATKb#XW*uo>$LzDp?F4~va-lhGx1_C?6E^EaAC|-P1i?Ab@0|&o6De1L%uw&Iuiz~5LOC+w- zv6uegh&{_E~3|3 zX8YZ?oot_dtp|FRGcb1C%jE&L&%^FpJhrtPdkyEplu zp44Tn=XbQvyWYf3+NWb7P*MXR)IJ|81m|t+<*3y|$|0&sqqlkcoNl{U=Y(1twf2Wk z%i6ZrCUxzO{oSG;+DFuUB=zL3cQt_5po2V4F=iN8{j=9Iei1K=Ar#Fp-1LqSd8o$` z?^%9)?^oKWjM!s5q5sm)_-uO9mwjEkfA0P7rMLai-*kL9DPGgX>AU$I!TNtV{wHm~ zY=2W(Xdv_An>qK5U-GZC`**+d@6|&?8PtMn-jA9W3r|1u`E&{r`L?Ye+bRi#ZB@v& z3gH{x^1JrG?fPXedpVs0xmEraAlQNln=EBj#8=U4Uh}$rwFSZ!1bO~vK02M#H(%|0 z|N4KmUvH};-uR|3-TyqTcfb1`d%%PpnU8+-BR4^aKWTivnOs`{WLv56llxX0o{pex zg+}H}ZalV?AbvFnrf+{wJ@q151-T+8ewrd@caLa{u<$H>ERwjkMFYqoItno0IRjwE z?4x+9$=*?&1-GJtE3J0EM*Wqt8iQNhL6WziLApfw-8~g~2*Hf@yzJu-f=eGNUi)%N zS(8qpi$=cdJX0@ zCBS8uhHE_V6k$!_a6|{IK#zge4*Lh{41OXT3=@A)tOaLy`ARo;Nym%juELevqwM2g)Pl%p^I~>nz z&6Ssh3p-J^S@f6yJRr1ZUV?Ku+Cva^%5B_ugIOOs^cwkSIlwc&b>1t#m-1DVozNZx zsM7+o)S!s22q|SRwGkfd>krE3WovMwx(!s{dkkMUG4*hAl~opH!T%OaXiGh6*-ED@ z*)JB&%&-#G&g?{0z--finH}Lw^wu2A^M8@xYH2ukZ4P!r7 zZClq+JO3Y`V?72-kQeU$i1M>vb1`J0Ov8w5T_c(~8I;J!!M$Qhi|duo+6u@suj8iH zU-32HNbh~mJLtn7{E0pF2maP~(W}4k4f|J56z7OWxn%GYGNZ(V>o)}I=BJJjB;sSm zi4xxUrC)wC@0P&Le%REHSmBg?*W<1hT#b`HnZUfYV=ulp^(b#&5!))o}_rr-B1=0(-E#bpbk z;5LvgVDiQ{eyJ({|K5WTeTBsq(AfOJ7uCRmj`uA{^wzg_THpIO{u=$8-~25VCx&fh z$yUE_c*{5LvTdUOL~Umc#BA{G-}WCh8Ma`P(nZ=w&ojsK<@i}+q1;K5^r0fQKpw8z z&cY*U$r;$;-XB3*p=Rzlr@ue0-%g#E;b^7C?Vwjm=j+XzupbG*4)ypZoqPPCpUu(f zY+jAqcLMpMNEFN*+&l(FZGEg<8~=yG?aL=^yNc++qI!6#o(s~?E4kE_CHfiL z)&|TK&wRxNdM*ER{Wz4Pv7fQcO`5I04UF}bEg|rXZ(fXu-RvLO3tqWS85mTCtMwtz z?$;-yULVoO?v)gbS5`Uw8jh?ViVVNw_x2YFWvj}cusB&+pWo_}@$%&yE#}}shh6z7 z&tF@dat2mkjnNJpg)-Y){^#7>dkEfDYx5qP`%iqbe>H7;*e(GDaerij1CIi>b0~bE zWxM~q|FeI?oISFiX^}m4RM-L_k^I~0l&7EW>1BKF2O6o5-UL*(AO!N?&Kgnv7|h)K z!)=9#!gf~1Pdxi9&0r7W+|=_|gKR79>@DW1D|on-N^9p zdpcUVg6_o#=JZ2n>a=$7HHGdNu*d2jZb>*QinGDWlVvUU=CAx3GvRKl9ga^I9|z&p zP2WX{`EVO?EeLtWAnReH3h#UGdj=ePxajNY+DYy9;HP+(<~brMv@-c_UM_s@ucoi~&HWI?ZL7+Af9#!f3_M9o^4Q`GSkqUzPTw%C zU2{;1>CIpDwe7wfHu{e`E!pPXzuEG)!$s#`Elb#&gq~qmNYwKvj`VIF_+)y4?cmH^ zE^zS_w)9uM`U~3q7L?exsSt%u{C-Z@YhFL$^*VFEea%GS@4wHkZqb8CJrofop!GqR z!$x@enP=!%yyPXpd^ZPizgkv*GY#~>v}$3H7AJU~+L~W@^|Mjt{vS2sk^k=>2tog@ zT~UE1fjR!YEu5jl^Jo$uw~RSCjY1h}l&gZfN$JncIvSCuv?+JvUz_GYklUt%Mw;(_M=`kw1dNL}f9574J0T zd#KYXa3*~AUbE{kr8D(yVde%?E!s?BhMkNrj2O3DbFDI45MM z39Cs;eIH8yiVMo#KVhqIsh^HztS9%fW%_q3TuhtPd}athXxm;|zqFtfl*gIZX+iL7 z%gl6W3E0=6U;DAlgB-Ec2_wtL<=`(Fz8aKU1x}KZwrb3ycEo!2wEDcRDnyw(YD@Bd z7RUYtl?vbem;OXOtAa+}jBORP(9{L)^X=dEA571OxIK8SwDPtWEy*zUXM*eppyC55z{`H+{QQuYz07`U z7we3{4kH&4;fqVPEPiFphd=z`>HNQKcTth&^S=dlxbgT8n`6MqeT~sm6?5;$_ZdsW z0auyk2SoZWJMNK55=dI{|9L{|B%lxO4+Ql=lWU*QC&3qZ{vT`7Or51Ah|i;mt>&B4 zV8}yf+?(GVZ4J?LHwfm-a=<8qaO_BRdEj?8-k<_}u!W_N8iN-gB2)M&n;FdVy-xZE zh-lD96=2#Gt!8F_oX4XyfBWuULd}a>$;QmpA*MJkK*bYl0!NN9y zz41%Fv~5q>_OEWv$I_C~ML09Lg&B##)bTg#;jJDod-==T9@qE&_>Z-^;iq6r+7%6W z8;}KlzHbjKUUyQAX$7|>5hb}sF|xd9ZsnvbH>2rin4sW&!(c}enT``pwhv;cZOq$e zPE)^-(QsQ^;Xvs3+#X8%!>@oGxB{TvR~|z40MnriobS;Efx|gTA42sUi!IpT&(YYf z_iZaodUi)SGsB$4p}~R8EBNz&>qC_$b315JfF@}OM`a<_0LZqAq?X$+NslpS8yt{* z+X{h)!?oGU?=GVBdh2SK+SuK*V%vAEk6gd$FlbF146Z(QZv!W&c-?ZI7=ncN0k2HG zam-<{{aQ?#wHTTA62TEJ^ox07AlC+&w`M(~B08s%=&1ltz4({YTYm4i(trM+{-5`} zZL7+59>>@J_J5rYt0IHpqPYp_XUy$er(uqm7K8Hp5Rd~sa>TYz#=iCYzjwdh&f(Zr zb!anXF&(dGxI-X4#t=!$+efojT2KsS8&AdmasOC@HG$#nt50#JmQZx341>G%TUY?Um4%>0Utxf&3JCJZ z;Nf3grBNdTZF>o<$f)Hmb(P1ZeZEzwesyIJYHTYy>Z*;lvZHP#`Pq-ZKtK2MzsNuP z^Dpez;gz#pHa8Il+`Bvt0@nP^TYeu9MaDh(aC)~VobNu z)b@n_hM)*x&;&g%_Igqi^n`f!{m1SrIoIkr(e>r`B0Qz2cYKyth6XO=Z2Iq9SL?Qt z&oS!I2Kjy5T=p!J4W4=B7nrZAyzK|Sm!AE=d&9DWd_x*f%7G0*dyoPT<-0)(@(>4d z-}I$l-tISl;wL^(R&8tn4uv;=<=2jdLs|5igX}SV^J)Ij|N7q@R&(t9-}Mgq_W$@l z+<)&5eBZ=Y-&`u1(CBYPPWuXMv_5XP8RPjL5itBW^Yd50^D^^4&8rf*{m0{fPA{fj z?u8;LV+!k`K%U66*pbo0S&|)<6^EpcsbS&7Y}{3F!?^L+sZs1`oHX9Kv0U5tsx9noI{1LF9yB+L8IZ zZ>SY$Y8_a!s0dM9H6VEgwzmi0@QuH_-Rs+qYhZoCu{t~heE`twR(`SD{9&Wp%8hL$ zheAJG^gcixW~?dOS!l%o9I5h@|2h5k*g~UiIqWkkHc=m}xz>5G)wi+{cQ9^!zy(Ps z&T}k^K9G6|nQ%UnnpQI-LLqGvWFU91K?$ZNgL$OJzy=r!W^irW!J{3&(7e#_5Xlg< zz(5I??I<;X(ewHzS<4w54PS#B`|9W2m(9Ywyfu~>b z%1(b7oc=NSiyg`Vn!lU=&>#MH_b-h2)d=7F*ZIPVE|B2S<%r(>t-##ySY4MYe=YKmk6OBm$@sHg9HO-I4y$sws2IAT^E;EoTI*q-E z*Od1SHUl}LcZCpI)|tp?E6Z(YBkb=(NNrA9tJcY4J|$Z!DdPvFTEGMYBI>D#KU5R~ z6G}u~dub)93A%d`g+hyoh-M{GCAq6;)9!MBJ@=X$8n{Q%V(?4Uhhp{p!3$Wk4N9<6vFZAAy^85@`8Z(sn3`@y88joOx! zOI-n??MS3sWmxa^uXrqjQ*5RtQuX83dqZCl1V5a9Fh1n2sLvrRSZ*`?y4^Zwb@&*? z++!PeeJ`uQ$OVFYLmXSFxlA124gns|bEMf#jZJ^*#h*%Vfv>7O|B;{CS8~kd&G>MD z?|y3$weK?2F*_fKXbkQ+aFfY)`R1?cD^#|?2Cm+C&Fg-{%>(ym_Azsf0{aOpps{U( zdE=LS*}kGfKU2EF_Oj!BKmOyCfnN!MFa}203FYu{YX{DUwb=XKYvtIs)q0#x>!Z`A zdiOi+$`m}`!=Lr>+;i`zc#BH;&wony>8GEe74Lu68vgzhpZvs725}>;V~T?wGd?5m zP@=0-_LL=Qd2E$4&qp#7>!^~HJnB$T&O3D3^XV;~r}1UvT|@p6RBJq#t)bM_8ZdRR z;<4)}oL?Mo@!wCYcpMB-=r$Qg`|jvadzFH^Ou?6Emod5*QF{+ogRWU zEkH8l>s;p@Ro~dZsmyb2dIIt{}o!YAh&{<)3I&@ zQ;4Ev5!(guTUGq`2WtSS~wDs{{QH%LYfmu*`P5~D$z z)OUE$Wq25I>3b5Ja=PUK10(vtwQt#=fPVcGwyQbX!*#>2!H7L@KwP$^>|Y<@eKIe9 z5M+5E?W-#IIoI+vmGTu9s^zH!D7YQkS@1+Z^SV0-`bCsW4;tWV4(eM~_|gym2VTFzN9O*YDoF;w#2R=K|L& zML@@{=5-9?M&vGMcy0+>9Q%7#rX(E$T`H&h^>hSv0SZ3z$}glhec9Ky`}e))9Yfie z2F5Vo&^ zDEJi~?|WbD|7-yU|KQ&RiiOxd&DvH=ur0C$Brss|s#kr%)WLb~xew5XKlq_ow(aw~ z&pq4j{mUIaBSYcsKk_3qdl-NF+ke>HAARyQn%;G8^zM!V29jLUw6Z+m<6%XE7^Je+ z*K_d?BVIzhli~VIpd$nolPESYNB%#SUmYj66#2H$;>UA2u6h2C)Cd9!eX)f7@@pw} zp#w>j4>dd5Cw;?IYN6mfkG8EP3Fpj$7;zaCN3X58{iu%~p0e|8&?A!(m<@Iu%#kEB z(wtmJ_Ytib&07!BRfz0KWZgV4l$jEbT4rU$Ujva)S&uG~%ZhteOH~<>{8p9w0B?t* zlnu7;wQrO4_V+VCGhQEm&ernSwxL7^r{3jZsuADz>rGh}luHc2XbB@;u`Wk*oxhO?fdL1+e8)4*9vt+)elA4k*URgl z-9o~|7B>oHm^7;Ovp5`@a_DYx3s&_$k&qAm9?5hv zUB@Ggw+OxTFW3T*dE2V;)Qdlba#x$sgEQCu=HK{#wZqvr*ghG1bTDhuB}NOkJl*QD!6xrVZ~pMPXvO`{(pR3D z1f;_2QDP3LEZFs$cdM7e5{Pov{}&3YkV_6YR|d%UTAn|E9ZASB+$!xYBN`+Of^wgWMDJ}&*o_1lDu`Lk_`3#w##eAp#{JCI+^=n zdD>b-aN}Tfo*lFv2T9MKYa^WQj7vIHb;U+3&&=%H0%o@4h-H|cS%e7ruIuEV@G$L4 zazs%_UHJ?ckCW|z|5dO4!o$@YoKi^e>zJ|nr;?16zWx9D?@#Hy=5=qNw|wL80cj2; z*bf`U&(m#C4i~*IxB~-lST$|Yxo(Z)zuyzh)#?=ABNbn+&l2(hDJHu@aH-H*9%EHe zm*I{V=<8GLq)ZPicz)dP@l8H!9@n`Fr&IW4z3*k2?blQGMHCb`el3u-{XVEg$`?_D zG&n&eFj1C(+~D>vr*L29P|`I(vYQA!u(a|L4A2xFynmgAmG73PTVWZ4P*(1X^s2jP zS8Jd4^%p5lk#=dRh14@Ww5P?;Cs1F<8`YYeSWQKF&>eIuMjJ{_#}hytEPQCdIS_IL z$*>~XLQ27!YWAr-F%nt z{pTQFnuhqkR9TL57zzx{4B z^Or1RyX;?&dDlDkfWo#yV=KR%yWtNy-3~>K4o0=Kp4tN@-~J!}M|%LH%k~Z<(-yFK z^H+S;Q2ra<@;m7}{*yn}aNqszBG(r9*v{w(Y25@izWgh`y4J3k-RSsoKmGehA-(oz zf&7_2{hyg&%-4SXzq_3Np; zQn9;I;)s>6I8X9h0t$9y3GNyqqv?`X+sxznvbP)soypAv_>I5oCcyCi=_-kddl%zN zH~0*?hI)4QV5NHP>tBE4X#K5rV)^|XE*gy3WRh7j0EZ9}8QC5V6;G}D#sm`+8^IF_ ziTOMSx77!=%|!9*gv?qxtY+4kVprZ;)%J_8-iMhDh=*Am3o>$X>D8L!>uu_ve2wvS zRR}>@7?14c!+@W@MrS=VbjQ`#9?%@>L+1${4HHDo_)Lk$zxHqq&kHCb9aKpS}Xfp{3- z&2@+dVNKd0YkQUPw);xUc%6-*EHy272Fnel(`t3^LK6cr3Y0<`b{wH*dQWFzdh8 z?%WO=wTFwIS-mmgqa!ttrJO~Pe<@}Alx%s>?gX}T$hL=jTm`WOOz?%z76jRR2pgP0 zjpTsWSJB(w_QQK%V*8C?+di@#hB{Qy!4`1Y_`UmG@7&Ms@aK1IumwSW@9+KB#}yY` zf))SfH-8KLC0OmT{bpa4QT&$zEq#9Q;w3W`lq+ekdClu~`4u+)+AdpwC(=(p=C9G= z+~ggN_q=aQ>KM%MXBbBK(;$eMR~)SR|A5EdbR58JZW-d%JWspJ;0DUTg4J#YKe?!IB%tV zI8K^$Y$jD8#b7=q7O&w_fUCLIFiHJafF9;zu;V~Wk5uglB>2;G6k3Ac>Y9##t#*x2 zcLC6QzQa}re&!%D#cgv6Y~dF_^(pjqzvZ{nU4lAyMeH8jDE`_#Sib(k%N$R; zZAW9DOnFd_$ppFCTtIr(@iW<>ugwaDex^iAgHOMX!HRx}sE)sS9)+WS8F>Of{A2xU z3Ve1}>eov4FQk++GFZP-QopJq?Mw_Rhk#0zqgaXU{!+hqqMvcCt31j!6RCSjO6|)* zrP2;b?XPLL(cE!1*)IB}wt8Q-op7T|eI<*2U8dIma?v0P^m7{v9ClfoStaR53%xXBfOSS@<~X=673(F#9y> zwoT)kzWEQ-^Ek|C+JiA$-iG60qqzk|zV5gD)`I%9u|uW%@|S%sebevzmOaprwbhpX&|UxEGmp2>+^AzV-!9A^`ge z4zv1#{3l~g#31i1pReUN|Ru7^(sY}Q&t6cB^yh;*b zCjO}|@>Vm?U7?b(RlVx>G7U<`D+Xp-mf#?=Z zeV2U%w5Il8kyo8LB_KJvc06Ih1Km+BPl@Rbzy4R7V*lx1_(2c^y&2u;!4$6Yi14#~ zzdEC@iU53vQ)&E(?|QaQ7F@TU=(`RLcBq^b^m1 zU|*G@t9F0o%U(t=fBCNpaP6uCrrB2Zkxwbp@3-sioD*G1vb9GPn90oI`SHIZC9W~{ z5|c@@R#0}yyVhTd@eew>Jh?`LAV8PZ?t?~qyV7=)oDMFb=9jEXY< z*K;+5>*rPXyh`IiIaLGRYK#B0E%)+OepX9DwceM@rMF$#+aiTl6{iGB%DEtNsV9M4 zL|eRW*S&FW%9|Z(k&Rw|+XqDBSqD~^HQ+P^$H1vEr5PMJ8coNbhnfJ$Xvt5+j5`+w zYt5c{fNv0-KSf6)4Gl*CIB}R#JTwqm$JKcXbT%%9LCDmxKd1wM1k!1*;WB>-YvGM- z^u!XR1zS=`U2^gC1yrgiqquxZWs~93;}rk8)5Zc=tUnnCY|mxnhy2FEmaF+c?)Jd{fbwd833VV(brL6oh{t=GCr-`k77qtGM0*Y zA6I{-o#z2{4xfo4uDy%|2J=pW8(9M+LqmKXIXu_+I?aYA&d|Msx)6l{3`|=&&jTL2 zgO({R&=)CK@gP&@XbFOJC7?xL$S>YKk}X7^>GV?zN^GfN7hR6Gt|CF0f< zT7>>JlbQA;020aoJ?#}>%CLxEF!FvROgmku1dW%G6$k$~>suSSn?{a^#^Sh+tzRbPhI#tML2%P?CKbvJ+@JTwgeTxvOLZ~m1iJK6+65kdYi(?47J4?@tNH`0vs=F_@P#E3v3L} z)2G3;?R5=wOTa#5+n?BPQNO3R=j+0>J_X0)pGpu|0!*MmM4Pk&n=0m@<; zxP5vK1(aoMpYr)v_^qvY*&`H0=3I;|pt7gm%>55aK;)u_kLssj>*rtFwi7*rqkKZP z%2{Z%V>ot(P1bU@NA*GAK~;k@qH=36qy?L6!u z((%N89P*RlKC;`U{aj<3G`&vLOR{GOrm(SmP?ArMtuwy-wZoPfzi`$&!pq9(goqA% z`4x%odrM#R^@fxU_B#&siC&wlrWJ%2UU;DtzIoH5K@1u9n1qiB$;u9w!U3s_yiWtC zM1R9|HZ(}6j!@QrexUP23J-{z84M0`bADapjpIsmXv9L|*FaPeE7~Xo(I%D&#d_*pBS0+To1N27x$ln~#CIhs?d{vy+`zfRkKhcm{vU5C5pswhc!VMeSx##6F zx4Fax9$Fv)>TU73qG7wh;M>XcG-jktHPFD#*)9KF07nlvZNUu+O03e{wR%0 zFUvhBR2u!#&f+Mk<$zSKpPEI@E_&1ZqCc>5I)n@n*AFHO{EfbPgq&_T23NtEv18GO zASs;@16yRyyUih>x~1-={8>kQlw$#h*%o0VNJzC$1-{`JNILrfIQ85ZvRX&>nkmSO zq(OX35BpKvy~R&x2Q>8>A0n})VmMP^gcti%+;1y>pwo{Wj0HHrqvPnoY}l+0L>@2M zu_w;rLe?;{IqN>P$3F=<`AOBe3=LQf5jOrCq0E{yD3sTTWh$<>-0o=)uwB zBR_S*8Sb&jt?aDlr8Ma@;N!Kf=+JXCG&$iJKH@kT>iplW-^CMz^EL25Q9LM=dQfDa zpn61vY(ui~zNl?ck?9F2nIYli{uUkQ<{YlP!=*Vi*UbnIhu+M#NyshE%k3hDK87im zQelsPgKG)$t_Dx+aZhdwdX;s`wHEsjRwmau9L>2=deb8&@-Hg!I(n{N1DsCptIsE+ zHZv)1uyVcb&noPS;e;n4sYHS)PLzjEB@@q$(vsRl$k+A-(DLNih2O)UHdw2s9AA*m> zH{cT>fdoQ_&_*1pbl{$s_b@B2D? zt?ufo>gww1>RP>e1;?HbIGUN>7e=~R$6Xd)7Iy{cFYfk8yE78Jz#^aZ6R)H}4Tb^Q z(XcO@&?_iG`^zf!1r*ZY2Rq!}DY0K+dF)5WI{-rX+KRuas=q5Rvd`*R0h8C)Sp4u( zcYs(t0PVR-nRA?<$mRow&p5gu;T??7x7QUR-d=5$YBFEk(Z0?+5+feExLobr0U zIy>a^G#6f}&`;%ush44>Nkka0H;qHgsHsc6(plbjbEe)*%CicpQzU@7a%HZ{?+!$n z(QrV8tB{Ps&s0IOOy^Pc5ieoT=CS;gAJm(uA(R>=#DyHJnRK!hV z>K44YOz~yV-4uL1MIDS>y|J}d3ZHdMF1Xd9cd}`r zVxZ;`WTrt7+fA}|p6Zue!UDARTGe9oO zA>j4+KEVcQpF8?Zc{mju@AASIWs_~n<2>TRHk3sbXm72@-p-bvT*w!{G~7@9cG4j& z<4bd$BbPuUf5d;rR=O~T)I z*y`MWIly+;bR)lq1lw)-eBh8McHHOcP-%NN)H-2x?A;-zzc*C z^A~~_48e;K(BN4$6{^LLyFtF7V!R@?aeL)U4s5xpC7%(-+cWZR@#_Z>L>j6fVP3sjfXro zCf%>*9j!OhdE|U+YG?-okidq)EJQb0>~*~B!EWB-0V6>jFupy~+ajFCZh_C1gpVC)@B-(3Edw$Ns|S&Tw?z2) zMO(}Q78`4U*Es%|=-wPGH}Z_*52VgMemF%La4NwR+&b;z`~rGsK##Ofz>VN=EWeJ~ z2R$J5v4{wIS>f%gD&UanbMa9hGB3fI)jVy+R6pj+kU!U>5m!#k$VZ%l&RrrG_lbT% zcunDm@6Gi5ddvUzfA_y975@5C$Vryxv~aET`T`58W;WRbWgkgxJ=foL7hg|NMv$F5 zB(7jlS|@lOaK0~sWG~VvT{+F}rZB3j6gbK6lsXNOE0%F;M?@2WJNPEN8^@Z5rQOld zt=T`C>iYb3Z|=+f#H%P*X(pKXg7P>Pbr;C<7d{_LU&uZYM?AfrvI&?71y()0&fzdd zoM2rZU~ojhphuxrE6~0&BB@7_wiAqbsq>d36NGdb+~@`_mf?Nim+HW$=00~^HUc~h z!ne}JJQJ=b#);~P#({P8+%mEcwBb_|nj~oK-LZa>4c-&|u{Jfc;0FsY%V3A^hCrp) zU4!3|Om;L&ym(8~eP{ z%02`(?$TvG!oBG5>EN(n;j*n$BBK@O;ofe+Swo63vs(s16wQ@IA8*0Xy;=T7%V z{1ns>I~!xo|FnY~vOo9w+!-RYcX;S`ET11R{}}wpDYRER%?S+&wfgLHIQ+=K{WB%MpGnKbcQ)i>(udbD14Sx5;r=Zg>9BsSQ-Lbg@kPmk0f6 zd}Edp2vEzgzp#ApsR!OdR^=~pjd{@ip>8ZAy6ix!_EF{jSiN8V>8VPg{L;dxXZHGwhSq$b)ehbkJ_kZN*WF7i+)*Nmy$FWpf zBB`umzZ2MS*!cTa#U#X01!9w8x+(asO&UO`=XOwd0MMnWtjojaMloO^7NCgSZj0X_ zTQLg#l&tUezk}ZN)Py0iN+JzE@ zU`j;66};=5)Y;5*;b`=LB?bMla zNN7ly&g@I7cT2zSSgM<-4z)}7!T{*Duc7~LzUDWjpL1V#vvV$=U^s(b_t9J9KiINt zNfO9yv3+|FIUe}S`cITdO|5P)v+o380FSMo2F__falL0A>zl;cUAx-psPwtK=P!J& zmAD2sUO3~|RhCIzJ1DGvkP|~)?-x6KQ|lq@zVkY8n5PCZUI&iu*H#|-I!eID`@D=@ z$ATgPuf?#Q-?2aMN>Y@Bw`@>U{(24UCSgA#guy1QBfl`9LHK74RynOhP|v!^(Eprx z+_Xb?`;AR=LeLjj($NL$z!Oa6am>cQcyljp(Loce?cZwbh1N1j|5FkdvutE;V=|d` z&Eu&qU*K&@*moOs?jxV@a&HT~Tk?2->#lCAAKd0gT~t0JiHe+$I1y7^$fE7!MB@Vr zlj8-q#|5T0_5L#5ae}3?pxI3qcU3I!ySYRHS7y}$1lu@`benKblcY=9$-JH+Yc(G(A(2Yn3N4rIj$DZsf z?U3^j5rN$n4Kt$8c8z*Ia5NvwfoE-`T^qX`Ek5!j&8sSCT75VPRwL+%<4ZvPbq^-kBp>B>Md5cxT#8!z403t;4aw!TEiM`rQ%o*$HTL{i8pPxXnb3IQf|S-uQ1waJrUL zg1EaNPVWlg(=1)v9S;7knT z`*{z~7Vy)r@CA|eSR&Ex4l8B+a+v=K(&7mJnwVd2lsshZ8^r@XA3%Et8R!*&U=NP$ zfW$+0aOhbbyami=VQ z6Rlsq3=&i&58RHAc{b+(o-W5#zPYZ$Zx`H8-oxI8ZuUPTNjj9re<$Wv4n22W83y@t zK%=)+-7VKlIn-;jc<2Ys=P_SOe#6h$3((#aFv*M6;<68T&UvX=Zo-Ci?Ki!bxWUWm zH<72g_~-y+J-*v)z5~Gf3diA;Q>FN=?tgCb&(Hhs`Yo>7%KX&Ac9=iN@rj*1i=A!R zP5k-#fTw?5h3=EQDGGtZMfbCuu-PH)hcH-)hm&%{GcIF7!54fLrScQJ2zM^_*&J9e zz1H%AedaylD=aWG3B_J+40S2v#GQH-Sd9aQeC`HARh7!x)yF6_sHG*9DI_#9uvn)85|L4SEqU_8@JzbseV@l8qO?7_OdP*r+bwT0N*0# z+_D4MM`*Ld_$wE=3ofiJAIk7P&C=niBOmJFeG9j-sSZv2a&nps7xKpmo~V6|CF9dE zyYY$fg!NKgZ#eBh%H9@gyE1^zW52Po^X0MkH$S%1@vs+Y_imGQn5Whiu~%NAIx&GU zdj0A-AF;i=g?nH1vOmH$BMOJDsh~xyvf1O;I|q%KCh=-zFoRMKJ#08zhnJOyL=*5X z^0n?a&4gV$sA>C9Rk~c9Ag=Z;kGPvfH^pu9?_gV%q%$DrIxS#D;AiNFy4zNw^Mm8_ z`mc7{fiH;nDMyfDOMk;i=7$TNke#K=%65j&w4n{K>|&wT!3vLwBwgnlmqOWrk?d4ZRG=4S zrn1fEPUi~zonWSWG%qK8RX7=;J|W#1Jd2I~zPBAIak|bX@)E&!NbG;bvNWK%nxuQJ zDl?inb=K??<$*zr{ac<~a{ympZk*mU|5sM}dnM?AX9T7k9@z*07-IO!7#wjvA;xDg)e7qtv19~9of!t6a(_8*V~LN zDRtxj^Z`ai7r%4Y(W#663D*Zw86FbVE0%=c86hRv$D%tdtya6>@%5Fr6OK`ATVqlW z86jWhqCm!HX>RIs)c1mKQaozvacn34N~R0tK!b<;$P<->Z4|<`Qsq6!9NY4S244yP zm~zK|MrsDjD_uFwbaDWqizgTLhVJ^7?2xdzT`#% zoE+=$MN5yiObY3_|6v}wWbLH-d!AWCbj<;2jZWVyg=YzMI!q5KD%_NxS&q9q$l?u8 zFGM1o|K=&Vd)uL-**~m1Ja#>)y*nx7xo3ensc&H;cuTOG25Y>e)zgH13 zobRJWaECG)x(YhPKW=h@!VvmMyWXRxS)iZ?vfQBH=1PXT9~%Gm#5ZGu%gz9d9DGaS z^hZ>!J{DE0)M0$4IFIu`;htGDEB zWcJ-4B{0z5+n!af1}MZD@4*R#$RQ|D$Sfh5OS| zw*t6eMb9tbJU&q&||#E4Rr#&UrlY6k$JZAF(|`cM`+DGrfDbDqgZ- zyb;AbNv1-thv63Sa}_?&k@b(=|GbmHS5634N)WUVe1!$7GS<&{-5>If#`zyUBF`pY z=Lv7%<(MJlv$wjm`VB!3V;cA;@FsFqFAtzT0P{fslB!{GYLiy!SZ)(HkXN>5n$mnd z9F2xvt5fPH9Sf8QMbmO4@r`mx4BW9oK>*U!$-I7oWxkyz`Cub~w`mf|*LTU>O1@j* zqY~=s;S?;GsZc^;5rX5OiIBd*NjIr{uRcF?7_uSfnx1!KHc9p0AOCw>wou3z*;XIBVv{(m=ZdNtW;z5p0L-bq@*$0$* zK*Iwtuh&hCS1SB^TT}Vt;fp|Pz2xL$ zpdADKVrW7Rc9@*O2PtpJbwM7Ubm)}coco<11)Y^xg3~|ItlhEyD%t`@SKOj8{Al8H zQ5e=-s3UNlRXA4Vj=(^7%;Y!As47%yN9MDx37E32?DI2Ss(N35P6+rqZ$%5gG4XKy zSqX9GF*pqZ>htc*|5Fn_I{XV742d!Lq4_l|ud!ewixbOSYW7W%i~EmRh8Xbc*Gw@_ zLjLFJPp0S-1pKg0CnqR9zQS#y;DU45avdu{LMl>Z-W}RaKAqXi)U{H zBl56UNCXbL6cxAk{Nr`9`U-C7^-kDT%u!OhbAz-l&6bfbk$i`1F%bc0qf=X_7}qyezzLU12@+njUdqrZ@JqQK$`Ga4I{GkJI$_nSFfWKxN@|L*^3eY@#|}gw7lp#;}ml z1rq|aWV3#Li;@jEvTRg&-duP=B%L~meu%eH9te{08Q?h5ZQGFTCl7-L=LMfV81K7! z0XKZr#DW^QV*_-8Fi;SJ3q+g`D}_GVbv0lA6X5f;=w@iia}Kx9zp@20RuJZ~9fk&LHdcj(( zi?gn1eRmLmFVqn*L&WBg8sqn#!UGk#yfgH^Lj#Y3YaNpU%82Avx zkM(f3$YWPzt$~MyLZCxA(AP|exmafI8^_HdqooPd_FyvbGVYys3F19w$M{@+HRZk) z>0$trX{nJDy`F|YxD5Ujv6HTKEg3%*-;>n}%qaVLlJ542u)c#en4=dtGHy%S>{ z_^J17f?_BW_8k=Dfdvlyz-u@mz}NQcI(ZR;8w`O5jjt@n#cXBjTwZuAII}jUh~fu6 zI4$l*m1iyO4T<>|l%^K1O#04qbS^plQA?Wd&?w1z&ih%gyvS4MPC z;uS+zr+yN5)rzCtA25G%$_8+gZOLDqv@RO<3zz3G6 zHOTAk>sOgt6V!t3fyT>Cv0w&#SbhQbM{b0CMJml}E8@&+4>H^zB(GCow@ZU}ek0`^ zKha4j+kZVpR#7H2$CRf8y}lX(4pWD@Airahbe$~b$8@!(X%4#Tu2cO`@L7z0B%!2L zDfV?Yi6`)oy8F~6?<8)n-btYqrlh#26m!VBIAPwYkpms~x%hb|KHgehG3@soFg`$> z$3GY0+4}D?eXRda++4%&->n~aX)r@OlVEU>P(vGuN6A@T8yI-Rs+$*uDuE56wzs%1 zv(JGVUM6fwFQ+OqA@~fe>BI96UQ@Bj2^aIYQ$u0)&W?Zw_#xf#!49|Ug+K@{sP)y7 z*G`UK*av&=``6t2u-8zYud8UFXYJI0-6y<1BP+JkV+BLRUkgELQjs`sRSLZAFQ;gH z!p=b0J4AJ7#!H@J{b2;We^*z=ef{(J?-D15*}K8Ikk`FnUXOzV7vxh=lTHgrFHGLU z{f1GNM2?$5bG|7dUZvPgvsp9V?WvC>4=8T_8ZlNb;xZ^MfhN1qwFC0PxW=;Pm%Dsw zN$>Of^;NUHZ?a0dS^(UU#~bUHylcbD@=Pt3-@Et> zQ1KW4u<0F}W%@tle~v}4*^Dxk{;PT4-wxdvQpd(y5l(~CSQVnXK^uSj0`soxP2*ph zs7e#~cr~YcO@;T)jQ&-Y%GpB$6R#&Tj{KEH(K6cZjr|vNeg{gVKYY}q5swG++*3Ft zHVX6ra22M3j#Qfx&e9OXK`V%WhmS_SQSY)`pTDqUgfx(04Yd2UcVZtj zy1tge)*gP?Qc%H}enIR@C$OVqI~Z#gEWr1lUz?x=>TKHfN?@WO2G{ezCk9Q&u7FQSqQ@1ce~x)q zc zHTc`1Yv@kNCfASj^Mvqwq|O7tj>0upxu}V6kob&Ly2!s^l!G1uo=mqI!7HXHfjrwx zEL=5_8<@}047KBE`LL{eATwe5SlOXcOwD@ih*hBP@Zd?r!yD#~``j#&yL|^Y(_a4{ z$yujp;3L15f`N{@*CM6|@~rMbhJ-J@68mAHsMp3Fl)sADJiUcFMqF}efFl=_R$Ey% z$w}AR7=_PO`bZRa@sc+2&GM?3(}o~-kWlcPC%W+a!E|aLAAZqd-A2rZvJCS*Q|G?j zpg*ylM@KRo?AO zJ?!m^#GP}~uF5k0%4zu9JnBvh-Ic**fxdQDIL~@uD(LDi6OahwWAZRxqI{5#bx`Pw zp6$MP1x~z zW#{V~HKEPodI238#-kfUZu)OFf!QK7rD1GoH~Oqam-}0j$Gryd^S6oeT)dp z6U~#ac&P)om89bSxurC6%~_M#sNj&19?hquTk9K!U+yf+P|rzp?(xKi9Lf;y3FcnP zoSj=G@b8o~K=c_&rp!FR_&9>*x*5+W>eY0HUk@u&_rEw|aKEH}RfQ9cwi7YNps%QK zoco&z*8>^_pVHntJYF%T^%hBaa|LFQyzt!FlvZ0%v8Al9tAPEu3TogYZu9w}-5jU; zMlXlKDl`dJA>!{Rr+4OzD{Ivj{5&TZzESppj=oc+9fBu7M|`2>mzdCWI~!a~x>1Ed zN4LJ@TWoZCdDi4_N}NU#GMO4$_zxba{z)y)B!}`c-f;n$=@tWkJiMEjt}RMa2NsjJ z;2YeW^m}rB+%2L~7Fll;ud7$+IYV-^ybhO9dJ&GibsZKpr@+P7h78A~Q2`8SaE1X` zuODTJ!412oxVwYw!2*6D4fxeO`+5qmuhhb;F-r!I=gH#ahmP_qpb_;$4=MG7No5~O zy7-FXSm<{^N%^9Ei0EQ^Uuzpo(9l=fpAUuIQ#cE}b{aZGaEnEdF$5oS*ID;)=uToP z0TE7m5U_WK7I3X6OOp=uiLXjCoeOv#Y)Ubkx4Cos%0op}$pC&ib>z9`opcSqSO5#a zoO%US@vIUV=UuQx^o8>s$pl?gl@CNx;TV zU^aRET10GZ#HY?p@hw2cDXsnJ|-UO+V6LkN4B#9vu?Cfp_Rg>rNKkWtYc z85+1?IIrXRB^5ok!^oL<*Aj}4(rS87S6))Mawvn@ziLQfGGYKt0tx;G{=Sn=gSUgj z)SE(Gj%GJIuaFL!`A*`*M76Xm_b8@Z%S_>`%q_cxY9LO z*yRJb=a>Nx*W`-GXZmLU8Lc8h@nE|f%gPfkGoRL{Ex)O(!yRY<%ow1HyEt?f&;Y=5 ziVcfFP}g==_R!lmEktFs*eA4;otfVN#&p+(ILa8QlthTiG;m%0C? zT--?Sz;EVcwuV+lN1&A=2lkcZf0ehSv zEpOt$_8+th07^cUj0{|TO~vWaTblx!`fKivubH%8QCV;{_bLp+hE^l&LxUIi4vK!x z72^~5Y1kCE5Z?rnUrC_`E;N$jL<~*`H;UY?#w1QP8C0JdIlXUBo4s3b2;bRz3IFP( zaT_v|yWOdbPaILy@PzuXwMS6GPY*7)Okk4Bah zHw{Bg+bVe5=#BK`GB##}E|l)2W{fqJed?dyO&?I-NOGqVx4<{jeMw*)9>_X23F^lm zro&x!zJM|xpCR3q%MN_H`{J*%*|^E@BafUj3asKDM_0=?_kf(>+d+0`93w2f0smR4 zX>>FEkJm&q+gHPrFYa5E@jtA3RXr~oq$$5jOtYOk`NjMet@GMoTX(?8aQ`tKx??wF z|AR*>Olvcn_c9Lgz~c*4*S|XGSy4&Q!>}el2=C-t-gG;q+xdur4k|56w#I`SxMq>^ z+N;qc{vxY@~Y%b9$P6Wm6`2z5(OcoJxu6K)hwG?%j9u7Y%uxB{?=wdrne??~zPPXr}R| z+!W;rHNvz7lqzRg?1!ES;%Y+3>_irTX@Nio)`uZ;h_ZQwCh8 z51Zu?m;I1>&4~I!6d#q-74lSmn@q1UR%-eXT6(~9BE^R$O!F8w*;5+_QW!5@nG5fENh}Szt3Cof4@v{d9#Fi~=btfH-bpuk>m3ZgC!%65CH+o# zPxnpg7UEp2f&`Q}6KP&mA7-sZ$``D3!W%;U$YbbgzTUHj9W_^YUF%XGr-5>}0tt<%t@l^}SPPN@d{df}blpILV|`q5~rTm5W+e zECye|u6;z~c<+LG_ktVLQ0ch&jFkEc%}m#&e1(ffpsXcV8WOOLfZrmIvqgycOs9!y z#_KwfEcm(vP-$wO$+$_c;Cx`MmWlGoZH0QzejjHi4t{f4V2_>N^+iK_Y8LE%a9a2@ zC_UZ9of<0R3Q@n8 ztHA;0;$2;tQf95ZCrJl6{F9ajx#Y2zue*DqPZROoq!DYs*8B|TV+ZevW)mk(c^`VOZ%3vch~Qxy-v4lO~ECbgo=3xmvDVz>beo>=@(KMUN@n} z0O*@?-K#Axpf7@$HC*D4j|u|@Ea0yJ3$&5sSUVo74L#M+l6~#5fm2Jk=eNuQQI=khd%Q}M z@i0{T(g@JOj`VBa;jyMmZUP+P6PB#!btp%jyl`j8V*@_+w7-G`qF+>bMG*85QGG7G z>Fxjqg$UF>?}FAwj36tQ<;Jtif4-e$=*+*`%1hHZ$>@P;R$_# zP^r0r*4TLA_=|ps%GmuB8K%QtBNL0Db2m`%2?3{qi+U&cQ)(E_%Y@szIJh9VO_R;s!7(`tgM*}F$xT5<@RWfYDq64^!A03J1s%31mP;`$BrA4z!!hfnXWU)gLhomoPdNQ>e)8*nh4_-!?+u?Sh% zT`RCQVmO>(@rmh0x$FB0J}lkSymk_LhWWlt>r8UC^edC=y$3SlWahg+avgijwC-NO z>#Pmkh0zdZt-C%-zlvpN1(7KZJ?Jzv&#EoXc8&P!n5>mCpUkPSd*{?Ly1ByhM47dE zQ`AZTb55Q92(|2zn}}SJ%>!2=6H|9mCX?$6U0bHzqdjBXuRkO4H-S{!&Btolmg5wL5^a4crsk%z05nj(39GhI zJ?l~Q+~9VgV0U;u*JI|=te($H2Hh_6&HAu-$6nI&BhGl(Wx-g^wVZ}o-Rd`Gr1^cn z3P=2m^%5>P$dfea5MNu-KmUS>9rkIw#&bHfjv%kx;O1Cnu%diF_Mi0~KR+G2Ch=!5 z;kn!5A+9Np-HOL1^+fj2iCL6;Z|g(WSssu5r_l!{*hM4IQMA9NLcYW?8R;+#f?n|A z2nf#OKtOIH+^jh6Cbza-011buP`1rn)brjh4mCZx@8$q}M&S4HBBXX|5Abi$XP1MU zG4y!kSQh|2uXT%LxUM;Mw4d7}O)Zg{*JGza-bt1dzFw1ix}4y^Hub?y8!!8Y54=&S zAJvM>k}#y=lYdrv$C3F=x+fZZC_CLl^-j;Fxz4|zl4j>t?cRd$kumi>vPNyla zSJu@%kN%0)q^;LF_45dBEIQQNzC-do06w}o*SDFqw>gXxSxe(%$|iE`9!8i3c3H{9 zG@jeB`4Z$)UMGvK*Glxg7d>yIoTssoiNH%e{yNIutm%<~O8_@t?;_z=pO)ox{jQmfj!!K)TC8s!TRf2Nu9aRkwygycnvLV9S>HEO zH#2-Ax|5u4qWD(w*~k~W#no`-T}xfC@4fWd27a2k-y<&xXV%7P;;eY~!(?{H+z{Ar z_D1etzRLkoU6>{`EzXn8+HeiKkt?P%pB(@ARF2uJJ=_}MlS`8t9wy&ZZvCPq105c4 zQ|@p|_!%4rq`)ovCAh&DOki(M=4oI1ftfoP!5Uof*HL(VDi!K>`k->dS7uglU>__h zo437r{q=Da@o>|^sqnjOV}4dyK@hQk#uLXwEZSjk&YQUOz%_Whfc&J<_4(J-7z=_p zUYvb43c|6^pJcGG?>*=KjOThH8Sp~=_pTU{kIrZ95UYBQYAAGqzezT!WO6BQAOLWI zdv|LSU_H+&QxnSK;L&q&)QsJCXacvFW2JU6!3{WH(;M;x^To?=4T@>80}CiWYXI@S z9g6dGd$hhw;lmt#V=5-h^E$=rls1n68ScM1#gTyrj@qn2?@5vy?2RN^QE*enG%rcs z>*0=z(>S|&WOhaEgLXSz+k}^rzRFql00@{$&==9!RU&Ve&kYYo=LYNdnu`WT;x3J_ zd5)ny5X8WIGj0O+^spcV%sz1^25;i_=!$b7!wHt#?J9+YQ5Nuv%V}f0nv;ry*L5}xV zRxFUAxLNDN*HBi*10?mz4-UZkno9_77zb6V1nrD@t0}MdQN*V#4|;ri;={f7Ygkkk z_xyy1HqjYuhw0#;~KZ&vYafh#VS ze|SX+Y{Su4dM7XG&mHmeAgY<|+X?kD?8i#KN17GV1RU|) z(RoGxNtUe=)4t^p=7_(!M!e?{v)^YckbSibBRBBAm#(I4xKTMXBU^{;MU3M>zMqCQhvmi{8e%&!B%Y;#uHzAR20{D}C%Qu*90C{woh=BX z$e=y~52TgJ#OB0xicB!TqUz-UMi=CW*K8X^-q~_~tcdUU z5f~HbqB2LN@2vD6R~ls3fzbu%b;k|q6q2}ClMm$qJ0~WEj)&^LpJbx^jj2;iK6W4H zYC|V>en2iWmm`}p73Zg@aL2&}H{V8FO$k$c;?KU@fWRS-3+F3dxRMU5p0n)3j7AvL z=*XRV%JFq}689O@`Y@B{0LIuBz|_KEeWF>O5X9+d)83J>?`7Znr(z$8cdC3^Kx`;) z?|1v~eW1mUY8c_Gn*Ig&URJ=?Xh zY#rmnkTs6^_42W-_w$r5ufx67xSgunft}X*U0NsBKB>DTMDJ49#iU*DE79>tM13ge zMq8VK79WplDP6bRU1)#h5g8 zxWhpsjn|b_YcAne6^k2Xx{*3Zh$o)jN#CHqZ{y=s-e_Z|OH609A9pWrq-p_h?#2MW zq#B4}!b}%sC(S+uJ1~TVf7kRP_gtXjqARcQy7Votu}Hp2jh5u!x77Ef@v?2HV>I%w z&(Sy&uHFB3y4vKC0~g>=6jU3ZuI%lf4o-g=I@M45N;@&)!vA&N2IatnH2YOFZ+%zR z*%1+u_-$D#i4E9VY%Sj>c^GJ+OChk)N0EFuIH^6&F$GtpOVgl^Lm=yh9LlbS;mst6 z{LI{BZ+T$ra<=9}`8SM`+li@8)^sga^lG|%x{2o&Z!!{{G$0#mqMp@-gh$iMALhSP zh)>W}!-p+|lx8XhaA_SS9x0siOs0DeAJXY-zT1Aj2XnbNIniBZlD~`@em4wVjm9*N z3c@RQK{o^Vt_|sMy+E02(82Lo9>N*~xF)PQnRm1UTzO@rSFd%4L@W8rz($5;xPFv2 z+nFdJLvQ~Bc-Doo2SwtSRyrM>`t(&-USCmBocv(u$Dd*?PCEuP9>$L!Hp<46@9ub= zzhPxhSn)GAUgeB>z|Q3Qg39ww_K6^CcZUWroTex7ud#rC$EiD%_WdMDls5l!vg(Q( zPhjLcbeKM6PUOT0;$(V1VL+5FG`k%;H%L7H5g*c!OSff$B&FtYGwwSs(H7=;^LFoy zHZhH}OEDo#Y80Pn6CHuZd2D8*&5#+sdgENlzoRCo4xQ<$s||WD=~(%MG1w-d9{)RX zKfs`Ggk?hS$@vyRwUt#?xI)5!M}<4zV{e?6DF}~vc=)}-gE*wD);a-q*Po+9m$vpM z$@sMq0Oo{BT?a`Z*=%tztbTcOL6MjDdJrdOHPu*QHyxku0S*}O z9U1F<4!&raK9b41JM{MPcyQPqg6NvSg)Ig1AsT5k=R zEV)(TDw=~h)y~wuF-;cWGeCqBDB4^vN?#RS>7*-tY3W-bonsvO&tXczu{i!5`;ckWBBG&s{scsS=zWz^TV>_@_(e-Gjk z;K7dM*!B`60X~8}6W>90uje++C)efrrhn$5I1*JfbiLYSdu z%}4JghG_;bTocmYz$#O$Xn$QIor2{(tn1OfC@2z`4ul=XEtn>p;t!3kfw# zYx!RT5Sao#C|L8qzBNMl+zjFr5g$jTeCrPA{*Bto4Ylu>a&P8AGmT%Kkld;K zS*aTvxrZ*~H?4wsfO|V}`n#7VHfmm+OlmL>^5q>4xViqsezb8YXVPuKS)REhau0Pc zg9{zDJMiC%@2Y*=Ld%W%MF#yWN#~$O#HN=%<3!xSwc%{*G9TDCSQGmVZF%MgjD3q& zv#N&Z%t$;uk1D~4Sbs{k6GT_{%n+MMJYw*KmF9zbndSSYOo&E)tv&XI6L08?CI$^w z7;v4Fp@*FAI&FZ47T>yCMaX|Q1z!BE<1Ⓢ?Mns^(-U?%oKLLrUFy`lejuC8%zu@ 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 z%0A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

(oci3puU94$Q+oDoh;Ho`N!z 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�?6 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

    F)eM~#m) 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

    PU0KoleNn1gnE2|beibj=ztHW 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%0DD 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 z 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 YN%TJy@Y7y$BmAx)tNOI~iRs(_2mAoH Date: Thu, 20 Jun 2024 13:26:03 -0700 Subject: [PATCH 107/354] Update TOC Remove enhanced-diagnostic-data-windows-analytics-events-and-fields --- windows/privacy/toc.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index ab8ba5cf43..8d18cdd2dc 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -27,8 +27,6 @@ items: - name: Windows 10, version 1709 and later and Windows 11 optional diagnostic data href: windows-diagnostic-data.md - - name: Windows 10 diagnostic data events and fields collected through the limit enhanced diagnostic data policy - href: enhanced-diagnostic-data-windows-analytics-events-and-fields.md - name: Manage Windows connected experiences items: - name: Manage connections from Windows operating system components to Microsoft services From 856ca7e823d9298f4587eac146b67dd717a4fac3 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 21 Jun 2024 12:26:29 -0400 Subject: [PATCH 108/354] [Cred Guard] Server 2025 include file --- .../identity-protection/credential-guard/configure.md | 3 +-- .../credential-guard/considerations-known-issues.md | 6 ++---- .../identity-protection/credential-guard/index.md | 3 +-- windows/security/includes/windows-server-2025-preview.md | 9 +++++++++ 4 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 windows/security/includes/windows-server-2025-preview.md diff --git a/windows/security/identity-protection/credential-guard/configure.md b/windows/security/identity-protection/credential-guard/configure.md index d108d589ab..fee6dbbc20 100644 --- a/windows/security/identity-protection/credential-guard/configure.md +++ b/windows/security/identity-protection/credential-guard/configure.md @@ -11,8 +11,7 @@ This article describes how to configure Credential Guard using Microsoft Intune, ## Default enablement -> [!IMPORTANT] -> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +[!INCLUDE [windows-server-2025-preview](../../includes/windows-server-2025-preview.md)] Starting in Windows 11, 22H2 and Windows Server 2025 (preview), Credential Guard is [enabled by default on devices which meet the requirements](index.md#default-enablement). diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index ac6539336e..b52bfea7e9 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -11,8 +11,7 @@ Microsoft recommends that in addition to deploying Credential Guard, organizatio ## Upgrade considerations -> [!IMPORTANT] -> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +[!INCLUDE [windows-server-2025-preview](../../includes/windows-server-2025-preview.md)] As Credential Guard evolves and enhances its security features, newer versions of Windows running Credential Guard might affect previously functional scenarios. For instance, Credential Guard could restrict the use of certain credentials or components to thwart malware exploiting vulnerabilities. @@ -123,8 +122,7 @@ This article describes known issues when Credential Guard is enabled. ### Live migration with Hyper-V breaks when upgrading to Windows Server 2025 (preview) -> [!IMPORTANT] -> Windows Server 2025 is in previeww. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +[!INCLUDE [windows-server-2025-preview](../../includes/windows-server-2025-preview.md)] Devices that use CredSSP-based Delegation might no longer be able to use [Live Migration with Hyper-V](/windows-server/virtualization/hyper-v/manage/live-migration-overview) after upgrading to Windows Server 2025 (preview). Applications and services that rely on live migration (such as [SCVMM](/system-center/vmm/overview)) might also be affected. CredSSP-based delegation is the default for Windows Server 2022 and earlier for live migration. diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 49a794950b..fcbe9884bb 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -22,8 +22,7 @@ When enabled, Credential Guard provides the following benefits: ## Default enablement -> [!IMPORTANT] -> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. +[!INCLUDE [windows-server-2025-preview](../../includes/windows-server-2025-preview.md)] Starting in **Windows 11, 22H2** and **Windows Server 2025 (preview)**, VBS and Credential Guard are enabled by default on devices that meet the requirements. diff --git a/windows/security/includes/windows-server-2025-preview.md b/windows/security/includes/windows-server-2025-preview.md new file mode 100644 index 0000000000..2fb5482de1 --- /dev/null +++ b/windows/security/includes/windows-server-2025-preview.md @@ -0,0 +1,9 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 06/21/2024 +ms.topic: include +--- + +> [!IMPORTANT] +> Windows Server 2025 is in preview. This information relates to a prerelease product that may be substantially modified before it's released. Microsoft makes no warranties, expressed or implied, with respect to the information provided here. From 0e093e9a926ee4a806a1e94b7912c2ed5899b0ba Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 21 Jun 2024 11:02:53 -0600 Subject: [PATCH 109/354] May CSP Updates --- .../mdm/activesync-ddf-file.md | 4 +- .../mdm/applicationcontrol-csp-ddf.md | 4 +- .../mdm/applocker-ddf-file.md | 4 +- .../mdm/assignedaccess-ddf.md | 4 +- .../mdm/bitlocker-ddf-file.md | 4 +- .../mdm/certificatestore-ddf-file.md | 4 +- .../mdm/clientcertificateinstall-ddf-file.md | 6 +- .../client-management/mdm/clouddesktop-csp.md | 61 +++++++- .../mdm/clouddesktop-ddf-file.md | 65 +++++++- .../mdm/declaredconfiguration-ddf-file.md | 4 +- windows/client-management/mdm/defender-csp.md | 143 +++++++++++++++++- windows/client-management/mdm/defender-ddf.md | 102 ++++++++++++- .../mdm/devdetail-ddf-file.md | 4 +- .../mdm/devicemanageability-ddf.md | 4 +- .../mdm/devicepreparation-ddf-file.md | 4 +- .../client-management/mdm/devicestatus-ddf.md | 4 +- .../client-management/mdm/devinfo-ddf-file.md | 4 +- .../mdm/diagnosticlog-ddf.md | 4 +- .../client-management/mdm/dmacc-ddf-file.md | 4 +- .../mdm/dmclient-ddf-file.md | 6 +- .../client-management/mdm/email2-ddf-file.md | 4 +- ...enterprisedesktopappmanagement-ddf-file.md | 6 +- .../mdm/enterprisemodernappmanagement-ddf.md | 6 +- .../client-management/mdm/euiccs-ddf-file.md | 4 +- .../mdm/firewall-ddf-file.md | 4 +- .../mdm/healthattestation-ddf.md | 4 +- .../mdm/language-pack-management-ddf-file.md | 4 +- .../client-management/mdm/laps-ddf-file.md | 4 +- .../client-management/mdm/networkproxy-ddf.md | 4 +- .../mdm/networkqospolicy-ddf.md | 4 +- .../mdm/nodecache-ddf-file.md | 6 +- windows/client-management/mdm/office-ddf.md | 6 +- .../mdm/passportforwork-csp.md | 52 +------ .../mdm/passportforwork-ddf.md | 45 +----- .../mdm/personaldataencryption-ddf-file.md | 4 +- .../mdm/personalization-csp.md | 10 +- .../mdm/personalization-ddf.md | 14 +- .../mdm/policies-in-policy-csp-admx-backed.md | 4 +- ...in-policy-csp-supported-by-group-policy.md | 3 +- ...-in-policy-csp-supported-by-surface-hub.md | 3 +- .../mdm/policy-csp-admx-terminalserver.md | 52 ++++++- .../mdm/policy-csp-deliveryoptimization.md | 18 +-- .../mdm/policy-csp-internetexplorer.md | 56 ++++++- .../mdm/policy-csp-remotedesktopservices.md | 6 +- .../mdm/policy-csp-update.md | 65 +++++++- .../mdm/policy-csp-windowsai.md | 5 +- .../mdm/printerprovisioning-ddf-file.md | 4 +- .../client-management/mdm/reboot-ddf-file.md | 4 +- .../mdm/rootcacertificates-ddf-file.md | 6 +- .../mdm/secureassessment-ddf-file.md | 4 +- .../mdm/sharedpc-ddf-file.md | 4 +- .../client-management/mdm/supl-ddf-file.md | 4 +- .../client-management/mdm/vpnv2-ddf-file.md | 6 +- .../client-management/mdm/wifi-ddf-file.md | 6 +- ...indowsdefenderapplicationguard-ddf-file.md | 4 +- .../mdm/windowslicensing-ddf-file.md | 4 +- .../mdm/wirednetwork-ddf-file.md | 6 +- 57 files changed, 653 insertions(+), 231 deletions(-) diff --git a/windows/client-management/mdm/activesync-ddf-file.md b/windows/client-management/mdm/activesync-ddf-file.md index b48213ce4d..e3debc8c7e 100644 --- a/windows/client-management/mdm/activesync-ddf-file.md +++ b/windows/client-management/mdm/activesync-ddf-file.md @@ -1,7 +1,7 @@ --- title: ActiveSync DDF file description: View the XML file containing the device description framework (DDF) for the ActiveSync configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/applicationcontrol-csp-ddf.md b/windows/client-management/mdm/applicationcontrol-csp-ddf.md index 6b5054eb37..e701a8b0ec 100644 --- a/windows/client-management/mdm/applicationcontrol-csp-ddf.md +++ b/windows/client-management/mdm/applicationcontrol-csp-ddf.md @@ -1,7 +1,7 @@ --- title: ApplicationControl DDF file description: View the XML file containing the device description framework (DDF) for the ApplicationControl configuration service provider. -ms.date: 01/31/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.18362 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/applocker-ddf-file.md b/windows/client-management/mdm/applocker-ddf-file.md index f712663818..c8d03d6d27 100644 --- a/windows/client-management/mdm/applocker-ddf-file.md +++ b/windows/client-management/mdm/applocker-ddf-file.md @@ -1,7 +1,7 @@ --- title: AppLocker DDF file description: View the XML file containing the device description framework (DDF) for the AppLocker configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/assignedaccess-ddf.md b/windows/client-management/mdm/assignedaccess-ddf.md index 5b113fb30f..8bc008e978 100644 --- a/windows/client-management/mdm/assignedaccess-ddf.md +++ b/windows/client-management/mdm/assignedaccess-ddf.md @@ -1,7 +1,7 @@ --- title: AssignedAccess DDF file description: View the XML file containing the device description framework (DDF) for the AssignedAccess configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/bitlocker-ddf-file.md b/windows/client-management/mdm/bitlocker-ddf-file.md index 738dea71d0..6015905cf3 100644 --- a/windows/client-management/mdm/bitlocker-ddf-file.md +++ b/windows/client-management/mdm/bitlocker-ddf-file.md @@ -1,7 +1,7 @@ --- title: BitLocker DDF file description: View the XML file containing the device description framework (DDF) for the BitLocker configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the B 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/certificatestore-ddf-file.md b/windows/client-management/mdm/certificatestore-ddf-file.md index 34d7637fbe..8ab2380099 100644 --- a/windows/client-management/mdm/certificatestore-ddf-file.md +++ b/windows/client-management/mdm/certificatestore-ddf-file.md @@ -1,7 +1,7 @@ --- title: CertificateStore DDF file description: View the XML file containing the device description framework (DDF) for the CertificateStore configuration service provider. -ms.date: 01/31/2024 +ms.date: 06/19/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the C 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/clientcertificateinstall-ddf-file.md b/windows/client-management/mdm/clientcertificateinstall-ddf-file.md index 2d9b0700a3..c77ddb1695 100644 --- a/windows/client-management/mdm/clientcertificateinstall-ddf-file.md +++ b/windows/client-management/mdm/clientcertificateinstall-ddf-file.md @@ -1,7 +1,7 @@ --- title: ClientCertificateInstall DDF file description: View the XML file containing the device description framework (DDF) for the ClientCertificateInstall configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the C 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -1162,7 +1162,7 @@ Valid values are: 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/clouddesktop-csp.md b/windows/client-management/mdm/clouddesktop-csp.md index e249d20ca8..400b655707 100644 --- a/windows/client-management/mdm/clouddesktop-csp.md +++ b/windows/client-management/mdm/clouddesktop-csp.md @@ -1,7 +1,7 @@ --- title: CloudDesktop CSP description: Learn more about the CloudDesktop CSP. -ms.date: 03/05/2024 +ms.date: 06/19/2024 --- @@ -19,12 +19,14 @@ ms.date: 03/05/2024 The following list shows the CloudDesktop configuration service provider nodes: - ./Device/Vendor/MSFT/CloudDesktop - - [BootToCloudPCEnhanced](#boottocloudpcenhanced) - - [EnableBootToCloudSharedPCMode](#enableboottocloudsharedpcmode) + - [BootToCloudPCEnhanced](#deviceboottocloudpcenhanced) + - [EnableBootToCloudSharedPCMode](#deviceenableboottocloudsharedpcmode) +- ./User/Vendor/MSFT/CloudDesktop + - [EnablePhysicalDeviceAccess](#userenablephysicaldeviceaccess) -## BootToCloudPCEnhanced +## Device/BootToCloudPCEnhanced | Scope | Editions | Applicable OS | @@ -76,7 +78,7 @@ This node allows to configure different kinds of Boot to Cloud mode. Boot to clo -## EnableBootToCloudSharedPCMode +## Device/EnableBootToCloudSharedPCMode > [!NOTE] > This policy is deprecated and may be removed in a future release. @@ -129,6 +131,55 @@ Setting this node to "true" configures boot to cloud for Shared PC mode. Boot to + +## User/EnablePhysicalDeviceAccess + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ❌ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ❌ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | + + + +```User +./User/Vendor/MSFT/CloudDesktop/EnablePhysicalDeviceAccess +``` + + + + +Configuring this node gives access to the physical devices used to boot to Cloud PCs from the Ctrl+Alt+Del page for specified users. This node supports these options: 0. Not enabled 1. Enabled. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `bool` | +| Access Type | Add, Delete, Get, Replace | +| Default Value | false | + + + +**Allowed values**: + +| Value | Description | +|:--|:--| +| false (Default) | Access to physical device disabled. | +| true | Access to physical device enabled. | + + + + + + + + ## BootToCloudPCEnhanced technical reference diff --git a/windows/client-management/mdm/clouddesktop-ddf-file.md b/windows/client-management/mdm/clouddesktop-ddf-file.md index 98427f9e32..6efe3ed695 100644 --- a/windows/client-management/mdm/clouddesktop-ddf-file.md +++ b/windows/client-management/mdm/clouddesktop-ddf-file.md @@ -1,7 +1,7 @@ --- title: CloudDesktop DDF file description: View the XML file containing the device description framework (DDF) for the CloudDesktop configuration service provider. -ms.date: 03/05/2024 +ms.date: 06/19/2024 --- @@ -17,6 +17,69 @@ The following XML file contains the device description framework (DDF) for the C 1.2 + + CloudDesktop + ./User/Vendor/MSFT + + + + + The CloudDesktop configuration service provider is used to configure different Cloud PC related scenarios. + + + + + + + + + + + + + + 99.9.99999 + 2.0 + 0x4;0x30;0x31;0x7E;0x87;0x88;0x88*;0xA1;0xA2;0xA4;0xA5;0xB4;0xBC;0xBD;0xBF; + + + + EnablePhysicalDeviceAccess + + + + + + + + false + Configuring this node gives access to the physical devices used to boot to Cloud PCs from the Ctrl+Alt+Del page for specified users. This node supports these options: 0. Not enabled 1. Enabled. + + + + + + + + + + Enable access to physical device + + + + + + false + Access to physical device disabled + + + true + Access to physical device enabled + + + + + CloudDesktop ./Device/Vendor/MSFT diff --git a/windows/client-management/mdm/declaredconfiguration-ddf-file.md b/windows/client-management/mdm/declaredconfiguration-ddf-file.md index 95751f45be..031be873a8 100644 --- a/windows/client-management/mdm/declaredconfiguration-ddf-file.md +++ b/windows/client-management/mdm/declaredconfiguration-ddf-file.md @@ -1,7 +1,7 @@ --- title: DeclaredConfiguration DDF file description: View the XML file containing the device description framework (DDF) for the DeclaredConfiguration configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 99.9.99999 9.9 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/defender-csp.md b/windows/client-management/mdm/defender-csp.md index bd54fa0edc..89c079aeea 100644 --- a/windows/client-management/mdm/defender-csp.md +++ b/windows/client-management/mdm/defender-csp.md @@ -1,7 +1,7 @@ --- title: Defender CSP description: Learn more about the Defender CSP. -ms.date: 05/20/2024 +ms.date: 06/19/2024 --- @@ -33,6 +33,9 @@ The following list shows the Defender configuration service provider nodes: - [BruteForceProtectionConfiguredState](#configurationbehavioralnetworkblocksbruteforceprotectionbruteforceprotectionconfiguredstate) - [BruteForceProtectionExclusions](#configurationbehavioralnetworkblocksbruteforceprotectionbruteforceprotectionexclusions) - [BruteForceProtectionMaxBlockTime](#configurationbehavioralnetworkblocksbruteforceprotectionbruteforceprotectionmaxblocktime) + - [BruteForceProtectionPlugins](#configurationbehavioralnetworkblocksbruteforceprotectionbruteforceprotectionplugins) + - [BruteForceProtectionLocalNetworkBlocking](#configurationbehavioralnetworkblocksbruteforceprotectionbruteforceprotectionpluginsbruteforceprotectionlocalnetworkblocking) + - [BruteForceProtectionSkipLearningPeriod](#configurationbehavioralnetworkblocksbruteforceprotectionbruteforceprotectionpluginsbruteforceprotectionskiplearningperiod) - [RemoteEncryptionProtection](#configurationbehavioralnetworkblocksremoteencryptionprotection) - [RemoteEncryptionProtectionAggressiveness](#configurationbehavioralnetworkblocksremoteencryptionprotectionremoteencryptionprotectionaggressiveness) - [RemoteEncryptionProtectionConfiguredState](#configurationbehavioralnetworkblocksremoteencryptionprotectionremoteencryptionprotectionconfiguredstate) @@ -364,7 +367,7 @@ Control whether network protection can improve performance by switching from rea | Value | Description | |:--|:--| | 1 | Allow switching to asynchronous inspection. | -| 0 (Default) | Don’t allow asynchronous inspection. | +| 0 (Default) | Don't allow asynchronous inspection. | @@ -752,6 +755,142 @@ Set the maximum time an IP address is blocked by Brute-Force Protection. After t + +##### Configuration/BehavioralNetworkBlocks/BruteForceProtection/BruteForceProtectionPlugins + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 1607 [10.0.14393] and later | + + + +```Device +./Device/Vendor/MSFT/Defender/Configuration/BehavioralNetworkBlocks/BruteForceProtection/BruteForceProtectionPlugins +``` + + + + + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `node` | +| Access Type | Get | + + + + + + + + + +###### Configuration/BehavioralNetworkBlocks/BruteForceProtection/BruteForceProtectionPlugins/BruteForceProtectionLocalNetworkBlocking + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 1709 [10.0.16299] and later | + + + +```Device +./Device/Vendor/MSFT/Defender/Configuration/BehavioralNetworkBlocks/BruteForceProtection/BruteForceProtectionPlugins/BruteForceProtectionLocalNetworkBlocking +``` + + + + +Extend brute-force protection coverage in Microsoft Defender Antivirus to block local network addresses. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `int` | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + + + +**Allowed values**: + +| Value | Description | +|:--|:--| +| 0 (Default) | Brute-force protection won't block local network addresses. | +| 1 | Brute-force protection will block local network addresses. | + + + + + + + + + +###### Configuration/BehavioralNetworkBlocks/BruteForceProtection/BruteForceProtectionPlugins/BruteForceProtectionSkipLearningPeriod + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 1709 [10.0.16299] and later | + + + +```Device +./Device/Vendor/MSFT/Defender/Configuration/BehavioralNetworkBlocks/BruteForceProtection/BruteForceProtectionPlugins/BruteForceProtectionSkipLearningPeriod +``` + + + + +Skip the 2-week initial learning period, so brute-force protection in Microsoft Defender Antivirus can start blocking immediately. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `int` | +| Access Type | Add, Delete, Get, Replace | +| Default Value | 0 | + + + +**Allowed values**: + +| Value | Description | +|:--|:--| +| 0 (Default) | Brute-force protection blocks threats only after completing a 2-week learning period. | +| 1 | Brute-force protection starts blocking threats immediately. | + + + + + + + + #### Configuration/BehavioralNetworkBlocks/RemoteEncryptionProtection diff --git a/windows/client-management/mdm/defender-ddf.md b/windows/client-management/mdm/defender-ddf.md index a7f5fe4029..e5da0f2590 100644 --- a/windows/client-management/mdm/defender-ddf.md +++ b/windows/client-management/mdm/defender-ddf.md @@ -1,7 +1,7 @@ --- title: Defender DDF file description: View the XML file containing the device description framework (DDF) for the Defender configuration service provider. -ms.date: 05/20/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -3596,6 +3596,104 @@ The following XML file contains the device description framework (DDF) for the D + + BruteForceProtectionPlugins + + + + + + + + + + + + + + + + + + + BruteForceProtectionLocalNetworkBlocking + + + + + + + + 0 + Extend brute-force protection coverage in Microsoft Defender Antivirus to block local network addresses. + + + + + + + + + + + + + + 10.0.16299 + 1.3 + + + + 0 + Brute-force protection will not block local network addresses + + + 1 + Brute-force protection will block local network addresses + + + + + + BruteForceProtectionSkipLearningPeriod + + + + + + + + 0 + Skip the 2-week initial learning period, so brute-force protection in Microsoft Defender Antivirus can start blocking immediately. + + + + + + + + + + + + + + 10.0.16299 + 1.3 + + + + 0 + Brute-force protection blocks threats only after completing a 2-week learning period + + + 1 + Brute-force protection starts blocking threats immediately + + + + + BruteForceProtectionExclusions diff --git a/windows/client-management/mdm/devdetail-ddf-file.md b/windows/client-management/mdm/devdetail-ddf-file.md index 6f562d58b4..8e200f88b4 100644 --- a/windows/client-management/mdm/devdetail-ddf-file.md +++ b/windows/client-management/mdm/devdetail-ddf-file.md @@ -1,7 +1,7 @@ --- title: DevDetail DDF file description: View the XML file containing the device description framework (DDF) for the DevDetail configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/devicemanageability-ddf.md b/windows/client-management/mdm/devicemanageability-ddf.md index cecd7dd921..59cd0e48a0 100644 --- a/windows/client-management/mdm/devicemanageability-ddf.md +++ b/windows/client-management/mdm/devicemanageability-ddf.md @@ -1,7 +1,7 @@ --- title: DeviceManageability DDF file description: View the XML file containing the device description framework (DDF) for the DeviceManageability configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.14393 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/devicepreparation-ddf-file.md b/windows/client-management/mdm/devicepreparation-ddf-file.md index 06ec069113..be9a944b76 100644 --- a/windows/client-management/mdm/devicepreparation-ddf-file.md +++ b/windows/client-management/mdm/devicepreparation-ddf-file.md @@ -1,7 +1,7 @@ --- title: DevicePreparation DDF file description: View the XML file containing the device description framework (DDF) for the DevicePreparation configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 99.9.99999 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/devicestatus-ddf.md b/windows/client-management/mdm/devicestatus-ddf.md index 2eaff3d375..ae20b8e258 100644 --- a/windows/client-management/mdm/devicestatus-ddf.md +++ b/windows/client-management/mdm/devicestatus-ddf.md @@ -1,7 +1,7 @@ --- title: DeviceStatus DDF file description: View the XML file containing the device description framework (DDF) for the DeviceStatus configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/devinfo-ddf-file.md b/windows/client-management/mdm/devinfo-ddf-file.md index ff9195ba0d..b2d6f8ed7f 100644 --- a/windows/client-management/mdm/devinfo-ddf-file.md +++ b/windows/client-management/mdm/devinfo-ddf-file.md @@ -1,7 +1,7 @@ --- title: DevInfo DDF file description: View the XML file containing the device description framework (DDF) for the DevInfo configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -41,7 +41,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/diagnosticlog-ddf.md b/windows/client-management/mdm/diagnosticlog-ddf.md index 9603fc932a..eef6af498d 100644 --- a/windows/client-management/mdm/diagnosticlog-ddf.md +++ b/windows/client-management/mdm/diagnosticlog-ddf.md @@ -1,7 +1,7 @@ --- title: DiagnosticLog DDF file description: View the XML file containing the device description framework (DDF) for the DiagnosticLog configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.2 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/dmacc-ddf-file.md b/windows/client-management/mdm/dmacc-ddf-file.md index 331ce57c5d..a0fee28b12 100644 --- a/windows/client-management/mdm/dmacc-ddf-file.md +++ b/windows/client-management/mdm/dmacc-ddf-file.md @@ -1,7 +1,7 @@ --- title: DMAcc DDF file description: View the XML file containing the device description framework (DDF) for the DMAcc configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/dmclient-ddf-file.md b/windows/client-management/mdm/dmclient-ddf-file.md index dd09a2d66f..c30288ba23 100644 --- a/windows/client-management/mdm/dmclient-ddf-file.md +++ b/windows/client-management/mdm/dmclient-ddf-file.md @@ -1,7 +1,7 @@ --- title: DMClient DDF file description: View the XML file containing the device description framework (DDF) for the DMClient configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -477,7 +477,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/email2-ddf-file.md b/windows/client-management/mdm/email2-ddf-file.md index 04e33d681e..a770191467 100644 --- a/windows/client-management/mdm/email2-ddf-file.md +++ b/windows/client-management/mdm/email2-ddf-file.md @@ -1,7 +1,7 @@ --- title: EMAIL2 DDF file description: View the XML file containing the device description framework (DDF) for the EMAIL2 configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md b/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md index 3d361ec180..c3304851f0 100644 --- a/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md +++ b/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md @@ -1,7 +1,7 @@ --- title: EnterpriseDesktopAppManagement DDF file description: View the XML file containing the device description framework (DDF) for the EnterpriseDesktopAppManagement configuration service provider. -ms.date: 05/20/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -401,7 +401,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md b/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md index e60f2f2868..5b6b0433ae 100644 --- a/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md +++ b/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md @@ -1,7 +1,7 @@ --- title: EnterpriseModernAppManagement DDF file description: View the XML file containing the device description framework (DDF) for the EnterpriseModernAppManagement configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -2587,7 +2587,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/euiccs-ddf-file.md b/windows/client-management/mdm/euiccs-ddf-file.md index 36803e6131..09e6e5f725 100644 --- a/windows/client-management/mdm/euiccs-ddf-file.md +++ b/windows/client-management/mdm/euiccs-ddf-file.md @@ -1,7 +1,7 @@ --- title: eUICCs DDF file description: View the XML file containing the device description framework (DDF) for the eUICCs configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -43,7 +43,7 @@ The following XML file contains the device description framework (DDF) for the e 10.0.16299 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/firewall-ddf-file.md b/windows/client-management/mdm/firewall-ddf-file.md index 453ee21804..2fd47c663c 100644 --- a/windows/client-management/mdm/firewall-ddf-file.md +++ b/windows/client-management/mdm/firewall-ddf-file.md @@ -1,7 +1,7 @@ --- title: Firewall DDF file description: View the XML file containing the device description framework (DDF) for the Firewall configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the F 10.0.16299 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/healthattestation-ddf.md b/windows/client-management/mdm/healthattestation-ddf.md index d68e4952d2..3b2c4265ae 100644 --- a/windows/client-management/mdm/healthattestation-ddf.md +++ b/windows/client-management/mdm/healthattestation-ddf.md @@ -1,7 +1,7 @@ --- title: HealthAttestation DDF file description: View the XML file containing the device description framework (DDF) for the HealthAttestation configuration service provider. -ms.date: 01/31/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the H 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/language-pack-management-ddf-file.md b/windows/client-management/mdm/language-pack-management-ddf-file.md index af5086a30c..0d5661484f 100644 --- a/windows/client-management/mdm/language-pack-management-ddf-file.md +++ b/windows/client-management/mdm/language-pack-management-ddf-file.md @@ -1,7 +1,7 @@ --- title: LanguagePackManagement DDF file description: View the XML file containing the device description framework (DDF) for the LanguagePackManagement configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the L 99.9.9999 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/laps-ddf-file.md b/windows/client-management/mdm/laps-ddf-file.md index 8ed3954967..075ff51663 100644 --- a/windows/client-management/mdm/laps-ddf-file.md +++ b/windows/client-management/mdm/laps-ddf-file.md @@ -1,7 +1,7 @@ --- title: LAPS DDF file description: View the XML file containing the device description framework (DDF) for the LAPS configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the L 10.0.25145, 10.0.22621.1480, 10.0.22000.1754, 10.0.20348.1663, 10.0.19041.2784, 10.0.17763.4244 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/networkproxy-ddf.md b/windows/client-management/mdm/networkproxy-ddf.md index 77e03cd531..41f2ea80ba 100644 --- a/windows/client-management/mdm/networkproxy-ddf.md +++ b/windows/client-management/mdm/networkproxy-ddf.md @@ -1,7 +1,7 @@ --- title: NetworkProxy DDF file description: View the XML file containing the device description framework (DDF) for the NetworkProxy configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/networkqospolicy-ddf.md b/windows/client-management/mdm/networkqospolicy-ddf.md index 0a77596722..abcaba4547 100644 --- a/windows/client-management/mdm/networkqospolicy-ddf.md +++ b/windows/client-management/mdm/networkqospolicy-ddf.md @@ -1,7 +1,7 @@ --- title: NetworkQoSPolicy DDF file description: View the XML file containing the device description framework (DDF) for the NetworkQoSPolicy configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.19042 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/nodecache-ddf-file.md b/windows/client-management/mdm/nodecache-ddf-file.md index 80a2ad5119..996cc4512c 100644 --- a/windows/client-management/mdm/nodecache-ddf-file.md +++ b/windows/client-management/mdm/nodecache-ddf-file.md @@ -1,7 +1,7 @@ --- title: NodeCache DDF file description: View the XML file containing the device description framework (DDF) for the NodeCache configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.15063 1.1 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -294,7 +294,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/office-ddf.md b/windows/client-management/mdm/office-ddf.md index 7714d02e5e..d9dd3ecaa7 100644 --- a/windows/client-management/mdm/office-ddf.md +++ b/windows/client-management/mdm/office-ddf.md @@ -1,7 +1,7 @@ --- title: Office DDF file description: View the XML file containing the device description framework (DDF) for the Office configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the O 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -211,7 +211,7 @@ The following XML file contains the device description framework (DDF) for the O 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/passportforwork-csp.md b/windows/client-management/mdm/passportforwork-csp.md index d9bd9dba10..421f8f7ac5 100644 --- a/windows/client-management/mdm/passportforwork-csp.md +++ b/windows/client-management/mdm/passportforwork-csp.md @@ -1,7 +1,7 @@ --- title: PassportForWork CSP description: Learn more about the PassportForWork CSP. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -25,7 +25,6 @@ The following list shows the PassportForWork configuration service provider node - ./Device/Vendor/MSFT/PassportForWork - [{TenantId}](#devicetenantid) - [Policies](#devicetenantidpolicies) - - [DisablePostLogonCredentialCaching](#devicetenantidpoliciesdisablepostlogoncredentialcaching) - [DisablePostLogonProvisioning](#devicetenantidpoliciesdisablepostlogonprovisioning) - [EnablePinRecovery](#devicetenantidpoliciesenablepinrecovery) - [EnableWindowsHelloProvisioningForSecurityKeys](#devicetenantidpoliciesenablewindowshelloprovisioningforsecuritykeys) @@ -158,55 +157,6 @@ Root node for policies. - -#### Device/{TenantId}/Policies/DisablePostLogonCredentialCaching - - -| Scope | Editions | Applicable OS | -|:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | - - - -```Device -./Device/Vendor/MSFT/PassportForWork/{TenantId}/Policies/DisablePostLogonCredentialCaching -``` - - - - -Disable caching of the Windows Hello for Business credential after sign-in. - - - - - - - -**Description framework properties**: - -| Property name | Property value | -|:--|:--| -| Format | `bool` | -| Access Type | Add, Delete, Get, Replace | -| Default Value | False | - - - -**Allowed values**: - -| Value | Description | -|:--|:--| -| false (Default) | Credential Caching Enabled. | -| true | Credential Caching Disabled. | - - - - - - - - #### Device/{TenantId}/Policies/DisablePostLogonProvisioning diff --git a/windows/client-management/mdm/passportforwork-ddf.md b/windows/client-management/mdm/passportforwork-ddf.md index 0c1cf45b97..ce26cce768 100644 --- a/windows/client-management/mdm/passportforwork-ddf.md +++ b/windows/client-management/mdm/passportforwork-ddf.md @@ -1,7 +1,7 @@ --- title: PassportForWork DDF file description: View the XML file containing the device description framework (DDF) for the PassportForWork configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.10586 1.2 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -565,7 +565,7 @@ If you do not configure this policy setting, Windows Hello for Business requires 10.0.10586 1.2 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -885,45 +885,6 @@ If you disable or do not configure this policy setting, the PIN recovery secret - - DisablePostLogonCredentialCaching - - - - - - - - False - Disable caching of the Windows Hello for Business credential after sign-in. - - - - - - - - - - - - - - 99.9.99999 - 1.6 - - - - false - Credential Caching Enabled - - - true - Credential Caching Disabled - - - - UseCertificateForOnPremAuth diff --git a/windows/client-management/mdm/personaldataencryption-ddf-file.md b/windows/client-management/mdm/personaldataencryption-ddf-file.md index f4f4cd55fc..5b3b1d0111 100644 --- a/windows/client-management/mdm/personaldataencryption-ddf-file.md +++ b/windows/client-management/mdm/personaldataencryption-ddf-file.md @@ -1,7 +1,7 @@ --- title: PDE DDF file description: View the XML file containing the device description framework (DDF) for the PDE configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.22621 1.0 - 0x4;0x1B;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0xAB;0xAC;0xBC;0xBF;0xCD;0xCF;0xD2; + 0x4;0x1B;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF; diff --git a/windows/client-management/mdm/personalization-csp.md b/windows/client-management/mdm/personalization-csp.md index bf0dff0947..3f8030bbfc 100644 --- a/windows/client-management/mdm/personalization-csp.md +++ b/windows/client-management/mdm/personalization-csp.md @@ -1,7 +1,7 @@ --- title: Personalization CSP description: Learn more about the Personalization CSP. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -9,8 +9,6 @@ ms.date: 04/10/2024 # Personalization CSP -[!INCLUDE [Windows Insider tip](includes/mdm-insider-csp-note.md)] - The Personalization CSP can set the lock screen, desktop background images and company branding on sign-in screen ([BootToCloud mode](policy-csp-clouddesktop.md#boottocloudmode) only). Setting these policies also prevents the user from changing the image. You can also use the Personalization settings in a provisioning package. @@ -38,7 +36,7 @@ The following list shows the Personalization configuration service provider node | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.3235] and later | @@ -77,7 +75,7 @@ This represents the status of the Company Logo. 1 - Successfully downloaded or c | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.3235] and later | @@ -116,7 +114,7 @@ An http or https Url to a jpg, jpeg or png image that needs to be downloaded and | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.3235] and later | diff --git a/windows/client-management/mdm/personalization-ddf.md b/windows/client-management/mdm/personalization-ddf.md index 6c5af077dd..5f6b982951 100644 --- a/windows/client-management/mdm/personalization-ddf.md +++ b/windows/client-management/mdm/personalization-ddf.md @@ -1,7 +1,7 @@ --- title: Personalization DDF file description: View the XML file containing the device description framework (DDF) for the Personalization configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.16299 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -101,7 +101,7 @@ The following XML file contains the device description framework (DDF) for the P - A http or https Url to a jpg, jpeg or png image that neeeds to be downloaded and used as the Lock Screen Image or a file Url to a local image on the file system that needs to be used as the Lock Screen Image. + A http or https Url to a jpg, jpeg or png image that needs to be downloaded and used as the Lock Screen Image or a file Url to a local image on the file system that needs to be used as the Lock Screen Image. @@ -148,7 +148,7 @@ The following XML file contains the device description framework (DDF) for the P - A http or https Url to a jpg, jpeg or png image that neeeds to be downloaded and used as the Company Logo or a file Url to a local image on the file system that needs to be used as the Company Logo. This setting is currently available for boot to cloud shared pc mode only. + A http or https Url to a jpg, jpeg or png image that needs to be downloaded and used as the Company Logo or a file Url to a local image on the file system that needs to be used as the Company Logo. This setting is currently available for boot to cloud shared pc mode only. @@ -162,7 +162,7 @@ The following XML file contains the device description framework (DDF) for the P - 99.9.99999 + 10.0.22621.3235 2.0 @@ -189,7 +189,7 @@ The following XML file contains the device description framework (DDF) for the P - 99.9.99999 + 10.0.22621.3235 2.0 @@ -217,7 +217,7 @@ The following XML file contains the device description framework (DDF) for the P - 99.9.99999 + 10.0.22621.3235 2.0 diff --git a/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md b/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md index d24e808921..773526f0c6 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md +++ b/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md @@ -1,7 +1,7 @@ --- title: ADMX-backed policies in Policy CSP description: Learn about the ADMX-backed policies in Policy CSP. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -1663,6 +1663,7 @@ This article lists the ADMX-backed policies in Policy CSP. - [TS_NoSecurityMenu](policy-csp-admx-terminalserver.md) - [TS_START_PROGRAM_2](policy-csp-admx-terminalserver.md) - [TS_SERVER_ADVANCED_REMOTEFX_REMOTEAPP](policy-csp-admx-terminalserver.md) +- [TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME](policy-csp-admx-terminalserver.md) - [TS_DX_USE_FULL_HWGPU](policy-csp-admx-terminalserver.md) - [TS_SERVER_WDDM_GRAPHICS_DRIVER](policy-csp-admx-terminalserver.md) - [TS_TSCC_PERMISSIONS_POLICY](policy-csp-admx-terminalserver.md) @@ -2210,6 +2211,7 @@ This article lists the ADMX-backed policies in Policy CSP. - [AllowSaveTargetAsInIEMode](policy-csp-internetexplorer.md) - [DisableInternetExplorerApp](policy-csp-internetexplorer.md) - [EnableExtendedIEModeHotkeys](policy-csp-internetexplorer.md) +- [AllowLegacyURLFields](policy-csp-internetexplorer.md) - [ResetZoomForDialogInIEMode](policy-csp-internetexplorer.md) - [EnableGlobalWindowListInIEMode](policy-csp-internetexplorer.md) - [JScriptReplacement](policy-csp-internetexplorer.md) diff --git a/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md b/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md index b48e301116..74c2d24c74 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md +++ b/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md @@ -1,7 +1,7 @@ --- title: Policies in Policy CSP supported by Group Policy description: Learn about the policies in Policy CSP supported by Group Policy. -ms.date: 05/20/2024 +ms.date: 06/19/2024 --- @@ -805,6 +805,7 @@ This article lists the policies in Policy CSP that have a group policy mapping. - [ConfigureDeadlineNoAutoRebootForFeatureUpdates](policy-csp-update.md) - [ConfigureDeadlineNoAutoRebootForQualityUpdates](policy-csp-update.md) - [AllowOptionalContent](policy-csp-update.md) +- [AlwaysAutoRebootAtScheduledTimeMinutes](policy-csp-update.md) ## UserRights diff --git a/windows/client-management/mdm/policies-in-policy-csp-supported-by-surface-hub.md b/windows/client-management/mdm/policies-in-policy-csp-supported-by-surface-hub.md index 17bb6fddc6..a51aba5851 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-supported-by-surface-hub.md +++ b/windows/client-management/mdm/policies-in-policy-csp-supported-by-surface-hub.md @@ -1,7 +1,7 @@ --- title: Policies in Policy CSP supported by Windows 10 Team description: Learn about the policies in Policy CSP supported by Windows 10 Team. -ms.date: 01/18/2024 +ms.date: 06/19/2024 --- @@ -315,6 +315,7 @@ This article lists the policies in Policy CSP that are applicable for the Surfac - [AllowOptionalContent](policy-csp-update.md#allowoptionalcontent) - [AllowTemporaryEnterpriseFeatureControl](policy-csp-update.md#allowtemporaryenterprisefeaturecontrol) - [AllowUpdateService](policy-csp-update.md#allowupdateservice) +- [AlwaysAutoRebootAtScheduledTimeMinutes](policy-csp-update.md#alwaysautorebootatscheduledtimeminutes) - [BranchReadinessLevel](policy-csp-update.md#branchreadinesslevel) - [ConfigureFeatureUpdateUninstallPeriod](policy-csp-update.md#configurefeatureupdateuninstallperiod) - [DeferFeatureUpdatesPeriodInDays](policy-csp-update.md#deferfeatureupdatesperiodindays) diff --git a/windows/client-management/mdm/policy-csp-admx-terminalserver.md b/windows/client-management/mdm/policy-csp-admx-terminalserver.md index 0b5853336a..9209e4e647 100644 --- a/windows/client-management/mdm/policy-csp-admx-terminalserver.md +++ b/windows/client-management/mdm/policy-csp-admx-terminalserver.md @@ -1,7 +1,7 @@ --- title: ADMX_TerminalServer Policy CSP description: Learn more about the ADMX_TerminalServer Area in Policy CSP. -ms.date: 01/18/2024 +ms.date: 06/19/2024 --- @@ -4109,6 +4109,56 @@ This policy setting allows the administrator to configure the RemoteFX experienc + +## TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME +``` + + + + + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | + + + + +[!INCLUDE [ADMX-backed policy note](includes/mdm-admx-policy-note.md)] + +**ADMX mapping**: + +| Name | Value | +|:--|:--| +| Name | TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME | +| ADMX File Name | TerminalServer.admx | + + + + + + + + ## TS_SERVER_VISEXP diff --git a/windows/client-management/mdm/policy-csp-deliveryoptimization.md b/windows/client-management/mdm/policy-csp-deliveryoptimization.md index f9f05c2927..6e3f949a36 100644 --- a/windows/client-management/mdm/policy-csp-deliveryoptimization.md +++ b/windows/client-management/mdm/policy-csp-deliveryoptimization.md @@ -1,7 +1,7 @@ --- title: DeliveryOptimization Policy CSP description: Learn more about the DeliveryOptimization Area in Policy CSP. -ms.date: 01/18/2024 +ms.date: 06/19/2024 --- @@ -1500,20 +1500,8 @@ The default value 0 (zero) means that Delivery Optimization dynamically adjusts - -Set this policy to restrict peer selection via selected option. - -Options available are: - -0 = NAT. - -1 = Subnet mask. - -2 = Local discovery (DNS-SD). - -The default value has changed from 0 (no restriction) to 1 (restrict to the subnet). - -These options apply to both Download Mode LAN (1) and Group (2). + +Set this policy to restrict peer selection via selected option. Options available are: 1=Subnet mask, 2 = Local discovery (DNS-SD). These options apply to both Download Mode LAN (1) and Group (2). diff --git a/windows/client-management/mdm/policy-csp-internetexplorer.md b/windows/client-management/mdm/policy-csp-internetexplorer.md index 8985e0fd66..54422578ac 100644 --- a/windows/client-management/mdm/policy-csp-internetexplorer.md +++ b/windows/client-management/mdm/policy-csp-internetexplorer.md @@ -1,7 +1,7 @@ --- title: InternetExplorer Policy CSP description: Learn more about the InternetExplorer Area in Policy CSP. -ms.date: 05/20/2024 +ms.date: 06/19/2024 --- @@ -985,6 +985,60 @@ Note. It's recommended to configure template policy settings in one Group Policy + +## AllowLegacyURLFields + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | + + + +```User +./User/Vendor/MSFT/Policy/Config/InternetExplorer/AllowLegacyURLFields +``` + +```Device +./Device/Vendor/MSFT/Policy/Config/InternetExplorer/AllowLegacyURLFields +``` + + + + + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | + + + + +[!INCLUDE [ADMX-backed policy note](includes/mdm-admx-policy-note.md)] + +**ADMX mapping**: + +| Name | Value | +|:--|:--| +| Name | AllowLegacyURLFields | +| ADMX File Name | inetres.admx | + + + + + + + + ## AllowLocalMachineZoneTemplate diff --git a/windows/client-management/mdm/policy-csp-remotedesktopservices.md b/windows/client-management/mdm/policy-csp-remotedesktopservices.md index 1af96611e4..bb9986b0c4 100644 --- a/windows/client-management/mdm/policy-csp-remotedesktopservices.md +++ b/windows/client-management/mdm/policy-csp-remotedesktopservices.md @@ -1,7 +1,7 @@ --- title: RemoteDesktopServices Policy CSP description: Learn more about the RemoteDesktopServices Area in Policy CSP. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -439,7 +439,7 @@ By default, Remote Desktop allows redirection of WebAuthn requests. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | @@ -493,7 +493,7 @@ By default, Remote Desktop allows redirection of WebAuthn requests. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | diff --git a/windows/client-management/mdm/policy-csp-update.md b/windows/client-management/mdm/policy-csp-update.md index e8dfe5371f..796984d07c 100644 --- a/windows/client-management/mdm/policy-csp-update.md +++ b/windows/client-management/mdm/policy-csp-update.md @@ -1,7 +1,7 @@ --- title: Update Policy CSP description: Learn more about the Update Area in Policy CSP. -ms.date: 02/14/2024 +ms.date: 06/19/2024 --- @@ -18,6 +18,7 @@ ms.date: 02/14/2024 Update CSP policies are listed below based on the group policy area: - [Windows Insider Preview](#windows-insider-preview) + - [AlwaysAutoRebootAtScheduledTimeMinutes](#alwaysautorebootatscheduledtimeminutes) - [ConfigureDeadlineNoAutoRebootForFeatureUpdates](#configuredeadlinenoautorebootforfeatureupdates) - [ConfigureDeadlineNoAutoRebootForQualityUpdates](#configuredeadlinenoautorebootforqualityupdates) - [Manage updates offered from Windows Update](#manage-updates-offered-from-windows-update) @@ -100,6 +101,68 @@ Update CSP policies are listed below based on the group policy area: ## Windows Insider Preview + +### AlwaysAutoRebootAtScheduledTimeMinutes + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/Update/AlwaysAutoRebootAtScheduledTimeMinutes +``` + + + + + +- If you enable this policy, a restart timer will always begin immediately after Windows Update installs important updates, instead of first notifying users on the login screen for at least two days. + +The restart timer can be configured to start with any value from 15 to 180 minutes. When the timer runs out, the restart will proceed even if the PC has signed-in users. + +- If you disable or don't configure this policy, Windows Update won't alter its restart behavior. + +If the "No auto-restart with logged-on users for scheduled automatic updates installations" policy is enabled, then this policy has no effect. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `int` | +| Access Type | Add, Delete, Get, Replace | +| Allowed Values | Range: `[15-180]` | +| Default Value | 15 | + + + +**Group policy mapping**: + +| Name | Value | +|:--|:--| +| Name | AlwaysAutoRebootAtScheduledTime | +| Friendly Name | Always automatically restart at the scheduled time | +| Element Name | work (minutes) | +| Location | Computer Configuration | +| Path | Windows Components > Windows Update > Manage end user experience | +| Registry Key Name | Software\Policies\Microsoft\Windows\WindowsUpdate\AU | +| ADMX File Name | WindowsUpdate.admx | + + + + + + + + ### ConfigureDeadlineNoAutoRebootForFeatureUpdates diff --git a/windows/client-management/mdm/policy-csp-windowsai.md b/windows/client-management/mdm/policy-csp-windowsai.md index 85b838a4c2..8f672a114e 100644 --- a/windows/client-management/mdm/policy-csp-windowsai.md +++ b/windows/client-management/mdm/policy-csp-windowsai.md @@ -1,7 +1,7 @@ --- title: WindowsAI Policy CSP description: Learn more about the WindowsAI Area in Policy CSP. -ms.date: 06/13/2024 +ms.date: 06/19/2024 --- @@ -142,6 +142,9 @@ This policy setting allows you to control whether Windows saves snapshots of the ## TurnOffWindowsCopilot +> [!NOTE] +> This policy is deprecated and may be removed in a future release. + | Scope | Editions | Applicable OS | |:--|:--|:--| diff --git a/windows/client-management/mdm/printerprovisioning-ddf-file.md b/windows/client-management/mdm/printerprovisioning-ddf-file.md index 21cb02133b..4aa2087423 100644 --- a/windows/client-management/mdm/printerprovisioning-ddf-file.md +++ b/windows/client-management/mdm/printerprovisioning-ddf-file.md @@ -1,7 +1,7 @@ --- title: PrinterProvisioning DDF file description: View the XML file containing the device description framework (DDF) for the PrinterProvisioning configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.22000, 10.0.19044.1806, 10.0.19043.1806, 10.0.19042.1806 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/reboot-ddf-file.md b/windows/client-management/mdm/reboot-ddf-file.md index a1c58cf7c1..3bca6f69a4 100644 --- a/windows/client-management/mdm/reboot-ddf-file.md +++ b/windows/client-management/mdm/reboot-ddf-file.md @@ -1,7 +1,7 @@ --- title: Reboot DDF file description: View the XML file containing the device description framework (DDF) for the Reboot configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the R 10.0.14393 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/rootcacertificates-ddf-file.md b/windows/client-management/mdm/rootcacertificates-ddf-file.md index 5ae45109b0..2a8292e9f6 100644 --- a/windows/client-management/mdm/rootcacertificates-ddf-file.md +++ b/windows/client-management/mdm/rootcacertificates-ddf-file.md @@ -1,7 +1,7 @@ --- title: RootCATrustedCertificates DDF file description: View the XML file containing the device description framework (DDF) for the RootCATrustedCertificates configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the R 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -1067,7 +1067,7 @@ The following XML file contains the device description framework (DDF) for the R 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/secureassessment-ddf-file.md b/windows/client-management/mdm/secureassessment-ddf-file.md index c4e5cf2830..d45d5f6b92 100644 --- a/windows/client-management/mdm/secureassessment-ddf-file.md +++ b/windows/client-management/mdm/secureassessment-ddf-file.md @@ -1,7 +1,7 @@ --- title: SecureAssessment DDF file description: View the XML file containing the device description framework (DDF) for the SecureAssessment configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the S 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/sharedpc-ddf-file.md b/windows/client-management/mdm/sharedpc-ddf-file.md index 710f837864..0baa724281 100644 --- a/windows/client-management/mdm/sharedpc-ddf-file.md +++ b/windows/client-management/mdm/sharedpc-ddf-file.md @@ -1,7 +1,7 @@ --- title: SharedPC DDF file description: View the XML file containing the device description framework (DDF) for the SharedPC configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the S 10.0.14393 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/supl-ddf-file.md b/windows/client-management/mdm/supl-ddf-file.md index 3f4964bf42..fed441c564 100644 --- a/windows/client-management/mdm/supl-ddf-file.md +++ b/windows/client-management/mdm/supl-ddf-file.md @@ -1,7 +1,7 @@ --- title: SUPL DDF file description: View the XML file containing the device description framework (DDF) for the SUPL configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the S 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/vpnv2-ddf-file.md b/windows/client-management/mdm/vpnv2-ddf-file.md index 601a0363a7..7454dd4105 100644 --- a/windows/client-management/mdm/vpnv2-ddf-file.md +++ b/windows/client-management/mdm/vpnv2-ddf-file.md @@ -1,7 +1,7 @@ --- title: VPNv2 DDF file description: View the XML file containing the device description framework (DDF) for the VPNv2 configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the V 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -3265,7 +3265,7 @@ The following XML file contains the device description framework (DDF) for the V 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/wifi-ddf-file.md b/windows/client-management/mdm/wifi-ddf-file.md index a43971553f..d1e6f1f167 100644 --- a/windows/client-management/mdm/wifi-ddf-file.md +++ b/windows/client-management/mdm/wifi-ddf-file.md @@ -1,7 +1,7 @@ --- title: WiFi DDF file description: View the XML file containing the device description framework (DDF) for the WiFi configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -322,7 +322,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md b/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md index 83c52f17cc..b4460e2d71 100644 --- a/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md +++ b/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md @@ -1,7 +1,7 @@ --- title: WindowsDefenderApplicationGuard DDF file description: View the XML file containing the device description framework (DDF) for the WindowsDefenderApplicationGuard configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.16299 1.1 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; diff --git a/windows/client-management/mdm/windowslicensing-ddf-file.md b/windows/client-management/mdm/windowslicensing-ddf-file.md index a8bb624a6b..571ba992b0 100644 --- a/windows/client-management/mdm/windowslicensing-ddf-file.md +++ b/windows/client-management/mdm/windowslicensing-ddf-file.md @@ -1,7 +1,7 @@ --- title: WindowsLicensing DDF file description: View the XML file containing the device description framework (DDF) for the WindowsLicensing configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF; diff --git a/windows/client-management/mdm/wirednetwork-ddf-file.md b/windows/client-management/mdm/wirednetwork-ddf-file.md index ddb1f28855..c3aebaeba0 100644 --- a/windows/client-management/mdm/wirednetwork-ddf-file.md +++ b/windows/client-management/mdm/wirednetwork-ddf-file.md @@ -1,7 +1,7 @@ --- title: WiredNetwork DDF file description: View the XML file containing the device description framework (DDF) for the WiredNetwork configuration service provider. -ms.date: 04/10/2024 +ms.date: 06/19/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.17763 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; @@ -118,7 +118,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.17763 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; From 1813f6a2db60e07f8db185e33db285a98ab287f8 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 21 Jun 2024 11:21:29 -0600 Subject: [PATCH 110/354] PassportForWork applicability change --- windows/client-management/mdm/passportforwork-csp.md | 4 ++-- windows/client-management/mdm/passportforwork-ddf.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/client-management/mdm/passportforwork-csp.md b/windows/client-management/mdm/passportforwork-csp.md index 421f8f7ac5..fe7da7ac06 100644 --- a/windows/client-management/mdm/passportforwork-csp.md +++ b/windows/client-management/mdm/passportforwork-csp.md @@ -1,7 +1,7 @@ --- title: PassportForWork CSP description: Learn more about the PassportForWork CSP. -ms.date: 06/19/2024 +ms.date: 06/21/2024 --- @@ -163,7 +163,7 @@ Root node for policies. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2402] and later
    ✅ Windows 10, version 2004 [10.0.19041.4239] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2899] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows Insider Preview | diff --git a/windows/client-management/mdm/passportforwork-ddf.md b/windows/client-management/mdm/passportforwork-ddf.md index ce26cce768..d80b42baec 100644 --- a/windows/client-management/mdm/passportforwork-ddf.md +++ b/windows/client-management/mdm/passportforwork-ddf.md @@ -1,7 +1,7 @@ --- title: PassportForWork DDF file description: View the XML file containing the device description framework (DDF) for the PassportForWork configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/21/2024 --- @@ -870,7 +870,7 @@ If you disable or do not configure this policy setting, the PIN recovery secret - 99.9.99999 + 99.9.99999, 10.0.22621.3374, 10.0.22000.2899, 10.0.20348.2402, 10.0.19041.4239 1.6 @@ -895,7 +895,7 @@ If you disable or do not configure this policy setting, the PIN recovery secret False - Windows Hello for Business can use certificates to authenticate to on-premise resources. + Windows Hello for Business can use certificates to authenticate to on-premise resources. If you enable this policy setting, Windows Hello for Business will wait until the device has received a certificate payload from the mobile device management server before provisioning a PIN. From b479ad21d698cc0c14792b947a3d6ebf6d4e801e Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 21 Jun 2024 11:23:52 -0600 Subject: [PATCH 111/354] Fix bookmark link --- windows/client-management/mdm/personalization-csp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/client-management/mdm/personalization-csp.md b/windows/client-management/mdm/personalization-csp.md index 3f8030bbfc..d455b2968a 100644 --- a/windows/client-management/mdm/personalization-csp.md +++ b/windows/client-management/mdm/personalization-csp.md @@ -1,7 +1,7 @@ --- title: Personalization CSP description: Learn more about the Personalization CSP. -ms.date: 06/19/2024 +ms.date: 06/21/2024 --- @@ -14,7 +14,7 @@ ms.date: 06/19/2024 The Personalization CSP can set the lock screen, desktop background images and company branding on sign-in screen ([BootToCloud mode](policy-csp-clouddesktop.md#boottocloudmode) only). Setting these policies also prevents the user from changing the image. You can also use the Personalization settings in a provisioning package. > [!IMPORTANT] -> Personalization CSP is supported in Windows Enterprise and Education SKUs. It works in Windows Professional only when SetEduPolicies in [SharedPC CSP](sharedpc-csp.md) is set, or when the device is configured in [Shared PC mode with BootToCloudPCEnhanced policy](clouddesktop-csp.md#boottocloudpcenhanced). +> Personalization CSP is supported in Windows Enterprise and Education SKUs. It works in Windows Professional only when SetEduPolicies in [SharedPC CSP](sharedpc-csp.md) is set, or when the device is configured in [Shared PC mode with BootToCloudPCEnhanced policy](clouddesktop-csp.md#deviceboottocloudpcenhanced). From 16c7f1992c83d86c857354ca33f18247c69064e6 Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:28:45 -0700 Subject: [PATCH 112/354] Update media-dynamic-update.md Changes for checkpoints, and setuphost.exe --- .../deployment/update/media-dynamic-update.md | 139 ++++++++++-------- 1 file changed, 79 insertions(+), 60 deletions(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index 35c6c2a8d2..d16fc5f901 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -13,7 +13,7 @@ appliesto: - ✅
    Windows 11 - ✅ Windows 10 - ✅ Windows Server -ms.date: 06/20/2024 +ms.date: 06/28/2024 --- # Update Windows installation media with Dynamic Update @@ -157,12 +157,13 @@ $LANG_FONT_CAPABILITY = "jpan" # If you are using this script for Windows 10, modify to mount and use the LANGPACK ISO. $FOD_ISO_PATH = "C:\mediaRefresh\packages\FOD-PACKAGES_OEM_PT1_amd64fre_MULTI.iso" -# Declare Dynamic Update packages -$LCU_PATH = "C:\mediaRefresh\packages\LCU.msu" -$SSU_PATH = "C:\mediaRefresh\packages\SSU_DU.msu" -$SETUP_DU_PATH = "C:\mediaRefresh\packages\Setup_DU.cab" -$SAFE_OS_DU_PATH = "C:\mediaRefresh\packages\SafeOS_DU.cab" -$DOTNET_CU_PATH = "C:\mediaRefresh\packages\DotNet_CU.msu" +# Declare Dynamic Update packages. A dedicated folder is used for the latest cumulative update, and as needed +# checkpoint cumulative updates. +$LCU_PATH = "C:\mediaRefresh\packages\CU\LCU.msu" +$SSU_PATH = "C:\mediaRefresh\packages\Other\SSU_DU.msu" +$SETUP_DU_PATH = "C:\mediaRefresh\packages\Other\Setup_DU.cab" +$SAFE_OS_DU_PATH = "C:\mediaRefresh\packages\Other\SafeOS_DU.cab" +$DOTNET_CU_PATH = "C:\mediaRefresh\packages\Other\DotNet_CU.msu" # Declare folders for mounted images and temp files $MEDIA_OLD_PATH = "C:\mediaRefresh\oldMedia" @@ -218,14 +219,14 @@ This process is repeated for each edition of Windows within the main operating s # Update each main OS Windows image including the Windows Recovery Environment (WinRE) # -# Get the list of images contained within WinPE +# Get the list of images contained within the main OS $WINOS_IMAGES = Get-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\install.wim" Foreach ($IMAGE in $WINOS_IMAGES) { # first mount the main OS image Write-Output "$(Get-TS): Mounting main OS, image index $($IMAGE.ImageIndex)" - Mount-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\install.wim" -Index $IMAGE.ImageIndex -Path $MAIN_OS_MOUNT -ErrorAction stop| Out-Null + Mount-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\install.wim" -Index $IMAGE.ImageIndex -Path $MAIN_OS_MOUNT -ErrorAction stop| Out-Null if ($IMAGE.ImageIndex -eq "1") { @@ -244,19 +245,22 @@ Foreach ($IMAGE in $WINOS_IMAGES) { # Windows 11, version 22H2 are examples. In these cases, the servicing stack update is not published seperately; the combined # cumulative update should be used for this step. However, in hopefully rare cases, there may breaking change in the combined # cumulative update format, that requires a standalone servicing stack update to be published, and installed first before the - # combined cumulative update can be installed. + # combined cumulative update can be installed. # This is the code to handle the rare case that the SSU is published and required for the combined cumulative update # Write-Output "$(Get-TS): Adding package $SSU_PATH" - # Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $SSU_PATH | Out-Null + # Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $SSU_PATH | Out-Null # Now, attempt the combined cumulative update. # There is a known issue where the servicing stack update is installed, but the cumulative update will fail. This error should # be caught and ignored, as the last step will be to apply the Safe OS update and thus the image will be left with the correct # packages installed. + + Write-Output "$(Get-TS): Adding package $LCU_PATH to WinRE" try { + Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $LCU_PATH | Out-Null } Catch @@ -277,29 +281,27 @@ Foreach ($IMAGE in $WINOS_IMAGES) { # update. This second approach is commented out below. # Write-Output "$(Get-TS): Adding package $SSU_PATH" - # Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $SSU_PATH | Out-Null + # Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $SSU_PATH | Out-Null # # Optional: Add the language to recovery environment # # Install lp.cab cab - Write-Output "$(Get-TS): Adding package $WINPE_OC_LP_PATH" - Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $WINPE_OC_LP_PATH -ErrorAction stop | Out-Null + Write-Output "$(Get-TS): Adding package $WINPE_OC_LP_PATH to WinRE" + Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $WINPE_OC_LP_PATH -ErrorAction stop | Out-Null # Install language cabs for each optional package installed $WINRE_INSTALLED_OC = Get-WindowsPackage -Path $WINRE_MOUNT Foreach ($PACKAGE in $WINRE_INSTALLED_OC) { - if ( ($PACKAGE.PackageState -eq "Installed") ` - -and ($PACKAGE.PackageName.startsWith("WinPE-")) ` - -and ($PACKAGE.ReleaseType -eq "FeaturePack") ) { + if ( ($PACKAGE.PackageState -eq "Installed") -and ($PACKAGE.PackageName.startsWith("WinPE-")) -and ($PACKAGE.ReleaseType -eq "FeaturePack") ) { $INDEX = $PACKAGE.PackageName.IndexOf("-Package") if ($INDEX -ge 0) { $OC_CAB = $PACKAGE.PackageName.Substring(0, $INDEX) + "_" + $LANG + ".cab" if ($WINPE_OC_LANG_CABS.Contains($OC_CAB)) { $OC_CAB_PATH = Join-Path $WINPE_OC_LANG_PATH $OC_CAB - Write-Output "$(Get-TS): Adding package $OC_CAB_PATH" + Write-Output "$(Get-TS): Adding package $OC_CAB_PATH to WinRE" Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $OC_CAB_PATH -ErrorAction stop | Out-Null } } @@ -308,7 +310,7 @@ Foreach ($IMAGE in $WINOS_IMAGES) { # Add font support for the new language if ( (Test-Path -Path $WINPE_FONT_SUPPORT_PATH) ) { - Write-Output "$(Get-TS): Adding package $WINPE_FONT_SUPPORT_PATH" + Write-Output "$(Get-TS): Adding package $WINPE_FONT_SUPPORT_PATH to WinRE" Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $WINPE_FONT_SUPPORT_PATH -ErrorAction stop | Out-Null } @@ -316,16 +318,16 @@ Foreach ($IMAGE in $WINOS_IMAGES) { if (Test-Path -Path $WINPE_SPEECH_TTS_PATH) { if ( (Test-Path -Path $WINPE_SPEECH_TTS_LANG_PATH) ) { - Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_PATH" + Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_PATH to WinRE" Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $WINPE_SPEECH_TTS_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_LANG_PATH" + Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_LANG_PATH to WinRE" Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $WINPE_SPEECH_TTS_LANG_PATH -ErrorAction stop | Out-Null } } # Add Safe OS - Write-Output "$(Get-TS): Adding package $SAFE_OS_DU_PATH" + Write-Output "$(Get-TS): Adding package $SAFE_OS_DU_PATH to WinRE" Add-WindowsPackage -Path $WINRE_MOUNT -PackagePath $SAFE_OS_DU_PATH -ErrorAction stop | Out-Null # Perform image cleanup @@ -354,54 +356,54 @@ Foreach ($IMAGE in $WINOS_IMAGES) { # includes the servicing stack updates (i.e. SSU + LCU are combined). Windows 11, version 21H2 and Windows 11, version 22H2 are examples. In these # cases, the servicing stack update is not published seperately; the combined cumulative update should be used for this step. However, in hopefully # rare cases, there may breaking change in the combined cumulative update format, that requires a standalone servicing stack update to be published, - # and installed first before the combined cumulative update can be installed. + # and installed first before the combined cumulative update can be installed. # This is the code to handle the rare case that the SSU is published and required for the combined cumulative update # Write-Output "$(Get-TS): Adding package $SSU_PATH" - # Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $SSU_PATH | Out-Null + # Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $SSU_PATH | Out-Null # Now, attempt the combined cumulative update. Unlike WinRE and WinPE, we don't need to check for error 0x8007007e - Write-Output "$(Get-TS): Adding package $LCU_PATH" - Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $LCU_PATH | Out-Null + Write-Output "$(Get-TS): Adding package $LCU_PATH to main OS, index $($IMAGE.ImageIndex)" + Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $LCU_PATH | Out-Null # The second approach for Step 18 is for Windows releases that have not adopted the combined cumulative update # but instead continue to have a seperate servicing stack update published. In this case, we'll install the SSU # update. This second approach is commented out below. - # Write-Output "$(Get-TS): Adding package $SSU_PATH" - # Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $SSU_PATH | Out-Null + # Write-Output "$(Get-TS): Adding package $SSU_PATH to main OS, index $($IMAGE.ImageIndex)" + # Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $SSU_PATH | Out-Null # Optional: Add language to main OS - Write-Output "$(Get-TS): Adding package $OS_LP_PATH" - Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $OS_LP_PATH -ErrorAction stop | Out-Null + Write-Output "$(Get-TS): Adding package $OS_LP_PATH to main OS, index $($IMAGE.ImageIndex)" + Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $OS_LP_PATH -ErrorAction stop | Out-Null # Optional: Add a Features on Demand to the image - Write-Output "$(Get-TS): Adding language FOD: Language.Fonts.Jpan~~~und-JPAN~0.0.1.0" + Write-Output "$(Get-TS): Adding language FOD: Language.Fonts.Jpan~~~und-JPAN~0.0.1.0 to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "Language.Fonts.$LANG_FONT_CAPABILITY~~~und-$LANG_FONT_CAPABILITY~0.0.1.0" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding language FOD: Language.Basic~~~$LANG~0.0.1.0" + Write-Output "$(Get-TS): Adding language FOD: Language.Basic~~~$LANG~0.0.1.0 to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "Language.Basic~~~$LANG~0.0.1.0" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding language FOD: Language.OCR~~~$LANG~0.0.1.0" + Write-Output "$(Get-TS): Adding language FOD: Language.OCR~~~$LANG~0.0.1.0 to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "Language.OCR~~~$LANG~0.0.1.0" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding language FOD: Language.Handwriting~~~$LANG~0.0.1.0" + Write-Output "$(Get-TS): Adding language FOD: Language.Handwriting~~~$LANG~0.0.1.0 to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "Language.Handwriting~~~$LANG~0.0.1.0" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding language FOD: Language.TextToSpeech~~~$LANG~0.0.1.0" + Write-Output "$(Get-TS): Adding language FOD: Language.TextToSpeech~~~$LANG~0.0.1.0 to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "Language.TextToSpeech~~~$LANG~0.0.1.0" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding language FOD:Language.Speech~~~$LANG~0.0.1.0" + Write-Output "$(Get-TS): Adding language FOD: Language.Speech~~~$LANG~0.0.1.0 to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "Language.Speech~~~$LANG~0.0.1.0" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null # Note: If I wanted to enable additional Features on Demand, I'd add these here. # Add latest cumulative update - Write-Output "$(Get-TS): Adding package $LCU_PATH" + Write-Output "$(Get-TS): Adding package $LCU_PATH to main OS, index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $LCU_PATH -ErrorAction stop | Out-Null # Perform image cleanup - Write-Output "$(Get-TS): Performing image cleanup on main OS" + Write-Output "$(Get-TS): Performing image cleanup on main OS, index $($IMAGE.ImageIndex)" DISM /image:$MAIN_OS_MOUNT /cleanup-image /StartComponentCleanup | Out-Null # @@ -410,11 +412,11 @@ Foreach ($IMAGE in $WINOS_IMAGES) { # the image to be booted, and thus if we tried to cleanup after installation, it would fail. # - Write-Output "$(Get-TS): Adding NetFX3~~~~" + Write-Output "$(Get-TS): Adding NetFX3~~~~ to main OS, index $($IMAGE.ImageIndex)" Add-WindowsCapability -Name "NetFX3~~~~" -Path $MAIN_OS_MOUNT -Source $FOD_PATH -ErrorAction stop | Out-Null # Add .NET Cumulative Update - Write-Output "$(Get-TS): Adding package $DOTNET_CU_PATH" + Write-Output "$(Get-TS): Adding package $DOTNET_CU_PATH to main OS, index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $MAIN_OS_MOUNT -PackagePath $DOTNET_CU_PATH -ErrorAction stop | Out-Null # Dismount @@ -427,6 +429,7 @@ Foreach ($IMAGE in $WINOS_IMAGES) { } Move-Item -Path $WORKING_PATH"\install2.wim" -Destination $MEDIA_NEW_PATH"\sources\install.wim" -Force -ErrorAction stop | Out-Null + ``` ### Update WinPE @@ -445,7 +448,7 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # update WinPE Write-Output "$(Get-TS): Mounting WinPE, image index $($IMAGE.ImageIndex)" - Mount-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\boot.wim" -Index $IMAGE.ImageIndex -Path $WINPE_MOUNT -ErrorAction stop | Out-Null + Mount-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\boot.wim" -Index $IMAGE.ImageIndex -Path $WINPE_MOUNT -ErrorAction stop | Out-Null # Add servicing stack update (Step 9 from the table) @@ -455,11 +458,11 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # Windows 11, version 22H2 are examples. In these cases, the servicing stack update is not published separately; the combined # cumulative update should be used for this step. However, in hopefully rare cases, there may breaking change in the combined # cumulative update format, that requires a standalone servicing stack update to be published, and installed first before the - # combined cumulative update can be installed. + # combined cumulative update can be installed. # This is the code to handle the rare case that the SSU is published and required for the combined cumulative update # Write-Output "$(Get-TS): Adding package $SSU_PATH" - # Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $SSU_PATH | Out-Null + # Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $SSU_PATH | Out-Null # Now, attempt the combined cumulative update. # There is a known issue where the servicing stack update is installed, but the cumulative update will fail. @@ -468,6 +471,7 @@ Foreach ($IMAGE in $WINPE_IMAGES) { try { + Write-Output "$(Get-TS): Adding package $LCU_PATH to WinPE, image index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $LCU_PATH | Out-Null } Catch @@ -488,19 +492,17 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # update. This second approach is commented out below. # Write-Output "$(Get-TS): Adding package $SSU_PATH" - # Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $SSU_PATH | Out-Null + # Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $SSU_PATH | Out-Null # Install lp.cab cab - Write-Output "$(Get-TS): Adding package $WINPE_OC_LP_PATH" - Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $WINPE_OC_LP_PATH -ErrorAction stop | Out-Null + Write-Output "$(Get-TS): Adding package $WINPE_OC_LP_PATH to WinPE, image index $($IMAGE.ImageIndex)" + Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $WINPE_OC_LP_PATH -ErrorAction stop | Out-Null # Install language cabs for each optional package installed $WINPE_INSTALLED_OC = Get-WindowsPackage -Path $WINPE_MOUNT Foreach ($PACKAGE in $WINPE_INSTALLED_OC) { - if ( ($PACKAGE.PackageState -eq "Installed") ` - -and ($PACKAGE.PackageName.startsWith("WinPE-")) ` - -and ($PACKAGE.ReleaseType -eq "FeaturePack") ) { + if ( ($PACKAGE.PackageState -eq "Installed") -and ($PACKAGE.PackageName.startsWith("WinPE-")) -and ($PACKAGE.ReleaseType -eq "FeaturePack") ) { $INDEX = $PACKAGE.PackageName.IndexOf("-Package") if ($INDEX -ge 0) { @@ -508,7 +510,7 @@ Foreach ($IMAGE in $WINPE_IMAGES) { $OC_CAB = $PACKAGE.PackageName.Substring(0, $INDEX) + "_" + $LANG + ".cab" if ($WINPE_OC_LANG_CABS.Contains($OC_CAB)) { $OC_CAB_PATH = Join-Path $WINPE_OC_LANG_PATH $OC_CAB - Write-Output "$(Get-TS): Adding package $OC_CAB_PATH" + Write-Output "$(Get-TS): Adding package $OC_CAB_PATH to WinPE, image index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $OC_CAB_PATH -ErrorAction stop | Out-Null } } @@ -517,7 +519,7 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # Add font support for the new language if ( (Test-Path -Path $WINPE_FONT_SUPPORT_PATH) ) { - Write-Output "$(Get-TS): Adding package $WINPE_FONT_SUPPORT_PATH" + Write-Output "$(Get-TS): Adding package $WINPE_FONT_SUPPORT_PATH to WinPE, image index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $WINPE_FONT_SUPPORT_PATH -ErrorAction stop | Out-Null } @@ -525,10 +527,10 @@ Foreach ($IMAGE in $WINPE_IMAGES) { if (Test-Path -Path $WINPE_SPEECH_TTS_PATH) { if ( (Test-Path -Path $WINPE_SPEECH_TTS_LANG_PATH) ) { - Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_PATH" + Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_PATH to WinPE, image index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $WINPE_SPEECH_TTS_PATH -ErrorAction stop | Out-Null - Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_LANG_PATH" + Write-Output "$(Get-TS): Adding package $WINPE_SPEECH_TTS_LANG_PATH to WinPE, image index $($IMAGE.ImageIndex)" Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $WINPE_SPEECH_TTS_LANG_PATH -ErrorAction stop | Out-Null } } @@ -540,11 +542,11 @@ Foreach ($IMAGE in $WINPE_IMAGES) { } # Add latest cumulative update - Write-Output "$(Get-TS): Adding package $LCU_PATH" - Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $LCU_PATH -ErrorAction stop | Out-Null + Write-Output "$(Get-TS): Adding package $LCU_PATH to WinPE, image index $($IMAGE.ImageIndex)" + Add-WindowsPackage -Path $WINPE_MOUNT -PackagePath $LCU_PATH -ErrorAction stop | Out-Null # Perform image cleanup - Write-Output "$(Get-TS): Performing image cleanup on WinPE" + Write-Output "$(Get-TS): Performing image cleanup on WinPE, image index $($IMAGE.ImageIndex)" DISM /image:$WINPE_MOUNT /cleanup-image /StartComponentCleanup /ResetBase /Defer | Out-Null if ($IMAGE.ImageIndex -eq "2") { @@ -552,6 +554,18 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # Save setup.exe for later use. This will address possible binary mismatch with the version in the main OS \sources folder Copy-Item -Path $WINPE_MOUNT"\sources\setup.exe" -Destination $WORKING_PATH"\setup.exe" -Force -ErrorAction stop | Out-Null + # Save setuphost.exe for later use. This will address possible binary mismatch with the version in the main OS \sources folder + # This is only required starting with Windows 11 version 24H2 + $TEMP = Get-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\boot.wim" -Index $IMAGE.ImageIndex + if ($TEMP.Version -ge "10.0.26100.0000") { + + Copy-Item -Path $WINPE_MOUNT"\sources\setuphost.exe" -Destination $WORKING_PATH"\setuphost.exe" -Force -ErrorAction stop | Out-Null + } + else { + + Write-Output "$(Get-TS): Skipping copy of setuphost.exe; image version $($TEMP.Version)" + } + # Save serviced boot manager files later copy to the root media. Copy-Item -Path $WINPE_MOUNT"\Windows\boot\efi\bootmgfw.efi" -Destination $WORKING_PATH"\bootmgfw.efi" -Force -ErrorAction stop | Out-Null Copy-Item -Path $WINPE_MOUNT"\Windows\boot\efi\bootmgr.efi" -Destination $WORKING_PATH"\bootmgr.efi" -Force -ErrorAction stop | Out-Null @@ -587,21 +601,26 @@ cmd.exe /c $env:SystemRoot\System32\expand.exe $SETUP_DU_PATH -F:* $MEDIA_NEW_PA Write-Output "$(Get-TS): Copying $WORKING_PATH\setup.exe to $MEDIA_NEW_PATH\sources\setup.exe" Copy-Item -Path $WORKING_PATH"\setup.exe" -Destination $MEDIA_NEW_PATH"\sources\setup.exe" -Force -ErrorAction stop | Out-Null +# Copy setuphost.exe from boot.wim, saved earlier. +if (Test-Path -Path $WORKING_PATH"\setuphost.exe") { + + Write-Output "$(Get-TS): Copying $WORKING_PATH\setuphost.exe to $MEDIA_NEW_PATH\sources\setuphost.exe" + Copy-Item -Path $WORKING_PATH"\setuphost.exe" -Destination $MEDIA_NEW_PATH"\sources\setuphost.exe" -Force -ErrorAction stop | Out-Null +} # Copy bootmgr files from boot.wim, saved earlier. $MEDIA_NEW_FILES = Get-ChildItem $MEDIA_NEW_PATH -Force -Recurse -Filter b*.efi Foreach ($File in $MEDIA_NEW_FILES){ - if (($File.Name -ieq "bootmgfw.efi") -or ` - ($File.Name -ieq "bootx64.efi") -or ` - ($File.Name -ieq "bootia32.efi") -or ` - ($File.Name -ieq "bootaa64.efi")) + if (($File.Name -ieq "bootmgfw.efi") -or ($File.Name -ieq "bootx64.efi") -or ($File.Name -ieq "bootia32.efi") -or ($File.Name -ieq "bootaa64.efi")) { + Write-Output "$(Get-TS): Copying $WORKING_PATH\bootmgfw.efi to $($File.FullName)" Copy-Item -Path $WORKING_PATH"\bootmgfw.efi" -Destination $File.FullName -Force -ErrorAction stop | Out-Null } elseif ($File.Name -ieq "bootmgr.efi") { + Write-Output "$(Get-TS): Copying $WORKING_PATH\bootmgr.efi to $($File.FullName)" Copy-Item -Path $WORKING_PATH"\bootmgr.efi" -Destination $File.FullName -Force -ErrorAction stop | Out-Null } From aaf60592b355688eca14612a68a95d344cf3f86f Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 21 Jun 2024 12:08:42 -0600 Subject: [PATCH 113/354] Applicability updates --- windows/client-management/mdm/defender-csp.md | 4 +- windows/client-management/mdm/firewall-csp.md | 38 +++++++++---------- windows/client-management/mdm/laps-csp.md | 32 ++++++++-------- .../mdm/policy-csp-internetexplorer.md | 8 ++-- .../mdm/policy-csp-privacy.md | 12 +++--- .../mdm/policy-csp-remotedesktopservices.md | 6 +-- 6 files changed, 48 insertions(+), 52 deletions(-) diff --git a/windows/client-management/mdm/defender-csp.md b/windows/client-management/mdm/defender-csp.md index 89c079aeea..198570987e 100644 --- a/windows/client-management/mdm/defender-csp.md +++ b/windows/client-management/mdm/defender-csp.md @@ -1,7 +1,7 @@ --- title: Defender CSP description: Learn more about the Defender CSP. -ms.date: 06/19/2024 +ms.date: 06/21/2024 --- @@ -367,7 +367,7 @@ Control whether network protection can improve performance by switching from rea | Value | Description | |:--|:--| | 1 | Allow switching to asynchronous inspection. | -| 0 (Default) | Don't allow asynchronous inspection. | +| 0 (Default) | Don’t allow asynchronous inspection. | diff --git a/windows/client-management/mdm/firewall-csp.md b/windows/client-management/mdm/firewall-csp.md index 53b060e0f5..549c2cbc81 100644 --- a/windows/client-management/mdm/firewall-csp.md +++ b/windows/client-management/mdm/firewall-csp.md @@ -1,7 +1,7 @@ --- title: Firewall CSP description: Learn more about the Firewall CSP. -ms.date: 01/18/2024 +ms.date: 06/21/2024 --- @@ -9,8 +9,6 @@ ms.date: 01/18/2024 # Firewall CSP -[!INCLUDE [Windows Insider tip](includes/mdm-insider-csp-note.md)] - The Firewall configuration service provider (CSP) allows the mobile device management (MDM) server to configure the Windows Defender Firewall global settings, per profile settings, and the desired set of custom rules to be enforced on the device. Using the Firewall CSP the IT admin can now manage non-domain devices, and reduce the risk of network security threats across all systems connecting to the corporate network. @@ -3465,7 +3463,7 @@ This value represents the order of rule enforcement. A lower priority rule is ev | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -3805,7 +3803,7 @@ VM Creator ID that these settings apply to. Valid format is a GUID. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -3954,7 +3952,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -3992,7 +3990,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4042,7 +4040,7 @@ This value is used as an on/off switch. If this value is false, Hyper-V Firewall | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4092,7 +4090,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4142,7 +4140,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4289,7 +4287,7 @@ This value is an on/off switch for loopback traffic. This determines if this VM | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4327,7 +4325,7 @@ This value is an on/off switch for loopback traffic. This determines if this VM | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4377,7 +4375,7 @@ This value is used as an on/off switch. If this value is false, Hyper-V Firewall | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4427,7 +4425,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4477,7 +4475,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4526,7 +4524,7 @@ This value is an on/off switch for the Hyper-V Firewall enforcement. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4564,7 +4562,7 @@ This value is an on/off switch for the Hyper-V Firewall enforcement. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4614,7 +4612,7 @@ This value is used as an on/off switch. If this value is false, Hyper-V Firewall | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4664,7 +4662,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | @@ -4714,7 +4712,7 @@ This value is the action that the Hyper-V Firewall does by default (and evaluate | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 22H2 [10.0.22621.2352] and later
    ✅ Windows Insider Preview [10.0.25398] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25398] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2352] and later | diff --git a/windows/client-management/mdm/laps-csp.md b/windows/client-management/mdm/laps-csp.md index e48b4b6d54..0e5e7d5b2d 100644 --- a/windows/client-management/mdm/laps-csp.md +++ b/windows/client-management/mdm/laps-csp.md @@ -1,7 +1,7 @@ --- title: LAPS CSP description: Learn more about the LAPS CSP. -ms.date: 05/20/2024 +ms.date: 06/21/2024 --- @@ -55,7 +55,7 @@ The following list shows the LAPS configuration service provider nodes: | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -94,7 +94,7 @@ Defines the parent interior node for all action-related settings in the LAPS CSP | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -134,7 +134,7 @@ This action invokes an immediate reset of the local administrator account passwo | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -179,7 +179,7 @@ The value returned is an HRESULT code: | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -219,7 +219,7 @@ Root node for LAPS policies. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -269,7 +269,7 @@ This setting has a maximum allowed value of 12 passwords. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -314,7 +314,7 @@ Note if a custom managed local administrator account name is specified in this s | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -376,7 +376,7 @@ If not specified, this setting defaults to True. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -701,7 +701,7 @@ If not specified, this setting will default to 1. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -807,7 +807,7 @@ This setting has a maximum allowed value of 10 words. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -855,7 +855,7 @@ This setting has a maximum allowed value of 365 days. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -927,7 +927,7 @@ Passphrase list taken from "Deep Dive: EFF's New Wordlists for Random Passphrase | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -983,7 +983,7 @@ If not specified, this setting defaults to True. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -1031,7 +1031,7 @@ This setting has a maximum allowed value of 64 characters. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | @@ -1089,7 +1089,7 @@ If not specified, this setting will default to 3 (Reset the password and logoff | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later
    ✅ Windows Insider Preview [10.0.25145] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.1663] and later
    ✅ [10.0.25145] and later
    ✅ Windows 10, version 1809 [10.0.17763.4244] and later
    ✅ Windows 10, version 2004 [10.0.19041.2784] and later
    ✅ Windows 11, version 21H2 [10.0.22000.1754] and later
    ✅ Windows 11, version 22H2 [10.0.22621.1480] and later | diff --git a/windows/client-management/mdm/policy-csp-internetexplorer.md b/windows/client-management/mdm/policy-csp-internetexplorer.md index 54422578ac..61083dafc6 100644 --- a/windows/client-management/mdm/policy-csp-internetexplorer.md +++ b/windows/client-management/mdm/policy-csp-internetexplorer.md @@ -1,7 +1,7 @@ --- title: InternetExplorer Policy CSP description: Learn more about the InternetExplorer Area in Policy CSP. -ms.date: 06/19/2024 +ms.date: 06/21/2024 --- @@ -7772,7 +7772,7 @@ High Safety enables applets to run in their sandbox. Disable Java to prevent any | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2227] and later
    ✅ Windows 10, version 2004 [10.0.19041.3758] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2792] and later
    ✅ Windows Insider Preview [10.0.25398.643] | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2227] and later
    ✅ [10.0.25398.643] and later
    ✅ [10.0.25965] and later
    ✅ Windows 10, version 2004 [10.0.19041.3758] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2792] and later | @@ -8847,7 +8847,7 @@ High Safety enables applets to run in their sandbox. Disable Java to prevent any | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2227] and later
    ✅ Windows 10, version 2004 [10.0.19041.3758] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2792] and later
    ✅ Windows Insider Preview [10.0.25398.643] | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2227] and later
    ✅ [10.0.25398.643] and later
    ✅ [10.0.25965] and later
    ✅ Windows 10, version 2004 [10.0.19041.3758] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2792] and later | @@ -17418,7 +17418,7 @@ High Safety enables applets to run in their sandbox. Disable Java to prevent any | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2227] and later
    ✅ Windows 10, version 2004 [10.0.19041.3758] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2792] and later
    ✅ Windows Insider Preview [10.0.25398.643] | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2227] and later
    ✅ [10.0.25398.643] and later
    ✅ [10.0.25965] and later
    ✅ Windows 10, version 2004 [10.0.19041.3758] and later
    ✅ Windows 11, version 22H2 [10.0.22621.2792] and later | diff --git a/windows/client-management/mdm/policy-csp-privacy.md b/windows/client-management/mdm/policy-csp-privacy.md index 5094419e31..4713b9e21b 100644 --- a/windows/client-management/mdm/policy-csp-privacy.md +++ b/windows/client-management/mdm/policy-csp-privacy.md @@ -1,7 +1,7 @@ --- title: Privacy Policy CSP description: Learn more about the Privacy Area in Policy CSP. -ms.date: 01/18/2024 +ms.date: 06/21/2024 --- @@ -9,8 +9,6 @@ ms.date: 01/18/2024 # Policy CSP - Privacy -[!INCLUDE [Windows Insider tip](includes/mdm-insider-csp-note.md)] - @@ -2929,7 +2927,7 @@ If an app is open when this Group Policy object is applied on a device, employee | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview [10.0.25000] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25000] and later | @@ -3005,7 +3003,7 @@ If an app is open when this Group Policy object is applied on a device, employee | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview [10.0.25000] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25000] and later | @@ -3070,7 +3068,7 @@ If an app is open when this Group Policy object is applied on a device, employee | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview [10.0.25000] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25000] and later | @@ -3135,7 +3133,7 @@ If an app is open when this Group Policy object is applied on a device, employee | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview [10.0.25000] | +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.25000] and later | diff --git a/windows/client-management/mdm/policy-csp-remotedesktopservices.md b/windows/client-management/mdm/policy-csp-remotedesktopservices.md index bb9986b0c4..6a06309613 100644 --- a/windows/client-management/mdm/policy-csp-remotedesktopservices.md +++ b/windows/client-management/mdm/policy-csp-remotedesktopservices.md @@ -1,7 +1,7 @@ --- title: RemoteDesktopServices Policy CSP description: Learn more about the RemoteDesktopServices Area in Policy CSP. -ms.date: 06/19/2024 +ms.date: 06/21/2024 --- @@ -439,7 +439,7 @@ By default, Remote Desktop allows redirection of WebAuthn requests. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ [10.0.25398.827] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | @@ -493,7 +493,7 @@ By default, Remote Desktop allows redirection of WebAuthn requests. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ [10.0.25398.827] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | From 6d00f714b067749e4d999274305036135ddc2fcc Mon Sep 17 00:00:00 2001 From: Cern McAtee Date: Fri, 21 Jun 2024 14:03:41 -0700 Subject: [PATCH 114/354] Update whats-new-microsoft-store-business-education.md --- .../whats-new-microsoft-store-business-education.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/store-for-business/whats-new-microsoft-store-business-education.md b/store-for-business/whats-new-microsoft-store-business-education.md index 964efc7788..6069bb6ad8 100644 --- a/store-for-business/whats-new-microsoft-store-business-education.md +++ b/store-for-business/whats-new-microsoft-store-business-education.md @@ -8,7 +8,7 @@ ms.author: cmcatee author: cmcatee-MSFT manager: scotv ms.topic: conceptual -ms.date: 01/11/2024 +ms.date: 06/21/2024 ms.reviewer: --- @@ -20,6 +20,12 @@ ms.reviewer: ## Latest updates for Store for Business and Education +**June 2024** + +The Microsoft Store for Business and Microsoft Store for Education portals will retire on August 15, 2024. For more information about this change, see [Update to Intune integration with the Microsoft Store on Windows](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/update-to-intune-integration-with-the-microsoft-store-on-windows/ba-p/3585077) and [FAQ: Supporting Microsoft Store experiences on managed devices](https://techcommunity.microsoft.com/t5/windows-management/faq-supporting-microsoft-store-experiences-on-managed-devices/m-p/3585286). If you are using offline licensing, you can use the [WinGet Download command](/windows/package-manager/winget/download) to continue to access offline apps and license files. + +## Previous releases and updates + **January 2024** **Removal of private store capability from Microsoft Store for Business and Education** @@ -28,8 +34,6 @@ The private store tab and associated functionality was removed from the Microsof We recommend customers use the [Private app repository, Windows Package Manager, and Company Portal app](/windows/application-management/private-app-repository-mdm-company-portal-windows-11) to provide a private app repository within their organization. -## Previous releases and updates - [May 2023](release-history-microsoft-store-business-education.md#may-2023) - Tab removed from Microsoft Store apps on Windows 10 PCs. From d8728692327c72fc3db0ab5a96a8c55812e52d56 Mon Sep 17 00:00:00 2001 From: Cern McAtee Date: Fri, 21 Jun 2024 14:51:43 -0700 Subject: [PATCH 115/354] Update whats-new-microsoft-store-business-education.md --- .../whats-new-microsoft-store-business-education.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/store-for-business/whats-new-microsoft-store-business-education.md b/store-for-business/whats-new-microsoft-store-business-education.md index 6069bb6ad8..4af32aae83 100644 --- a/store-for-business/whats-new-microsoft-store-business-education.md +++ b/store-for-business/whats-new-microsoft-store-business-education.md @@ -14,10 +14,6 @@ ms.reviewer: # What's new in Microsoft Store for Business and Education -> [!IMPORTANT] -> -> - The retirement of Microsoft Store for Business and Microsoft Store for Education has been postponed. We will update this notice when a new retirement date is announced. You can continue to use the current capabilities of free apps until that time. For more information about this change, see [Update to Intune integration with the Microsoft Store on Windows](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/update-to-endpoint-manager-integration-with-the-microsoft-store/ba-p/3585077) and [FAQ: Supporting Microsoft Store experiences on managed devices](https://techcommunity.microsoft.com/t5/windows-management/faq-supporting-microsoft-store-experiences-on-managed-devices/m-p/3585286). - ## Latest updates for Store for Business and Education **June 2024** From 2dbf84843f4a450ef63ce58c5d1d384c9b8a90ca Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 23 Jun 2024 08:50:25 -0400 Subject: [PATCH 116/354] Updates --- windows/security/docfx.json | 5 +++++ .../deploy/hybrid-cert-trust-adfs.md | 16 ++-------------- .../deploy/hybrid-cert-trust-enroll.md | 2 +- .../deploy/hybrid-cert-trust-pki.md | 2 +- .../deploy/hybrid-cert-trust.md | 2 +- .../includes/certificate-template-auth.md | 2 +- .../certificate-template-enrollment-agent.md | 2 +- .../deploy/on-premises-cert-trust-adfs.md | 19 ++++--------------- .../deploy/on-premises-cert-trust-enroll.md | 2 +- .../deploy/on-premises-cert-trust.md | 4 +--- .../hello-for-business/deploy/toc.yml | 10 +++++----- 11 files changed, 23 insertions(+), 43 deletions(-) diff --git a/windows/security/docfx.json b/windows/security/docfx.json index 2e3135282a..af2b39bffc 100644 --- a/windows/security/docfx.json +++ b/windows/security/docfx.json @@ -167,6 +167,11 @@ "✅ Windows Server 2019", "✅ Windows Server 2016" ], + "identity-protection/hello-for-business/**/*.md": [ + "✅ Windows 11", + "✅ Windows 10", + "✅ Windows Server 2025 (preview)" + ], "identity-protection/smart-cards/**/*.md": [ "✅ Windows 11", "✅ Windows 10", diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-adfs.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-adfs.md index 94167d36b9..d17d8078a4 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-adfs.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-adfs.md @@ -1,7 +1,7 @@ --- title: Configure Active Directory Federation Services in a hybrid certificate trust model description: Learn how to configure Active Directory Federation Services (AD FS) to support the Windows Hello for Business hybrid certificate trust model. -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial --- @@ -52,19 +52,7 @@ Sign-in a domain controller or management workstation with _Domain Admin_ equiva 1. Restart the AD FS server > [!NOTE] -> For AD FS 2019 in a hybrid certificate trust model, a PRT issue exists. You may encounter this error in the AD FS Admin event logs: *Received invalid Oauth request. The client 'NAME' is forbidden to access the resource with scope 'ugs'*. To remediate this error: -> -> 1. Launch AD FS management console and browse to **Services > Scope Descriptions** -> 1. Right click **Scope Descriptions** and select **Add Scope Description** -> 1. Under name type `ugs` and select **Apply > OK** -> 1. Launch PowerShell as an administrator -> 1. Obtain the *ObjectIdentifier* of the application permission with the `ClientRoleIdentifier` parameter equal to `38aa3b87-a06d-4817-b275-7a316988d93b`: -> ```PowerShell -> (Get-AdfsApplicationPermission -ServerRoleIdentifiers 'http://schemas.microsoft.com/ws/2009/12/identityserver/selfscope' | ?{ $_.ClientRoleIdentifier -eq '38aa3b87-a06d-4817-b275-7a316988d93b' }).ObjectIdentifier -> ``` -> 1. Execute the command `Set-AdfsApplicationPermission -TargetIdentifier -AddScope 'ugs'`. -> 1. Restart the AD FS service -> 1. On the client: Restart the client. User should be prompted to provision Windows Hello for Business +> For AD FS 2019 and later in a certificate trust model, a known PRT issue exists. You may encounter this error in AD FS Admin event logs: Received invalid Oauth request. The client 'NAME' is forbidden to access the resource with scope 'ugs'. For more information about the isse and its resolution, see [Certificate trust provisioning with AD FS broken on windows server 2019](../hello-deployment-issues.md#certificate-trust-provisioning-with-ad-fs-broken-on-windows-server-2019). ## Section review and next steps diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md index 2891e83911..50ff10820c 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md @@ -1,7 +1,7 @@ --- title: Configure and enroll in Windows Hello for Business in hybrid certificate trust model description: Learn how to configure devices and enroll them in Windows Hello for Business in a hybrid certificate trust scenario. -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial --- diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md index 35d1ff0083..64fe6ba400 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md @@ -1,7 +1,7 @@ --- title: Configure and validate the PKI in an hybrid certificate trust model description: Configure and validate the Public Key Infrastructure when deploying Windows Hello for Business in a hybrid certificate trust model. -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial --- diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md index 58e8cc3e3d..bbb9a72759 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md @@ -1,7 +1,7 @@ --- title: Windows Hello for Business hybrid certificate trust deployment guide description: Learn how to deploy Windows Hello for Business in a hybrid certificate trust scenario. -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial --- diff --git a/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-auth.md b/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-auth.md index aab8d0e4c9..4adf8b030a 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-auth.md +++ b/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-auth.md @@ -61,4 +61,4 @@ CertUtil: -dsTemplate command completed successfully." ``` >[!NOTE] ->If you gave your Windows Hello for Business Authentication certificate template a different name, then replace `WHFBAuthentication` in the above command with the name of your certificate template. It's important that you use the template name rather than the template display name. You can view the template name on the **General** tab of the certificate template using the Certificate Template management console (certtmpl.msc). Or, you can view the template name using the `Get-CATemplate` ADCS Administration Windows PowerShell cmdlet on your certification authority. +>If you gave your Windows Hello for Business Authentication certificate template a different name, then replace `WHFBAuthentication` in the above command with the name of your certificate template. It's important that you use the template name rather than the template display name. You can view the template name on the **General** tab of the certificate template using the Certificate Template management console (certtmpl.msc). diff --git a/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md b/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md index b43c9f754a..0290c9b645 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md +++ b/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md @@ -3,7 +3,7 @@ ms.date: 01/03/2024 ms.topic: include --- -### Configure an enrollment agent certificate template +## Configure an enrollment agent certificate template A certificate registration authority (CRA) is a trusted authority that validates certificate request. Once it validates the request, it presents the request to the certification authority (CA) for issuance. The CA issues the certificate, returns it to the CRA, which returns the certificate to the requesting user. Windows Hello for Business certificate trust deployments use AD FS as the CRA. diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md index dc000be03a..766ebc53d4 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md @@ -1,7 +1,7 @@ --- title: Configure Active Directory Federation Services in an on-premises certificate trust model description: Learn how to configure Active Directory Federation Services (AD FS) to support the Windows Hello for Business on-premises certificate trust model. -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial --- @@ -16,20 +16,7 @@ Windows Hello for Business works exclusively with the Active Directory Federatio [!INCLUDE [adfs-deploy](includes/adfs-deploy.md)] > [!NOTE] -> For AD FS 2019 and later in a certificate trust model, a known PRT issue exists. You may encounter this error in AD FS Admin event logs: Received invalid Oauth request. The client 'NAME' is forbidden to access the resource with scope 'ugs'. To remediate this error: -> -> 1. Launch AD FS management console. Browse to ***Services > Scope Descriptions** -> 1. Right-click **Scope Descriptions** and select **Add Scope Description** -> 1. Under name type *ugs* and select **Apply > OK** -> 1. Launch PowerShell as an administrator and execute the following commands: -> -> ```PowerShell -> $id = (Get-AdfsApplicationPermission -ServerRoleIdentifiers 'http://schemas.microsoft.com/ws/2009/12/identityserver/selfscope' | ?{ $_.ClientRoleIdentifier -eq '38aa3b87-a06d-4817-b275-7a316988d93b' }).ObjectIdentifier -> Set-AdfsApplicationPermission -TargetIdentifier $id -AddScope 'ugs' -> ``` -> -> 1. Restart the AD FS service -> 1. Restart the client. User should be prompted to provision Windows Hello for Business +> For AD FS 2019 and later in a certificate trust model, a known PRT issue exists. You may encounter this error in AD FS Admin event logs: Received invalid Oauth request. The client 'NAME' is forbidden to access the resource with scope 'ugs'. For more information about the isse and its resolution, see [Certificate trust provisioning with AD FS broken on windows server 2019](../hello-deployment-issues.md#certificate-trust-provisioning-with-ad-fs-broken-on-windows-server-2019). ## Review to validate the AD FS and Active Directory configuration @@ -40,6 +27,8 @@ Windows Hello for Business works exclusively with the Active Directory Federatio > - Confirm you added the AD FS service account to the KeyAdmins group > - Confirm you enabled the Device Registration service +[!INCLUDE [enrollment-agent-certificate-template](includes/certificate-template-enrollment-agent.md)] + ## Configure the certificate registration authority The Windows Hello for Business on-premises certificate-based deployment uses AD FS as the certificate registration authority (CRA). The registration authority is responsible for issuing certificates to users and devices. The registration authority is also responsible for revoking certificates when users or devices are removed from the environment. diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index f856919e78..2c9e551150 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -1,5 +1,5 @@ --- -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial title: Configure Windows Hello for Business Policy settings in an on-premises certificate trust description: Configure Windows Hello for Business Policy settings for Windows Hello for Business in an on-premises certificate trust scenario diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md index 92ee0befff..69b6ebb9fd 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md @@ -1,7 +1,7 @@ --- title: Windows Hello for Business on-premises certificate trust deployment guide description: Learn how to deploy Windows Hello for Business in an on-premises, certificate trust scenario. -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial --- @@ -48,8 +48,6 @@ Windows Hello for Business must have a Public Key Infrastructure (PKI) when usin [!INCLUDE [web-server-certificate-template](includes/certificate-template-web-server.md)] -[!INCLUDE [enrollment-agent-certificate-template](includes/certificate-template-enrollment-agent.md)] - [!INCLUDE [auth-certificate-template](includes/certificate-template-auth.md)] [!INCLUDE [unpublish-superseded-templates](includes/unpublish-superseded-templates.md)] diff --git a/windows/security/identity-protection/hello-for-business/deploy/toc.yml b/windows/security/identity-protection/hello-for-business/deploy/toc.yml index 55964be416..9ae8643cf0 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/toc.yml +++ b/windows/security/identity-protection/hello-for-business/deploy/toc.yml @@ -8,7 +8,7 @@ items: - name: Cloud Kerberos trust deployment href: hybrid-cloud-kerberos-trust.md - name: Key trust deployment - items: + items: - name: Requirements and validation href: hybrid-key-trust.md displayName: key trust @@ -19,7 +19,7 @@ items: href: ../hello-hybrid-aadj-sso.md displayName: key trust - name: Certificate trust deployment - items: + items: - name: Requirements and validation href: hybrid-cert-trust.md displayName: certificate trust @@ -41,7 +41,7 @@ items: - name: On-premises deployments items: - name: Key trust deployment - items: + items: - name: Requirements and validation href: on-premises-key-trust.md - name: Prepare and deploy Active Directory Federation Services (AD FS) @@ -49,10 +49,10 @@ items: - name: Configure and enroll in Windows Hello for Business href: on-premises-key-trust-enroll.md - name: Certificate trust deployment - items: + items: - name: Requirements and validation href: on-premises-cert-trust.md - - name: Prepare and Deploy Active Directory Federation Services (AD FS) + - name: Prepare and deploy Active Directory Federation Services (AD FS) href: on-premises-cert-trust-adfs.md - name: Configure and enroll in Windows Hello for Business href: on-premises-cert-trust-enroll.md From db7d53094ee86abc9092a0a065dab3ef4ba9f83b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 23 Jun 2024 16:23:49 -0400 Subject: [PATCH 117/354] updates --- .../hello-for-business/deploy/includes/adfs-mfa.md | 4 +++- .../hello-for-business/deploy/on-premises-cert-trust-adfs.md | 1 + .../hello-for-business/deploy/on-premises-cert-trust.md | 2 -- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/includes/adfs-mfa.md b/windows/security/identity-protection/hello-for-business/deploy/includes/adfs-mfa.md index a684145a1d..6adbe43c94 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/includes/adfs-mfa.md +++ b/windows/security/identity-protection/hello-for-business/deploy/includes/adfs-mfa.md @@ -1,5 +1,5 @@ --- -ms.date: 01/03/2024 +ms.date: 06/23/2024 ms.topic: include --- @@ -8,6 +8,8 @@ ms.topic: include Windows Hello for Business requires users perform multifactor authentication (MFA) prior to enroll in the service. On-premises deployments can use, as MFA option: - certificates + > [!NOTE] + > When using this option, the certificates must be deployed to the users. For example, users can use their smart card or virtual smart card as a certificate authentication option. - non-Microsoft authentication providers for AD FS - custom authentication provider for AD FS diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md index 766ebc53d4..8ae0f88a26 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md @@ -76,6 +76,7 @@ For detailed information about the certificate, use `Certutil -q -v [!div class="checklist"] > Before you continue with the deployment, validate your deployment progress by reviewing the following items: > +> - Configure an enrollment agent certificate template > - Confirm only the AD FS service account has the allow enroll permission for the enrollment agent certificate template > - Consider using an HSM to protect the enrollment agent certificate; however, understand the frequency and quantity of signature operations the enrollment agent server makes and understand the impact it has on overall performance > - Confirm you properly configured the Windows Hello for Business authentication certificate template diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md index 69b6ebb9fd..20ea17f9cc 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md @@ -7,7 +7,6 @@ ms.topic: tutorial # On-premises certificate trust deployment guide - [!INCLUDE [apply-to-on-premises-cert-trust](includes/apply-to-on-premises-cert-trust.md)] [!INCLUDE [requirements](includes/requirements.md)] @@ -83,7 +82,6 @@ Sign in to the CA or management workstations with **Enterprise Admin** equivalen > - Configure domain controller and web server certificate templates > - Supersede existing domain controller certificates > - Unpublish superseded certificate templates -> - Configure an enrollment agent certificate template > - Publish the certificate templates to the CA > - Deploy certificates to the domain controllers > - Validate the domain controllers configuration From 19459e417da4ca89567d0883c5d318870fbca90b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 12:28:25 -0400 Subject: [PATCH 118/354] updates --- windows/security/docfx.json | 5 ----- .../deploy/on-premises-cert-trust-enroll.md | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/windows/security/docfx.json b/windows/security/docfx.json index af2b39bffc..2e3135282a 100644 --- a/windows/security/docfx.json +++ b/windows/security/docfx.json @@ -167,11 +167,6 @@ "✅ Windows Server 2019", "✅ Windows Server 2016" ], - "identity-protection/hello-for-business/**/*.md": [ - "✅ Windows 11", - "✅ Windows 10", - "✅ Windows Server 2025 (preview)" - ], "identity-protection/smart-cards/**/*.md": [ "✅ Windows 11", "✅ Windows 10", diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index 2c9e551150..63391d32fc 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -75,6 +75,8 @@ The AD FS registration authority verifies the key used in the certificate reques The CA validates that the certificate is signed by the registration authority. On successful validation, it issues a certificate based on the request and returns the certificate to the AD FS registration authority. The registration authority returns the certificate to Windows where it then installs the certificate in the current user's certificate store. Once this process completes, the Windows Hello for Business provisioning workflow informs the user that they can use their PIN to sign-in through the Action Center. +> [!VIDEO 387edee6-45a2-421d-9ea7-0f5aa0f02289] + ### Sequence diagram To better understand the provisioning flows, review the following sequence diagram: From 1e0469f8454923e0f18415a1c8d870c13a103026 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 12:55:20 -0400 Subject: [PATCH 119/354] updates --- .../hello-for-business/deploy/on-premises-cert-trust-enroll.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index 63391d32fc..f6cd340522 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -77,6 +77,8 @@ The CA validates that the certificate is signed by the registration authority. O > [!VIDEO 387edee6-45a2-421d-9ea7-0f5aa0f02289] +> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d] + ### Sequence diagram To better understand the provisioning flows, review the following sequence diagram: From 5163bf104f3a349bbe3fdc3c2d1156324e6772a7 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:34:52 -0400 Subject: [PATCH 120/354] updates --- .../hello-for-business/deploy/on-premises-cert-trust-enroll.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index f6cd340522..4b378b308b 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -75,8 +75,6 @@ The AD FS registration authority verifies the key used in the certificate reques The CA validates that the certificate is signed by the registration authority. On successful validation, it issues a certificate based on the request and returns the certificate to the AD FS registration authority. The registration authority returns the certificate to Windows where it then installs the certificate in the current user's certificate store. Once this process completes, the Windows Hello for Business provisioning workflow informs the user that they can use their PIN to sign-in through the Action Center. -> [!VIDEO 387edee6-45a2-421d-9ea7-0f5aa0f02289] - > [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d] ### Sequence diagram From f10e79fdb1c007176833c2e98ae56b633cb573ff Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:12:49 -0400 Subject: [PATCH 121/354] updates --- .../hello-for-business/deploy/on-premises-cert-trust-enroll.md | 2 +- .../hello-for-business/deploy/on-premises-key-trust-enroll.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index 4b378b308b..d46c68519a 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -73,7 +73,7 @@ After a successful key registration, Windows creates a certificate request using The AD FS registration authority verifies the key used in the certificate request matches the key that was previously registered. On a successful match, the AD FS registration authority signs the certificate request using its enrollment agent certificate and sends it to the certificate authority. -The CA validates that the certificate is signed by the registration authority. On successful validation, it issues a certificate based on the request and returns the certificate to the AD FS registration authority. The registration authority returns the certificate to Windows where it then installs the certificate in the current user's certificate store. Once this process completes, the Windows Hello for Business provisioning workflow informs the user that they can use their PIN to sign-in through the Action Center. +The CA validates that the certificate is signed by the registration authority. On successful validation, it issues a certificate based on the request and returns the certificate to the AD FS registration authority. The registration authority returns the certificate to Windows where it then installs the certificate in the current user's certificate store. > [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d] diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md index 34f55f78f3..5a3224a779 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md @@ -52,6 +52,8 @@ This information is also available using the `dsregcmd.exe /status` command from [!INCLUDE [user-experience](includes/user-experience.md)] +> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d] + ### Sequence diagram To better understand the provisioning flows, review the following sequence diagram: From 934cff5fd58697ee42bf9e7dcbe3588975ead611 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:37:47 -0400 Subject: [PATCH 122/354] updates --- .../deploy/on-premises-cert-trust-adfs.md | 13 +++++++++++++ .../deploy/on-premises-cert-trust.md | 2 +- .../deploy/on-premises-key-trust.md | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md index 8ae0f88a26..1d2b4c388f 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md @@ -29,6 +29,19 @@ Windows Hello for Business works exclusively with the Active Directory Federatio [!INCLUDE [enrollment-agent-certificate-template](includes/certificate-template-enrollment-agent.md)] +### Publish the certificate template to the CA + +Sign in to the CA or management workstations with **Enterprise Admin** equivalent credentials. + +1. Open the **Certification Authority** management console +1. Expand the parent node from the navigation pane +1. Select **Certificate Templates** in the navigation pane +1. Right-click the **Certificate Templates** node. Select **New > Certificate Template** to issue +1. In the **Enable Certificates Templates** window, select the *WHFB Enrollment Agent* template you created in the previous step. Select **OK** to publish the selected certificate templates to the certification authority +1. If you published the *Domain Controller Authentication (Kerberos)* certificate template, then unpublish the certificate templates you included in the superseded templates list + - To unpublish a certificate template, right-click the certificate template you want to unpublish and select **Delete**. Select **Yes** to confirm the operation +1. Close the console + ## Configure the certificate registration authority The Windows Hello for Business on-premises certificate-based deployment uses AD FS as the certificate registration authority (CRA). The registration authority is responsible for issuing certificates to users and devices. The registration authority is also responsible for revoking certificates when users or devices are removed from the environment. diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md index 20ea17f9cc..0240088385 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust.md @@ -61,7 +61,7 @@ Sign in to the CA or management workstations with **Enterprise Admin** equivalen 1. Expand the parent node from the navigation pane 1. Select **Certificate Templates** in the navigation pane 1. Right-click the **Certificate Templates** node. Select **New > Certificate Template** to issue -1. In the **Enable Certificates Templates** window, select the *Domain Controller Authentication (Kerberos)*, *Internal Web Server*, *WHFB Enrollment Agent* and *WHFB Authentication* templates you created in the previous steps. Select **OK** to publish the selected certificate templates to the certification authority +1. In the **Enable Certificates Templates** window, select the *Domain Controller Authentication (Kerberos)*, *Internal Web Server*, and *WHFB Authentication* templates you created in the previous steps. Select **OK** to publish the selected certificate templates to the certification authority 1. If you published the *Domain Controller Authentication (Kerberos)* certificate template, then unpublish the certificate templates you included in the superseded templates list - To unpublish a certificate template, right-click the certificate template you want to unpublish and select **Delete**. Select **Yes** to confirm the operation 1. Close the console diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust.md index 0b7ef9d9a3..347471eeef 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust.md @@ -1,7 +1,7 @@ --- title: Windows Hello for Business on-premises key trust deployment guide description: Learn how to deploy Windows Hello for Business in an on-premises, key trust scenario. -ms.date: 03/12/2024 +ms.date: 06/24/2024 ms.topic: tutorial --- @@ -57,7 +57,7 @@ Sign in to the CA or management workstations with **Enterprise Admin** equivalen 1. Expand the parent node from the navigation pane 1. Select **Certificate Templates** in the navigation pane 1. Right-click the **Certificate Templates** node. Select **New > Certificate Template** to issue -1. In the **Enable Certificates Templates** window, select the *Domain Controller Authentication (Kerberos)*, and *Internal Web Server* templates you created in the previous steps. Select **OK** to publish the selected certificate templates to the certification authority +1. In the **Enable Certificates Templates** window, select the *Domain Controller Authentication (Kerberos)* and *Internal Web Server* templates you created in the previous steps. Select **OK** to publish the selected certificate templates to the certification authority 1. If you published the *Domain Controller Authentication (Kerberos)* certificate template, then unpublish the certificate templates you included in the superseded templates list - To unpublish a certificate template, right-click the certificate template you want to unpublish and select **Delete**. Select **Yes** to confirm the operation 1. Close the console From 08b4aaf082cde6f9ef50fdd959801110570092d7 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:58:09 -0400 Subject: [PATCH 123/354] updates --- .../deploy/includes/certificate-template-enrollment-agent.md | 4 ++-- .../hello-for-business/deploy/on-premises-cert-trust-adfs.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md b/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md index 0290c9b645..df1df5291f 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md +++ b/windows/security/identity-protection/hello-for-business/deploy/includes/certificate-template-enrollment-agent.md @@ -12,7 +12,7 @@ The CRA enrolls for an *enrollment agent certificate*. Once the CRA verifies the > [!IMPORTANT] > Follow the procedures below based on the AD FS service account used in your environment. -#### Create an enrollment agent certificate for Group Managed Service Accounts (GMSA) +### Create an enrollment agent certificate for Group Managed Service Accounts (GMSA) Sign in to a CA or management workstations with *Domain Administrator* equivalent credentials. @@ -32,7 +32,7 @@ Sign in to a CA or management workstations with *Domain Administrator* equivalen 1. Select **OK** to finalize your changes and create the new template 1. Close the console -#### Create an enrollment agent certificate for a standard service account +### Create an enrollment agent certificate for a standard service account Sign in to a CA or management workstations with *Domain Administrator* equivalent credentials. diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md index 1d2b4c388f..7446d01e92 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-adfs.md @@ -57,7 +57,7 @@ Set-AdfsCertificateAuthority -EnrollmentAgent -EnrollmentAgentCertificateTemplat >[!NOTE] > If you gave your Windows Hello for Business Enrollment Agent and Windows Hello for Business Authentication certificate templates different names, then replace *WHFBEnrollmentAgent* and *WHFBAuthentication* in the above command with the name of your certificate templates. It's important that you use the template name rather than the template display name. You can view the template name on the **General** tab of the certificate template by using the **Certificate Template** management console (certtmpl.msc). Or, you can view the template name by using the `Get-CATemplate` PowerShell cmdlet on a CA. -### Enrollment agent certificate enrollment +### Enrollment agent certificate lifecycle management AD FS performs its own certificate lifecycle management. Once the registration authority is configured with the proper certificate template, the AD FS server attempts to enroll the certificate on the first certificate request or when the service first starts. From 0c85b22c56b11da1f3fb5ae9813804eef97ce0cf Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 16:32:53 -0400 Subject: [PATCH 124/354] video updates --- .../deploy/on-premises-cert-trust-enroll.md | 10 ++++++++-- .../deploy/on-premises-key-trust-enroll.md | 6 ++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index d46c68519a..13e2c77a6e 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -1,5 +1,9 @@ --- -ms.date: 06/23/2024 + +The following video shows the Windows Hello for Business enrollment steps after signing in with a password, using a custom MFA adapter for AD FS. + +> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d alt-text="Video showing the Windows Hello for Business enrollment steps after signing in with a password."] + ms.topic: tutorial title: Configure Windows Hello for Business Policy settings in an on-premises certificate trust description: Configure Windows Hello for Business Policy settings for Windows Hello for Business in an on-premises certificate trust scenario @@ -75,7 +79,9 @@ The AD FS registration authority verifies the key used in the certificate reques The CA validates that the certificate is signed by the registration authority. On successful validation, it issues a certificate based on the request and returns the certificate to the AD FS registration authority. The registration authority returns the certificate to Windows where it then installs the certificate in the current user's certificate store. -> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d] +The following video shows the Windows Hello for Business enrollment steps after signing in with a password, using a custom MFA adapter for AD FS. + +> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d alt-text="Video showing the Windows Hello for Business enrollment steps after signing in with a password."] ### Sequence diagram diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md index 5a3224a779..85c263917f 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md @@ -1,5 +1,5 @@ --- -ms.date: 03/12/2024 +ms.date: 06/23/2024 ms.topic: tutorial title: Configure Windows Hello for Business Policy settings in an on-premises key trust description: Configure Windows Hello for Business Policy settings for Windows Hello for Business in an on-premises key trust scenario @@ -52,7 +52,9 @@ This information is also available using the `dsregcmd.exe /status` command from [!INCLUDE [user-experience](includes/user-experience.md)] -> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d] +The following video shows the Windows Hello for Business enrollment steps after signing in with a password, using a custom MFA adapter for AD FS. + +> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d alt-text="Video showing the Windows Hello for Business enrollment steps after signing in with a password."] ### Sequence diagram From 6d0cd13b13e26939f67693380ca1ccdb05ba6539 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:25:54 -0400 Subject: [PATCH 125/354] update --- .../deploy/on-premises-cert-trust-enroll.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index 13e2c77a6e..ce1d4a781d 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -1,9 +1,5 @@ --- - -The following video shows the Windows Hello for Business enrollment steps after signing in with a password, using a custom MFA adapter for AD FS. - -> [!VIDEO https://learn-video.azurefd.net/vod/player?id=771165c0-e37f-4f9d-9e21-4f383cc6590d alt-text="Video showing the Windows Hello for Business enrollment steps after signing in with a password."] - +ms.date: 06/23/2024 ms.topic: tutorial title: Configure Windows Hello for Business Policy settings in an on-premises certificate trust description: Configure Windows Hello for Business Policy settings for Windows Hello for Business in an on-premises certificate trust scenario From 2bceedce740e95ff7d46528282fafcb376465234 Mon Sep 17 00:00:00 2001 From: Nidhi Doshi <77081571+doshnid@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:28:42 -0700 Subject: [PATCH 126/354] removed migration info mcc-isp.md removed migration info --- windows/deployment/do/mcc-isp.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/windows/deployment/do/mcc-isp.md b/windows/deployment/do/mcc-isp.md index 87b1740400..ff0a665d2e 100644 --- a/windows/deployment/do/mcc-isp.md +++ b/windows/deployment/do/mcc-isp.md @@ -20,7 +20,7 @@ appliesto: # Microsoft Connected Cache for Internet Service Providers (early preview) > [!IMPORTANT] -> This document is for Microsoft Connected Cache (early preview). Microsoft Connected Cache for ISPs is now in Public Preview - for our early preview customers, we highly encourage you to migrate your cache nodes to our public preview. See [instructions on how to migrate](#migrating-your-mcc-to-public-preview) below. +> This document is for Microsoft Connected Cache (early preview). Microsoft Connected Cache for ISPs is now in Public Preview - for our early preview customers, we highly encourage you to onboard onto our Public Preview program. For instructions on signing up and onboarding please visit [Operator sign up and service onboarding for Microsoft Connected Cache](mcc-isp-signup.md). ## Overview @@ -441,6 +441,13 @@ If the test fails, for more information, see the [common issues](#common-issues) ## Common Issues +### Microsoft Connected Cache is no longer serving traffic +If you did not migrate your cache node then your cache node may still be on early preview version. +Microsoft Connected Cache for Internet Service Providers is now in Public Preview! To get started, visit [Azure portal](https://www.portal.azure.com) to sign up for Microsoft Connected Cache for Internet Service Providers. Please see [Operator sign up and service onboarding for Microsoft Connected Cache](mcc-isp-signup.md) for more information on the requirements for sign up and onboarding. +
    +
    +
    + > [!NOTE] > This section only lists common issues. For more information on additional issues you may encounter when configuring IoT Edge, see the [IoT Edge troubleshooting guide](/azure/iot-edge/troubleshoot). @@ -551,19 +558,6 @@ If you have an MCC that's already active and running, follow the steps below to 1. To finish configuring your MCC with BGP routing, continue from Step 10 of [Steps to Install MCC](#steps-to-install-mcc). --> -## Migrating your MCC to Public Preview - -> [!NOTE] -> Please note, if you reboot your server, the version that you are currently on will no longer function, after which you will be required to migrate to the new version. - -We recommend migrating now to the new version to access these benefits and ensure no downtime. - -To migrate, use the following steps: - -1. Navigate to the cache node that you would like to migrate and select **Download Migration Package** using the button at the top of the page. -1. Follow the instructions under the **Connected Cache Migrate Scripts** section within Azure portal. - :::image type="content" source="images/mcc-isp-migrate.png" alt-text="A screenshot of Azure portal showing the migration instructions for migrating a cache node from the early preview to the public preview." lightbox="images/mcc-isp-migrate.png"::: -1. Go to https://portal.azure.com and navigate to your resource to check your migrated cache nodes. ## Uninstalling MCC From 01b62375fdfc78b81492ad7208c3bdcef238ee06 Mon Sep 17 00:00:00 2001 From: Valentyna Filimonova Date: Mon, 24 Jun 2024 17:05:00 -0600 Subject: [PATCH 127/354] Update updatemanagedvsupdateunmanageddevices.md I've incorporated some straight-forward feedback we've received from Richard Lian (CAT), plus MS-Style headers, and some of our best practices for more readable sentences. --- .../updatemanagedvsupdateunmanageddevices.md | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md index 9bc4dee63b..42bf6847bb 100644 --- a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md +++ b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md @@ -1,49 +1,51 @@ -# Managing Windows Updates: IT Managed vs. Unmanaged Devices +# Managing Windows updates: IT managed vs. unmanaged devices -For IT administrators, understanding the differences between managed and unmanaged devices is crucial for effective Windows update management. This article provides clarity on the terminology and practices involved in managing Windows updates for both types of devices. +As an IT administrator, understanding the differences between managed and unmanaged devices is crucial for effective Windows update management. This article provides clarity on the terminology and practices involved in managing Windows updates for both types of devices. -## What are Update-Managed Windows Devices? +## What are update-managed Windows devices? -Update-managed devices are those where an IT administrator or organization controls Windows updates through a management tool (such as Microsoft Intune) or by directly setting policies (for example, Group Policy (GPO), Configuration Service Provider (CSP) policy, or Graph). +Update-managed devices are those where an IT administrator or organization controls Windows updates through a management tool (such as Microsoft Intune) or by directly setting policies. This includes group policy (GPO), Configuration Service Provider (CSP) policy, or Microsoft Graph. -**Note:** This is true even if you directly set registry keys, although this is not recommended as registry keys can be easily overwritten. +> [!NOTE] +> This is true even if you directly set registry keys. However, we don't recommended doing this because registry keys can be easily overwritten. Managed devices can include desktops, laptops, tablets, servers, and manufacturing equipment. These devices are secured and configured according to your organization's standards and policies. -### IT-Managed: Windows Update Offering +### IT-managed: Windows update offering Devices are considered Windows update-managed if you manage the update offering in the following ways: -- Configuring policies to manage which updates are offered to the specific device. -- Setting when your organization should receive feature, quality, and driver updates, among others. -- Using Group Policy (GP), Cloud Solution Provider (CSP), or Graph to configure these offerings. +- You configure policies to manage which updates are offered to the specific device. +- You set when your organization should receive feature, quality, and driver updates, among others. +- You use [Group Policy (GPO)](https://learn.microsoft.com/windows/deployment/update/waas-wufb-group-policy), [Cloud Solution Provider (CSP)](https://learn.microsoft.com/windows/client-management/mdm/policy-csp-update#update-allowupdateservice), or [Microsoft Graph](https://learn.microsoft.com/windows/deployment/update/deployment-service-overview) to configure these offerings. -### IT-Managed: Windows Update Experience +### IT-managed: Windows update experience -Devices are considered Windows update-managed if you use policies (GP, CSP, or Graph) to manage device behavior when taking Windows updates. +Devices are considered Windows update-managed if you use policies (GP, CSP, or Microsoft Graph) to manage device behavior when taking Windows updates. Examples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at [Update Policy CSP - Windows Client Management](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update). -## Examples of Update-Managed Windows Devices +## Examples of update-managed Windows devices Here are a few examples of update-managed devices: - **Company-owned devices:** Devices provisioned by your IT department with corporate credentials, configurations, and policies. -- **Employee-owned devices in BYOD programs:** Personally owned devices enrolled in the company's device management system to securely access corporate resources. -- **Devices managed through Windows Autopilot:** Devices set up and preconfigured to be business-ready right out of the box. +- **Employee-owned devices in BYOD programs:** Personally owned devices that are enrolled in the company's device management system to securely access corporate resources. +- **Devices provisioned through Windows Autopilot:** Devices that are set up and preconfigured to be business-ready right out of the box. - **Mandated security settings:** Devices with health requirements such as device encryption, PIN or strong password, specific inactivity timeout periods, and up-to-date operating systems. - **Intune-enrolled devices:** Devices enrolled in Microsoft Intune for network access and enforced security policies. - **Third-party managed devices:** Devices enrolled in third-party management tools with configured Windows update policies via GPO, CSP, or registry key. -## What are Update-Unmanaged Windows Devices? +## What are update-unmanaged Windows devices? Unlike update-managed devices, unmanaged devices are not controlled through policies, management tools, or software. These devices aren't enrolled in tools like Microsoft Intune or Configuration Manager. If you only configure the Settings page to control overall device behavior when taking updates, it is considered an unmanaged device. -**Note:** The term "Microsoft managed devices" used to refer to what we now call "update unmanaged Windows devices." Based on feedback, we have updated our terminology for clarity. +> [!Note] +> The term "Microsoft managed devices" used to refer to what we now call "update unmanaged Windows devices." Based on feedback, we have updated our terminology for clarity. -## Examples of Update-Unmanaged Windows Devices +## Examples of update-unmanaged Windows devices Examples of update-unmanaged devices include: From e328c914d7a90c4e734bd7f097b80c0add073075 Mon Sep 17 00:00:00 2001 From: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com> Date: Tue, 25 Jun 2024 17:15:06 +0530 Subject: [PATCH 128/354] Pencil edit --- .../hello-for-business/deploy/hybrid-cert-trust-pki.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md index 64fe6ba400..ff9434bc73 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-pki.md @@ -1,5 +1,5 @@ --- -title: Configure and validate the PKI in an hybrid certificate trust model +title: Configure and validate the PKI in a hybrid certificate trust model description: Configure and validate the Public Key Infrastructure when deploying Windows Hello for Business in a hybrid certificate trust model. ms.date: 06/23/2024 ms.topic: tutorial From b268654d3f8b1a4d908b84a0e26711053afd2222 Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Tue, 25 Jun 2024 09:13:42 -0700 Subject: [PATCH 129/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index d16fc5f901..1412f342e5 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -123,7 +123,7 @@ Optional Components, along with the .NET feature, can be installed offline, howe ### Checkpoint cumulative updates Starting with Windows 11, version 24H2, the latest cumulative update may have a prerequisite cumulative update that is required to be installed first. These are known as checkpoint cumulative updates. In these cases, the cumulative update file level differentials are based on a previous cumulative update instead of the Windows RTM release. The benefit is a smaller update package and faster installation. -To install the checkpoint(s) when servicing the Windows OS (steps 9 & 12) and WinPE (steps 17 & 23), call Add-WindowsPackage with the target cumulative update. The folder from PackagePath will be used to discover and install one or more checkpoints as needed. Only .MSU packages with a revision <= the target cumulative update will be processed. If you are not customizing the image with additional languages and/or optional features, then separate calls to Add-WindowsPackage (checkpoint cumulative updates first) can be used for steps 9 & 17 above. Separate calls cannot be used for steps 12 and 23. +To install the checkpoint(s) when servicing the Windows OS (steps 9 & 12) and WinPE (steps 17 & 23), call Add-WindowsPackage with the target cumulative update. The folder from PackagePath will be used to discover and install one or more checkpoints as needed. Only the target cumulative update and checkpoint cumulative updates should be in the PackagePath folder. Cumulative update packages with a revision <= the target cumulative update will be processed. If you are not customizing the image with additional languages and/or optional features, then separate calls to Add-WindowsPackage (checkpoint cumulative updates first) can be used for steps 9 & 17 above. Separate calls cannot be used for steps 12 and 23. ## Windows PowerShell scripts to apply Dynamic Updates to an existing image @@ -557,7 +557,7 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # Save setuphost.exe for later use. This will address possible binary mismatch with the version in the main OS \sources folder # This is only required starting with Windows 11 version 24H2 $TEMP = Get-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\boot.wim" -Index $IMAGE.ImageIndex - if ($TEMP.Version -ge "10.0.26100.0000") { + if ($TEMP.Version -ge "10.0.26100") { Copy-Item -Path $WINPE_MOUNT"\sources\setuphost.exe" -Destination $WORKING_PATH"\setuphost.exe" -Force -ErrorAction stop | Out-Null } From f28eeac168e39d13a6801e6c2b72704c9d2b59ec Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 25 Jun 2024 12:23:06 -0400 Subject: [PATCH 130/354] [BitLocker] Recovery screen and MSA hint --- ...tlocker-recovery-screen-msa-backup-24h2.png | Bin 0 -> 105432 bytes .../bitlocker/preboot-recovery-screen.md | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-msa-backup-24h2.png diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-msa-backup-24h2.png b/windows/security/operating-system-security/data-protection/bitlocker/images/bitlocker-recovery-screen-msa-backup-24h2.png new file mode 100644 index 0000000000000000000000000000000000000000..415996c485eaff27b708dd28cde5e50c5442755e GIT binary patch literal 105432 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 Date: Tue, 25 Jun 2024 12:57:56 -0400 Subject: [PATCH 131/354] Changes to device encryption --- .../data-protection/bitlocker/index.md | 5 +++-- .../data-protection/bitlocker/preboot-recovery-screen.md | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index e9e9e7bdb7..8279aa6322 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -85,10 +85,11 @@ BitLocker has the following requirements: ## Device encryption -*Device encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device encryption is available on all Windows versions, and it requires a device to meet either [Modern Standby][WIN-3] or HSTI security requirements. Device encryption can't have externally accessible ports that allow DMA access. +*Device encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device encryption is available on all Windows versions, and it requires a device to meet either [Modern Standby][WIN-3] or HSTI security requirements. Device encryption can't have externally accessible ports that allow DMA access. Device encryption encrypts only the OS drive and fixed drives, it doesn't encrypt external/USB drives. > [!IMPORTANT] -> Device encryption encrypts only the OS drive and fixed drives, it doesn't encrypt external/USB drives. +> Starting in Windows 11, version 24H2, the prerequisites of DMA and HSTI/Modern Standby are removed. As a result, more devices are eligible for device encryption. +> For more information, see [BitLocker drive encryption in Windows 11 for OEMs](/windows-hardware/design/device-experiences/oem-bitlocker). Unlike a standard BitLocker implementation, device encryption is enabled automatically so that the device is always protected. When a clean installation of Windows is completed and the out-of-box experience is finished, the device is prepared for first use. As part of this preparation, device encryption is initialized on the OS drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 19322dea8b..30c8682448 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -103,7 +103,7 @@ There are rules governing which hint is shown during the recovery (in the order :::row-end::: :::row::: :::column span="2"::: - Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen includes the Microsoft account hint if the recovery password is saved to a Microsoft account. + Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen includes the Microsoft account (MSA) hint, if the recovery password is saved to a MSA. This hint helps the user to understand which MSA account was used to store recovery key information. :::column-end::: :::column span="2"::: :::image type="content" source="images/bitlocker-recovery-screen-msa-backup-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a Microsoft account hint where the BitLocker recovery key was saved." lightbox="images/bitlocker-recovery-screen-msa-backup-24h2.png" border="false"::: From 3caf2b137afc8be1615b51296263eb67aa356168 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:01:21 -0400 Subject: [PATCH 132/354] fixed typo --- .../data-protection/bitlocker/preboot-recovery-screen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index 30c8682448..d6543ba40d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -103,7 +103,7 @@ There are rules governing which hint is shown during the recovery (in the order :::row-end::: :::row::: :::column span="2"::: - Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen includes the Microsoft account (MSA) hint, if the recovery password is saved to a MSA. This hint helps the user to understand which MSA account was used to store recovery key information. + Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen includes the Microsoft account (MSA) hint, if the recovery password is saved to an MSA. This hint helps the user to understand which MSA account was used to store recovery key information. :::column-end::: :::column span="2"::: :::image type="content" source="images/bitlocker-recovery-screen-msa-backup-24h2.png" alt-text="Screenshot of the BitLocker recovery screen showing a Microsoft account hint where the BitLocker recovery key was saved." lightbox="images/bitlocker-recovery-screen-msa-backup-24h2.png" border="false"::: From 41a9d197133c240dbb9ed24898ffed1483c7bee1 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:09:40 -0400 Subject: [PATCH 133/354] removed duplicated paragraph --- .../data-protection/bitlocker/preboot-recovery-screen.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index d6543ba40d..f3bf57adf0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -95,7 +95,6 @@ There are rules governing which hint is shown during the recovery (in the order **Result:** the hints for the custom URL and the Microsoft account (**https://aka.ms/myrecoverykey**) are displayed. - Starting in Windows 11, version 24H2, the BitLocker preboot recovery screen includes the Microsoft account hint if the recovery password is saved to a Microsoft account. :::column-end::: :::column span="2"::: :::image type="content" source="images/preboot-recovery-custom-url-single-backup.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom URL and the hint where the BitLocker recovery key was saved." lightbox="images/preboot-recovery-custom-url-single-backup.png" border="false"::: From 557ca67626f9ad401b22011f4c55bd35c28ffdab Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:18:00 -0400 Subject: [PATCH 134/354] updates --- .../data-protection/bitlocker/index.md | 2 +- .../data-protection/bitlocker/preboot-recovery-screen.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 8279aa6322..69d9822b91 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -88,7 +88,7 @@ BitLocker has the following requirements: *Device encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device encryption is available on all Windows versions, and it requires a device to meet either [Modern Standby][WIN-3] or HSTI security requirements. Device encryption can't have externally accessible ports that allow DMA access. Device encryption encrypts only the OS drive and fixed drives, it doesn't encrypt external/USB drives. > [!IMPORTANT] -> Starting in Windows 11, version 24H2, the prerequisites of DMA and HSTI/Modern Standby are removed. As a result, more devices are eligible for device encryption. +> Starting in Windows 11, version 24H2, the prerequisites of DMA and HSTI/Modern Standby are removed. As a result, more devices are eligible for automatic and manual device encryption. > For more information, see [BitLocker drive encryption in Windows 11 for OEMs](/windows-hardware/design/device-experiences/oem-bitlocker). Unlike a standard BitLocker implementation, device encryption is enabled automatically so that the device is always protected. When a clean installation of Windows is completed and the out-of-box experience is finished, the device is prepared for first use. As part of this preparation, device encryption is initialized on the OS drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md index f3bf57adf0..aaadd7678e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/preboot-recovery-screen.md @@ -94,7 +94,6 @@ There are rules governing which hint is shown during the recovery (in the order - not saved to a file **Result:** the hints for the custom URL and the Microsoft account (**https://aka.ms/myrecoverykey**) are displayed. - :::column-end::: :::column span="2"::: :::image type="content" source="images/preboot-recovery-custom-url-single-backup.png" alt-text="Screenshot of the BitLocker recovery screen showing a custom URL and the hint where the BitLocker recovery key was saved." lightbox="images/preboot-recovery-custom-url-single-backup.png" border="false"::: From 3527da742c6430c49c46880a310e33a50947c812 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 25 Jun 2024 11:17:18 -0700 Subject: [PATCH 135/354] add metadata block --- .../updatemanagedvsupdateunmanageddevices.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md index 9bc4dee63b..1602ebfce6 100644 --- a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md +++ b/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md @@ -1,4 +1,19 @@ - +--- +title: IT managed versus unmanaged devices +description: This article provides clarity on the terminology and practices involved in managing Windows updates for both managed and unmanaged devices. +ms.service: windows-client +ms.subservice: itpro-updates +ms.topic: overview +author: mikolding +ms.author: v-mikolding +ms.reviewer: mstewart,thtrombl,v-fvalentyna,arcarley +manager: aaroncz +ms.localizationpriority: medium +appliesto: +- ✅ Windows 11 +- ✅ Windows 10 +- ms.date: 06/25/2024 +--- # Managing Windows Updates: IT Managed vs. Unmanaged Devices From a56816ad644bfba1b7934af992409da9ff9aee00 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 25 Jun 2024 11:28:05 -0700 Subject: [PATCH 136/354] review revisions --- windows/deployment/TOC.yml | 8 ++++---- ...es.md => update-managed-unmanaged-devices.md} | 16 +++++----------- 2 files changed, 9 insertions(+), 15 deletions(-) rename windows/deployment/update/{updatemanagedvsupdateunmanageddevices.md => update-managed-unmanaged-devices.md} (66%) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 5daf2b7ae1..f4b74cbd1b 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -13,8 +13,8 @@ href: update/release-cycle.md - name: Basics of Windows updates, channels, and tools href: update/get-started-updates-channels-tools.md - - name: Defining Windows Update managed and Windows Update unmanaged devices - href: ./update/updatemanagedvsupdateunmanageddevices.md + - name: Defining Windows update managed devices + href: update/update-managed-unmanaged-devices.md - name: Prepare servicing strategy for Windows client updates href: update/waas-servicing-strategy-windows-10-updates.md - name: Deployment proof of concept @@ -115,7 +115,7 @@ - name: Deploy updates with Group Policy href: update/waas-wufb-group-policy.md - name: Deploy updates using CSPs and MDM - href: update/waas-wufb-csp-mdm.md + href: update/waas-wufb-csp-mdm.md - name: Update Windows client media with Dynamic Update href: update/media-dynamic-update.md - name: Migrating and acquiring optional Windows content @@ -379,7 +379,7 @@ - name: Delivery Optimization reference href: do/waas-delivery-optimization-reference.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: FoD and language packs for WSUS and Configuration Manager - href: update/fod-and-lang-packs.md + href: update/fod-and-lang-packs.md - name: Windows client in S mode href: s-mode.md - name: Switch to Windows client Pro or Enterprise from S mode diff --git a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md b/windows/deployment/update/update-managed-unmanaged-devices.md similarity index 66% rename from windows/deployment/update/updatemanagedvsupdateunmanageddevices.md rename to windows/deployment/update/update-managed-unmanaged-devices.md index 997d298f9a..56e94bb220 100644 --- a/windows/deployment/update/updatemanagedvsupdateunmanageddevices.md +++ b/windows/deployment/update/update-managed-unmanaged-devices.md @@ -1,5 +1,5 @@ --- -title: IT managed versus unmanaged devices +title: Defining Windows update managed devices description: This article provides clarity on the terminology and practices involved in managing Windows updates for both managed and unmanaged devices. ms.service: windows-client ms.subservice: itpro-updates @@ -15,7 +15,7 @@ appliesto: - ms.date: 06/25/2024 --- -# Managing Windows updates: IT managed vs. unmanaged devices +# Defining Windows update managed devices As an IT administrator, understanding the differences between managed and unmanaged devices is crucial for effective Windows update management. This article provides clarity on the terminology and practices involved in managing Windows updates for both types of devices. @@ -34,13 +34,13 @@ Devices are considered Windows update-managed if you manage the update offering - You configure policies to manage which updates are offered to the specific device. - You set when your organization should receive feature, quality, and driver updates, among others. -- You use [Group Policy (GPO)](https://learn.microsoft.com/windows/deployment/update/waas-wufb-group-policy), [Cloud Solution Provider (CSP)](https://learn.microsoft.com/windows/client-management/mdm/policy-csp-update#update-allowupdateservice), or [Microsoft Graph](https://learn.microsoft.com/windows/deployment/update/deployment-service-overview) to configure these offerings. +- You use [Group Policy (GPO)](/windows/deployment/update/waas-wufb-group-policy), [Cloud Solution Provider (CSP)](/windows/client-management/mdm/policy-csp-update#update-allowupdateservice), or [Microsoft Graph](/windows/deployment/update/deployment-service-overview) to configure these offerings. ### IT-managed: Windows update experience Devices are considered Windows update-managed if you use policies (GP, CSP, or Microsoft Graph) to manage device behavior when taking Windows updates. -Examples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at [Update Policy CSP - Windows Client Management](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update). +Examples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at [Update Policy CSP - Windows Client Management](/windows/client-management/mdm/policy-csp-update). ## Examples of update-managed Windows devices @@ -68,10 +68,4 @@ Examples of update-unmanaged devices include: - **BYOD devices not enrolled in management programs:** Devices used for work but not part of an organizational BYOD program. - **Peripheral devices:** Devices like printers, IP phones, and uninterruptible power supplies (UPS) that cannot accept centrally managed administrative credentials. -For more information on managed and unmanaged devices, check out [Secure managed and unmanaged devices](https://docs.microsoft.com/mem/intune/protect/protect-devices). - -## Recommendations - -| SEO Keywords | Suggested Additions | Links to Update | Issues/Concerns | -|-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------| -| Windows update management, IT managed devices, unmanaged devices, Windows updates, Intune managed devices | Add detailed steps for configuring GPO, CSP, and Graph policies for managing updates | [Update Policy CSP - Windows Client Management](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-update), [Secure managed and unmanaged devices](https://docs.microsoft.com/mem/intune/protect/protect-devices) | Ensure all links are up to date and point to the correct resources | +For more information on managed and unmanaged devices, see [Secure managed and unmanaged devices](/microsoft-365/business-premium/m365bp-managed-unmanaged-devices). From ce147ee70031fdc419cee1dd8ae8d05fa94b64b4 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 25 Jun 2024 11:36:31 -0700 Subject: [PATCH 137/354] fix from review --- windows/deployment/TOC.yml | 2 +- .../deployment/update/update-managed-unmanaged-devices.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index f4b74cbd1b..ce71f48060 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -13,7 +13,7 @@ href: update/release-cycle.md - name: Basics of Windows updates, channels, and tools href: update/get-started-updates-channels-tools.md - - name: Defining Windows update managed devices + - name: Defining Windows update-managed devices href: update/update-managed-unmanaged-devices.md - name: Prepare servicing strategy for Windows client updates href: update/waas-servicing-strategy-windows-10-updates.md diff --git a/windows/deployment/update/update-managed-unmanaged-devices.md b/windows/deployment/update/update-managed-unmanaged-devices.md index 56e94bb220..cb25564137 100644 --- a/windows/deployment/update/update-managed-unmanaged-devices.md +++ b/windows/deployment/update/update-managed-unmanaged-devices.md @@ -1,9 +1,10 @@ --- -title: Defining Windows update managed devices +title: Defining Windows update-managed devices description: This article provides clarity on the terminology and practices involved in managing Windows updates for both managed and unmanaged devices. ms.service: windows-client ms.subservice: itpro-updates ms.topic: overview +ms.date: 06/25/2024 author: mikolding ms.author: v-mikolding ms.reviewer: mstewart,thtrombl,v-fvalentyna,arcarley @@ -12,10 +13,9 @@ ms.localizationpriority: medium appliesto: - ✅ Windows 11 - ✅ Windows 10 -- ms.date: 06/25/2024 --- -# Defining Windows update managed devices +# Defining Windows update-managed devices As an IT administrator, understanding the differences between managed and unmanaged devices is crucial for effective Windows update management. This article provides clarity on the terminology and practices involved in managing Windows updates for both types of devices. From 73bb50772e7799727094789cd0c031f50062ac22 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 25 Jun 2024 12:02:44 -0700 Subject: [PATCH 138/354] Acrolinx --- .../update-managed-unmanaged-devices.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/windows/deployment/update/update-managed-unmanaged-devices.md b/windows/deployment/update/update-managed-unmanaged-devices.md index cb25564137..3f495f601a 100644 --- a/windows/deployment/update/update-managed-unmanaged-devices.md +++ b/windows/deployment/update/update-managed-unmanaged-devices.md @@ -21,10 +21,10 @@ As an IT administrator, understanding the differences between managed and unmana ## What are update-managed Windows devices? -Update-managed devices are those where an IT administrator or organization controls Windows updates through a management tool (such as Microsoft Intune) or by directly setting policies. This includes group policy (GPO), Configuration Service Provider (CSP) policy, or Microsoft Graph. +Update-managed devices are those where an IT administrator or organization controls Windows updates through a management tool, such as Microsoft Intune, or by directly setting policies. You can directly set policies with group policy objects (GPO), configuration service provider (CSP) policies, or Microsoft Graph. > [!NOTE] -> This is true even if you directly set registry keys. However, we don't recommended doing this because registry keys can be easily overwritten. +> This definition is true even if you directly set registry keys. However, we don't recommended doing this action because registry keys can be easily overwritten. Managed devices can include desktops, laptops, tablets, servers, and manufacturing equipment. These devices are secured and configured according to your organization's standards and policies. @@ -34,13 +34,13 @@ Devices are considered Windows update-managed if you manage the update offering - You configure policies to manage which updates are offered to the specific device. - You set when your organization should receive feature, quality, and driver updates, among others. -- You use [Group Policy (GPO)](/windows/deployment/update/waas-wufb-group-policy), [Cloud Solution Provider (CSP)](/windows/client-management/mdm/policy-csp-update#update-allowupdateservice), or [Microsoft Graph](/windows/deployment/update/deployment-service-overview) to configure these offerings. +- You use [group policy objects (GPO)](/windows/deployment/update/waas-wufb-group-policy), [configuration service provider (CSP)](/windows/client-management/mdm/policy-csp-update#update-allowupdateservice), or [Microsoft Graph](/windows/deployment/update/deployment-service-overview) to configure these offerings. ### IT-managed: Windows update experience -Devices are considered Windows update-managed if you use policies (GP, CSP, or Microsoft Graph) to manage device behavior when taking Windows updates. +Devices are considered Windows update-managed if you use policies (GPO, CSP, or Microsoft Graph) to manage device behavior when taking Windows updates. -Examples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at [Update Policy CSP - Windows Client Management](/windows/client-management/mdm/policy-csp-update). +Examples of controllable device behavior include active hours, update grace periods and deadlines, update notifications, update scheduling, and more. Consult the complete list at [Update Policy CSP](/windows/client-management/mdm/policy-csp-update). ## Examples of update-managed Windows devices @@ -51,21 +51,21 @@ Here are a few examples of update-managed devices: - **Devices provisioned through Windows Autopilot:** Devices that are set up and preconfigured to be business-ready right out of the box. - **Mandated security settings:** Devices with health requirements such as device encryption, PIN or strong password, specific inactivity timeout periods, and up-to-date operating systems. - **Intune-enrolled devices:** Devices enrolled in Microsoft Intune for network access and enforced security policies. -- **Third-party managed devices:** Devices enrolled in third-party management tools with configured Windows update policies via GPO, CSP, or registry key. +- **Third-party managed devices:** Devices enrolled in non-Microsoft management tools with configured Windows update policies via GPO, CSP, or registry key. ## What are update-unmanaged Windows devices? -Unlike update-managed devices, unmanaged devices are not controlled through policies, management tools, or software. These devices aren't enrolled in tools like Microsoft Intune or Configuration Manager. If you only configure the Settings page to control overall device behavior when taking updates, it is considered an unmanaged device. +Unlike update-managed devices, unmanaged devices aren't controlled through policies, management tools, or software. These devices aren't enrolled in tools like Microsoft Intune or Configuration Manager. If you only configure the Settings page to control overall device behavior when taking updates, it's considered an unmanaged device. -> [!Note] +> [!NOTE] > The term "Microsoft managed devices" used to refer to what we now call "update unmanaged Windows devices." Based on feedback, we have updated our terminology for clarity. ## Examples of update-unmanaged Windows devices Examples of update-unmanaged devices include: -- **Personal devices:** Devices owned by individuals at your organization that are not enrolled in any corporate management system. -- **BYOD devices not enrolled in management programs:** Devices used for work but not part of an organizational BYOD program. -- **Peripheral devices:** Devices like printers, IP phones, and uninterruptible power supplies (UPS) that cannot accept centrally managed administrative credentials. +- **Personal devices:** Devices owned by individuals at your organization that aren't enrolled in any corporate management system. +- **BYOD devices not enrolled in management programs:** Devices used for work but not part of an organizational bring your own device (BYOD) program. +- **Peripheral devices:** Devices like printers, IP phones, and uninterruptible power supplies (UPS) that can't accept centrally managed administrative credentials. For more information on managed and unmanaged devices, see [Secure managed and unmanaged devices](/microsoft-365/business-premium/m365bp-managed-unmanaged-devices). From 46f4ff201412d40177864afcdbd0ccca09d937f1 Mon Sep 17 00:00:00 2001 From: Kavya N <168478594+kavyamsft@users.noreply.github.com> Date: Tue, 25 Jun 2024 14:50:01 -0700 Subject: [PATCH 139/354] Learn Editor: Update windows-sandbox-overview.md --- .../windows-sandbox/windows-sandbox-overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md index adf405569f..a59d65972c 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md @@ -35,8 +35,8 @@ Windows Sandbox has the following properties: - At least two CPU cores (four cores with hyper-threading recommended) > [!NOTE] -> Windows Sandbox is currently not supported on Windows Home edition - +> Windows Sandbox is currently not supported on Windows Home edition. +> Beginning in Windows 11 24H2, or build version 26100, all inbox store apps like calculator, photos, notepad and terminal will not be available inside Windows Sandbox. Ability to use the apps will be added soon. ## Installation 1. Ensure that your machine is using Windows 10 Pro or Enterprise, build version 18305 or Windows 11. From 831739d954ee6e0ff8ad8bbde34ede015c5d4340 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 25 Jun 2024 17:08:49 -0700 Subject: [PATCH 141/354] Change format of reference to Disabled setting --- ...windows-operating-system-components-to-microsoft-services.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index 8d8aa99a85..5618158898 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -1607,7 +1607,7 @@ You can disable Teredo by using Group Policy or by using the netsh.exe command. -or- -- Create a new REG_SZ registry setting named **Teredo_State** in **HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\TCPIP\\v6Transition** with a value of **Disabled**. +- Create a new REG_SZ registry setting named **Teredo_State** in **HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\TCPIP\\v6Transition** with a value of `Disabled`. ### 23. Wi-Fi Sense From 2663184779575abf9fad55f96b7a536d3c55dd96 Mon Sep 17 00:00:00 2001 From: Scott Breen <39719539+scottbreenmsft@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:13:57 +1000 Subject: [PATCH 142/354] Update change-home-to-edu.md Removing references to Kivuto --- education/windows/change-home-to-edu.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/education/windows/change-home-to-edu.md b/education/windows/change-home-to-edu.md index 042df87a74..46b42c1194 100644 --- a/education/windows/change-home-to-edu.md +++ b/education/windows/change-home-to-edu.md @@ -21,12 +21,11 @@ Customers with qualifying subscriptions can upgrade student-owned and institutio > [!NOTE] > To be qualified for this process, customers must have a Windows Education subscription that includes the student use benefit and must have access to the Volume Licensing Service Center (VLSC) or the Microsoft 365 Admin Center. -IT admins can upgrade student devices using a multiple activation key (MAK) manually or through Mobile Device Management (MDM). Alternatively, IT admins can set up a portal through [Kivuto OnTheHub](http://onthehub.com) where students can request a *Windows Pro Education* product key. The following table provides the recommended method depending on the scenario. +IT admins can upgrade student devices using a multiple activation key (MAK) manually or through Mobile Device Management (MDM). The following table provides the recommended method depending on the scenario. | Method | Product key source | Device ownership | Best for | |-|-|-|-| | MDM | VLSC | Personal (student-owned) | IT admin initiated via MDM | -| Kivuto | Kivuto | Personal (student-owned) | Initiated on device by student, parent, or guardian | | Provisioning package | VLSC | Personal (student-owned) or Corporate (institution-owned) | IT admin initiated at first boot | These methods apply to devices with *Windows Home* installed; institution-owned devices can be upgraded from *Windows Professional* or *Windows Pro Edu* to *Windows Education* or *Windows Enterprise* using [Windows 10/11 Subscription Activation](/windows/deployment/windows-10-subscription-activation). @@ -80,13 +79,6 @@ For a full list of methods to perform a Windows edition upgrade and more details After upgrading from *Windows Home* to *Windows Education* there are some considerations for what happens during downgrade, reset or reinstall of the operating system. -The following table highlights the differences by upgrade product key type: - -| Product Key Type | Downgrade (in-place) | Reset | Student reinstall | -|-|-|-|-| -| VLSC | No | Yes | No | -| Kivuto OnTheHub | No | Yes | Yes | - ### Downgrade It isn't possible to downgrade to *Windows Home* from *Windows Education* without reinstalling Windows. @@ -99,8 +91,6 @@ If the computer is reset, Windows Education is retained. The Education upgrade doesn't apply to reinstalling Windows. Use the original Windows edition when reinstalling Windows. The original product key or [firmware-embedded product key](#what-is-a-firmware-embedded-activation-key) is used to activate Windows. -If students require a *Windows Pro Education* key that can work on a new install of Windows, they should use [Kivuto OnTheHub](http://onthehub.com) to request a key before graduation. - For details on product keys and reinstalling Windows, see [Find your Windows product key](https://support.microsoft.com/windows/find-your-windows-product-key-aaa2bf69-7b2b-9f13-f581-a806abf0a886). ### Resale From 6e626be2871640ecf3f0ee1859ec7b8804676021 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 26 Jun 2024 06:17:46 -0400 Subject: [PATCH 143/354] WHFB FAQ update --- windows/security/identity-protection/hello-for-business/faq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/faq.yml b/windows/security/identity-protection/hello-for-business/faq.yml index 3d8f631c06..217320345b 100644 --- a/windows/security/identity-protection/hello-for-business/faq.yml +++ b/windows/security/identity-protection/hello-for-business/faq.yml @@ -44,7 +44,7 @@ sections: The smart card emulation feature of Windows Hello for Business verifies the PIN and then discards the PIN in exchange for a ticket. The process doesn't receive the PIN, but rather the ticket that grants them private key operations. There isn't a policy setting to adjust the caching. - question: Where is Windows Hello biometrics data stored? answer: | - When you enroll in Windows Hello, a representation of your biometrics, called an enrollment profile, is created more information can be found on [Windows Hello face authentication](/windows-hardware/design/device-experiences/windows-hello-face-authentication). This enrollment profile biometrics data is device specific, is stored locally on the device, and does not leave the device or roam with the user. Some external fingerprint sensors store biometric data on the fingerprint module itself rather than on Windows device. Even in this case, the biometrics data is stored locally on those modules, is device specific, doesn't roam, never leaves the module, and is never sent to Microsoft cloud or external server. For more details, see [Windows Hello biometrics in the enterprise](/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise#where-is-windows-hello-data-stored). + When you enroll in Windows Hello, a representation of your biometrics, called an enrollment profile, is created. The enrollment profile biometrics data is device specific, is stored locally on the device, and does not leave the device or roam with the user. Some external fingerprint sensors store biometric data on the fingerprint module itself rather than on Windows device. Even in this case, the biometrics data is stored locally on those modules, is device specific, doesn't roam, never leaves the module, and is never sent to Microsoft cloud or external server. For more details, see [Windows Hello biometrics in the enterprise](/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise#where-is-windows-hello-data-stored) and [Windows Hello face authentication](/windows-hardware/design/device-experiences/windows-hello-face-authentication). - question: What is the format used to store Windows Hello biometrics data on the device? answer: | Windows Hello biometrics data is stored on the device as an encrypted template database. The data from the biometrics sensor (like face camera or fingerprint reader) creates a data representation—or graph—that is then encrypted before it's stored on the device. Each biometrics sensor on the device which is used by Windows Hello (face or fingerprint) will have its own biometric database file where template data is stored. Each biometrics database file is encrypted with unique, randomly generated key that is encrypted to the system using AES encryption producing an SHA256 hash. From c82bee5f64c9e91afe17d2fd2b84f768f8e481a3 Mon Sep 17 00:00:00 2001 From: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:51:37 +0530 Subject: [PATCH 144/354] Pencil edit --- education/windows/change-home-to-edu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/education/windows/change-home-to-edu.md b/education/windows/change-home-to-edu.md index 46b42c1194..072a760e05 100644 --- a/education/windows/change-home-to-edu.md +++ b/education/windows/change-home-to-edu.md @@ -43,7 +43,7 @@ Some school institutions want to streamline student onboarding for student-owned - [EnterpriseDesktopAppManagement](/windows/client-management/mdm/enterprisemodernappmanagement-csp) - which enables deployment of Windows installer or Win32 applications. - [DeliveryOptimization](/windows/client-management/mdm/policy-csp-deliveryoptimization) - which enables configuration of Delivery Optimization. -A full list of CSPs are available at [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). For more information about enrolling devices into Microsoft Intune, see [Deployment guide: Enroll Windows devices in Microsoft Intune](/mem/intune/fundamentals/deployment-guide-enrollment-windows). +A full list of CSPs is available at [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). For more information about enrolling devices into Microsoft Intune, see [Deployment guide: Enroll Windows devices in Microsoft Intune](/mem/intune/fundamentals/deployment-guide-enrollment-windows). ## Requirements for using a MAK to upgrade from Windows Home to Windows Education From c80cf09ea53c8883ffd4c5d4b848ad9543025722 Mon Sep 17 00:00:00 2001 From: Jacques Eloff Date: Wed, 26 Jun 2024 09:00:56 -0700 Subject: [PATCH 145/354] Update update-other-microsoft-products.md Add .NET to list of products supported by Microsoft Update --- windows/deployment/update/update-other-microsoft-products.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/update/update-other-microsoft-products.md b/windows/deployment/update/update-other-microsoft-products.md index f71f77a7f1..f2132aab16 100644 --- a/windows/deployment/update/update-other-microsoft-products.md +++ b/windows/deployment/update/update-other-microsoft-products.md @@ -53,6 +53,7 @@ The following is a list of other Microsoft products that might be updated: - Microsoft StreamInsight - Mobile and IoT - MSRC +- .NET - Office 2016 (MSI versions of Office) - PlayReady - Security intelligence updates for Microsoft Defender Antivirus and other Microsoft antimalware From 7e65ecfffddbae0ccf4dbc4541c7f7eac1b47560 Mon Sep 17 00:00:00 2001 From: Jacques Eloff Date: Wed, 26 Jun 2024 09:09:54 -0700 Subject: [PATCH 146/354] Update windows/deployment/update/update-other-microsoft-products.md Co-authored-by: Jamshed Damkewala --- windows/deployment/update/update-other-microsoft-products.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/update-other-microsoft-products.md b/windows/deployment/update/update-other-microsoft-products.md index f2132aab16..5cfbfcb8cd 100644 --- a/windows/deployment/update/update-other-microsoft-products.md +++ b/windows/deployment/update/update-other-microsoft-products.md @@ -53,7 +53,7 @@ The following is a list of other Microsoft products that might be updated: - Microsoft StreamInsight - Mobile and IoT - MSRC -- .NET +- .NET (also known as .NET Core) - Office 2016 (MSI versions of Office) - PlayReady - Security intelligence updates for Microsoft Defender Antivirus and other Microsoft antimalware From 2ab6eedfca821a9c9af503111de1d4519c86f657 Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Wed, 26 Jun 2024 17:15:02 -0700 Subject: [PATCH 147/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index 1412f342e5..7744433e14 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -61,7 +61,7 @@ You can obtain Dynamic Update packages from the [Microsoft Update Catalog](https |Latest cumulative update | YYYY-MM Cumulative Update for Windows 11 | | | |Servicing stack Dynamic Update | YYYY-MM Servicing Stack Update for Windows 11 Version 21H2 | | | -### For Windows 10, version 22H2 Dynamic Update packages +### Windows 10, version 22H2 Dynamic Update packages **Title**, **Product** and **Description** are required to distinguish each Dynamic Package. Latest cumulative update has the servicing stack embedded. Servicing stack published separately only if necessary as a prerequisite for a given cumulative update. | Update packages |Title |Product |Description | @@ -123,7 +123,7 @@ Optional Components, along with the .NET feature, can be installed offline, howe ### Checkpoint cumulative updates Starting with Windows 11, version 24H2, the latest cumulative update may have a prerequisite cumulative update that is required to be installed first. These are known as checkpoint cumulative updates. In these cases, the cumulative update file level differentials are based on a previous cumulative update instead of the Windows RTM release. The benefit is a smaller update package and faster installation. -To install the checkpoint(s) when servicing the Windows OS (steps 9 & 12) and WinPE (steps 17 & 23), call Add-WindowsPackage with the target cumulative update. The folder from PackagePath will be used to discover and install one or more checkpoints as needed. Only the target cumulative update and checkpoint cumulative updates should be in the PackagePath folder. Cumulative update packages with a revision <= the target cumulative update will be processed. If you are not customizing the image with additional languages and/or optional features, then separate calls to Add-WindowsPackage (checkpoint cumulative updates first) can be used for steps 9 & 17 above. Separate calls cannot be used for steps 12 and 23. +To install the checkpoint(s) when servicing the Windows OS (steps 9 & 12) and WinPE (steps 17 & 23), call `Add-WindowsPackage` with the target cumulative update. The folder from `-PackagePath` will be used to discover and install one or more checkpoints as needed. Only the target cumulative update and checkpoint cumulative updates should be in the `-PackagePath` folder. Cumulative update packages with a revision <= the target cumulative update will be processed. If you are not customizing the image with additional languages and/or optional features, then separate calls to `Add-WindowsPackage` (checkpoint cumulative updates first) can be used for steps 9 & 17 above. Separate calls cannot be used for steps 12 and 23. ## Windows PowerShell scripts to apply Dynamic Updates to an existing image From a8b6a453bac12bc288e67a9771d2e5fcaaa11a3c Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:00:41 -0700 Subject: [PATCH 148/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index 7744433e14..cc8bcdaca8 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -40,8 +40,8 @@ Devices must be able to connect to the internet to obtain Dynamic Updates. In so You can obtain Dynamic Update packages from the [Microsoft Update Catalog](https://catalog.update.microsoft.com). At that site, use the search bar in the upper right to find the Dynamic Update packages for a particular release. The various Dynamic Update packages might not all be present in the results from a single search, so you might have to search with different keywords to find all of the updates. Check various parts of the results to be sure you've identified the files needed. The following tables show the key values to search for or look for in the results. -### Windows 11, version 22H2 Dynamic Update packages -**Title** can distinguish each Dynamic Package. Latest cumulative updates have the servicing stack embedded. The servicing stack is published only if necessary for a given cumulative update. +### Windows 11, version 22H2 and later Dynamic Update packages +**Title** can distinguish each Dynamic Package. Latest cumulative updates have the servicing stack embedded. The servicing stack is published only if necessary for a given cumulative update.Titles below are for Windows 11, version 22H2. Windows 11, version 23H2 and 24H2 have a similar format. | Update packages |Title | |-----------------------------------|---------------------------------------------------------------| From a19a46c794e804e16b863749e0d7b40d36178de0 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:01:54 -0700 Subject: [PATCH 149/354] Update URLs on landing page --- windows/privacy/index.yml | 124 ++------------------------------------ 1 file changed, 5 insertions(+), 119 deletions(-) diff --git a/windows/privacy/index.yml b/windows/privacy/index.yml index 45001f0589..b3ae58d22a 100644 --- a/windows/privacy/index.yml +++ b/windows/privacy/index.yml @@ -9,7 +9,7 @@ metadata: description: Learn about how privacy is managed in Windows. ms.service: windows-client ms.subservice: itpro-privacy - ms.topic: hub-page # Required + ms.topic: hub-page ms.collection: - highpri - essentials-privacy @@ -17,162 +17,49 @@ metadata: author: DHB-MSFT ms.author: danbrown manager: laurawi - ms.date: 09/08/2021 #Required; mm/dd/yyyy format. + ms.date: 06/27/2024 ms.localizationpriority: high -# highlightedContent section (optional) -# Maximum of 8 items highlightedContent: -# itemType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | sample | tutorial | video | whats-new items: - # Card - title: Windows privacy & compliance guide for IT and compliance professionals itemType: overview url: Windows-10-and-privacy-compliance.md - # Card - title: Configure Windows diagnostic data itemType: how-to-guide url: configure-windows-diagnostic-data-in-your-organization.md - # Card - title: View Windows diagnostic data itemType: how-to-guide url: diagnostic-data-viewer-overview.md -# productDirectory section (optional) productDirectory: title: Understand Windows diagnostic data in Windows 10 and Windows 11 summary: For the latest Windows 10 version and Windows 11, learn more about what Windows diagnostic data is collected under the different settings. items: - # Card - title: Windows 11 required diagnostic data - # imageSrc should be square in ratio with no whitespace imageSrc: /media/common/i_extend.svg summary: Learn more about basic Windows diagnostic data events and fields collected. url: required-diagnostic-events-fields-windows-11-22H2.md - # Card - title: Windows 10 required diagnostic data imageSrc: /media/common/i_build.svg summary: See what changes Windows is making to align to the new data collection taxonomy url: required-windows-diagnostic-data-events-and-fields-2004.md - # Card - title: Optional diagnostic data imageSrc: /media/common/i_get-started.svg summary: Get examples of the types of optional diagnostic data collected from Windows url: windows-diagnostic-data.md -# conceptualContent section (optional) -# conceptualContent: -# # itemType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | sample | tutorial | video | whats-new -# title: sectiontitle # < 60 chars (optional) -# summary: sectionsummary # < 160 chars (optional) -# items: -# # Card -# - title: cardtitle1 -# links: -# - url: file1.md OR https://learn.microsoft.com/file1 -# itemType: itemType -# text: linktext1 -# - url: file2.md OR https://learn.microsoft.com/file2 -# itemType: itemType -# text: linktext2 -# - url: file3.md OR https://learn.microsoft.com/file3 -# itemType: itemType -# text: linktext3 -# # footerLink (optional) -# footerLink: -# url: filefooter.md OR https://learn.microsoft.com/filefooter -# text: See more -# # Card -# - title: cardtitle2 -# links: -# - url: file1.md OR https://learn.microsoft.com/file1 -# itemType: itemType -# text: linktext1 -# - url: file2.md OR https://learn.microsoft.com/file2 -# itemType: itemType -# text: linktext2 -# - url: file3.md OR https://learn.microsoft.com/file3 -# itemType: itemType -# text: linktext3 -# # footerLink (optional) -# footerLink: -# url: filefooter.md OR https://learn.microsoft.com/filefooter -# text: See more -# # Card -# - title: cardtitle3 -# links: -# - url: file1.md OR https://learn.microsoft.com/file1 -# itemType: itemType -# text: linktext1 -# - url: file2.md OR https://learn.microsoft.com/file2 -# itemType: itemType -# text: linktext2 -# - url: file3.md OR https://learn.microsoft.com/file3 -# itemType: itemType -# text: linktext3 -# # footerLink (optional) -# footerLink: -# url: filefooter.md OR https://learn.microsoft.com/filefooter -# text: See more - -# # tools section (optional) -# tools: -# title: sectiontitle # < 60 chars (optional) -# summary: sectionsummary # < 160 chars (optional) -# items: -# # Card -# - title: cardtitle1 -# # imageSrc should be square in ratio with no whitespace -# imageSrc: ./media/index/image1.svg OR https://learn.microsoft.com/media/logos/image1.svg -# url: file1.md -# # Card -# - title: cardtitle2 -# imageSrc: ./media/index/image2.svg OR https://learn.microsoft.com/media/logos/image2.svg -# url: file2.md -# # Card -# - title: cardtitle3 -# imageSrc: ./media/index/image3.svg OR https://learn.microsoft.com/media/logos/image3.svg -# url: file3.md - -# additionalContent section (optional) -# Card with summary style -# additionalContent: -# # Supports up to 3 sections -# sections: -# - title: sectiontitle # < 60 chars (optional) -# summary: sectionsummary # < 160 chars (optional) -# items: -# # Card -# - title: cardtitle1 -# summary: cardsummary1 -# url: file1.md OR https://learn.microsoft.com/file1 -# # Card -# - title: cardtitle2 -# summary: cardsummary2 -# url: file1.md OR https://learn.microsoft.com/file2 -# # Card -# - title: cardtitle3 -# summary: cardsummary3 -# url: file1.md OR https://learn.microsoft.com/file3 -# # footer (optional) -# footer: "footertext [linktext](/footerfile)" - -# additionalContent section (optional) -# Card with links style additionalContent: - # Supports up to 3 sections sections: - items: - # Card - title: View and manage Windows 10 connection endpoints links: - text: Manage Windows 10 connection endpoints - url: ./manage-windows-2004-endpoints.md + url: ./manage-windows-21h2-endpoints.md - text: Manage connection endpoints for non-Enterprise editions of Windows 10 - url: windows-endpoints-2004-non-enterprise-editions.md + url: windows-endpoints-21h1-non-enterprise-editions.md - text: Manage connections from Windows to Microsoft services url: manage-connections-from-windows-operating-system-components-to-microsoft-services.md - # Card - title: Additional resources links: - text: Windows 10 on Trust Center @@ -181,5 +68,4 @@ additionalContent: url: /microsoft-365/compliance/gdpr - text: Support for GDPR Accountability on Service Trust Portal url: https://servicetrust.microsoft.com/ViewPage/GDPRGetStarted - # footer (optional) - # footer: "footertext [linktext](/footerfile)" + From 0c8193d7d67321815ea7f2f9c846d153c792f11d Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:18:48 -0700 Subject: [PATCH 150/354] Minor changes --- .../changes-to-windows-diagnostic-data-collection.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/privacy/changes-to-windows-diagnostic-data-collection.md b/windows/privacy/changes-to-windows-diagnostic-data-collection.md index 090b84a4dd..2c4708c320 100644 --- a/windows/privacy/changes-to-windows-diagnostic-data-collection.md +++ b/windows/privacy/changes-to-windows-diagnostic-data-collection.md @@ -7,7 +7,7 @@ ms.localizationpriority: high author: DHB-MSFT ms.author: danbrown manager: laurawi -ms.date: 06/04/2020 +ms.date: 06/27/2024 ms.topic: conceptual ms.collection: privacy-windows --- @@ -65,11 +65,11 @@ A final set of changes includes two new policies that can help you fine-tune dia - Group Policy: Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Limit Diagnostic Log Collection** - MDM policy: System/LimitDiagnosticLogCollection -For more info, see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). +For more information, see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). ## Services that rely on Enhanced diagnostic data -Customers who use services that depend on Windows diagnostic data, such as [Microsoft Managed Desktop](/microsoft-365/managed-desktop/service-description/device-policies#windows-diagnostic-data), may be impacted by the behavioral changes when they're released. These services will be updated to address these changes and guidance will be published on how to configure them properly. +Customers who use services that depend on Windows diagnostic data, such as [Microsoft Managed Desktop](/managed-desktop/operate/device-policies#windows-diagnostic-data), may be impacted by the behavioral changes when they're released. These services will be updated to address these changes and guidance will be published on how to configure them properly. ## Significant change to the Windows diagnostic data processor configuration From d96aed3e10a1cade8df7a66e6472232ef588a0e3 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:19:24 -0700 Subject: [PATCH 151/354] Change quote marks --- .../privacy/changes-to-windows-diagnostic-data-collection.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/privacy/changes-to-windows-diagnostic-data-collection.md b/windows/privacy/changes-to-windows-diagnostic-data-collection.md index 2c4708c320..6b6004f7d3 100644 --- a/windows/privacy/changes-to-windows-diagnostic-data-collection.md +++ b/windows/privacy/changes-to-windows-diagnostic-data-collection.md @@ -60,7 +60,7 @@ A final set of changes includes two new policies that can help you fine-tune dia - The **Limit dump collection** policy is a new policy that can be used to limit the types of [crash dumps](/windows/win32/dxtecharts/crash-dump-analysis) that can be sent back to Microsoft. If this policy is enabled, Windows Error Reporting will send only kernel mini dumps and user mode triage dumps. - Group Policy: Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Limit Dump Collection** - - MDM policy: System/LimitDumpCollection + - MDM policy: System/LimitDumpCollection - The **Limit diagnostic log collection** policy is another new policy that limits the number of diagnostic logs that are sent back to Microsoft. If this policy is enabled, diagnostic logs aren't sent back to Microsoft. - Group Policy: Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Limit Diagnostic Log Collection** - MDM policy: System/LimitDiagnosticLogCollection @@ -78,7 +78,7 @@ Customers who use services that depend on Windows diagnostic data, such as [Micr > - Windows 10, versions 20H2, 21H2, 22H2, and newer > - Windows 11, versions 21H2, 22H2, 23H2, and newer -Previously, IT admins could use policies (for example, the “Allow commercial data pipeline” policy) at the individual device level to enroll devices in the Windows diagnostic data processor configuration. +Previously, IT admins could use policies (for example, the "Allow commercial data pipeline" policy) at the individual device level to enroll devices in the Windows diagnostic data processor configuration. Starting with the January 2023 preview cumulative update, how you enable the processor configuration option depends on the billing address of the Azure AD tenant to which your devices are joined. From 1cdf676a30704d2dc4d70d3b711a9e9500f016da Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Thu, 27 Jun 2024 14:09:06 -0600 Subject: [PATCH 152/354] Freshness 1 --- .../images/security-center-home.png | Bin 58055 -> 60151 bytes .../images/security-center-start-menu.png | Bin 50563 -> 81451 bytes .../images/security-center-taskbar.png | Bin 5402 -> 3258 bytes ...windows-defender-security-center-areas.png | Bin 243781 -> 30356 bytes .../images/wdsc-all-hide.png | Bin 7764 -> 7591 bytes .../wdsc-account-protection.md | 2 +- .../wdsc-app-browser-control.md | 6 ++-- .../wdsc-customize-contact-information.md | 2 +- .../wdsc-device-performance-health.md | 8 ++---- .../wdsc-device-security.md | 26 +++++++++--------- .../wdsc-family-options.md | 5 ++-- .../wdsc-firewall-network-protection.md | 4 +-- .../wdsc-hide-notifications.md | 6 ++-- .../wdsc-virus-threat-protection.md | 12 ++++---- .../windows-defender-security-center.md | 10 ++----- 15 files changed, 36 insertions(+), 45 deletions(-) diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/images/security-center-home.png b/windows/security/operating-system-security/system-security/windows-defender-security-center/images/security-center-home.png index 13d6f59afcda8d53681734566bdecae816fd4683..e1db1cbe84f08deb8a27a4006d58bb4a5f613d04 100644 GIT binary patch literal 60151 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 literal 58055 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�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%0D;U32BSZ{YTc@-g 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 diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/images/settings-windows-defender-security-center-areas.png b/windows/security/operating-system-security/system-security/windows-defender-security-center/images/settings-windows-defender-security-center-areas.png index ab123cc49b39b40d5632d2397be2de259624e280..1dcd937bcbc175d339f7631e5fe58fd6c757a72b 100644 GIT binary patch literal 30356 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 XjKSKAiGw@I{&N1eOMl5XbB+8TM{TrT literal 243781 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%0ARuGhE}=#RUf*?Xl>PP`RzE}m&Y0I( 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

    l1} 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%0DTAp27CoW6mWd={UKZ+shMyuoFQ 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췋>92XaQBpYZg1pDVY_Q9@9X_hW_KY2x(N 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

    }#)}Xc9@mHM)!c!a zo!NX}eg)@j^SAX>3ly$1pB;;RXS$@bMEv<>&;zdRVpr(4YoFxI&35s3!B zf3R%-=DAwV8y4K~#Z`k|4e5)vI#a&)Y%mIHsJB+tA#IIiAglS~;EYR@IJN9s&OwBH z-;^3~FD_=&pScA}P5Y3SR2Qw7ayKvYo5?q6Tu1R{!R7YXIHzqIS&4y-K0C= z-?i9bQGAK>zuYZ%AV9(NS7BhR+`s9M!r^J_Ex(#jAz#oAV8Lh(=qj{zSv z>H@I5j9d1TUD3)OVL92|ATb76)V+C)br~2Zph6W)GN~@VDrhg3gf0#h7C9P&8t``P zObf8?<*7uczqtd2f_Ce~h{Q>ip15<|tAPW#I3t{euIL}Xl&Kc|8@$~b!ijT5mQ&^n z$OkWRzYBkExO;mPvx7TqyiH)ejR-X0a1ZW;GVv$g1BC*8^XAV|;fwxoN9XQeDcni@ zy1ch~`5E#$vx~-Z{dPT?zP3jxAM?<(lU;UB@u|1(y9DH%$?(Mo5I<{jwgbWu20bxn zG5v*C8dpi?%U~H-<7nVL-e^=%P`@iR%MA=E;kEmnu^4_Dj?($9j#La)cyrOC$gdXY zeZk1UOD8P#K-B3p)Ezgrv@KsTe(HKgh9ZT(uNC&)asifvmwD;w2dsWCwj|bN$GO?# zx{O98`kUwtJ{(+wGxJ8I%fmz$lITB4cgE@D{$(@*%ta*O*vlJ zI9?e+s$5V;P+i3R*7%T7l~xbMEi+OUXxcli5jIT5+N{Fc$jVT2IcHq8jv7``=t|If!}8N%e7JCa>5rrhVAzq%J|H`o8%GQ;sB zBFPFTl`Pw9=|-Qf6tkE01?n0Kbn3H8Pus&NRJJNv{~F0wMy~uVN^u*&1M@Qq!(wn+ zyK%mbPWHV6qXM>kc{prD4IYe- zB&v_nyaZjHVv6f)%dJY=o`X|4ODQ3(8`qm$O02bMiY%B|0mk!xj=~Ebp}vC4*N0fT z#kiJpfC|z+bpms|79DKwc0xv|y@EVaX+&ji9KUdn@3f%=!0F}?QT1h+6VqSO;LQ>o zw$i)4kCSx&@N_(4WWry%kkLTc2i$CG^kzH2Xjt=h|B2>0Ph-`#lVrk-v*DyOT?^%8yZSlI?LSDMj5wR z_kgG^_5Ca98ynZLAqG`57bVvo2u_08F=ZVFo80(0^svz(bsDfS@Ct^j0IMTuvCU@k zY?+WhF^XJSREVlJovZkl{0XbZ=zC7WnZ@h;>on$7@x1|>_Hs+!Iy`MNrbv?L6a|&+ za1exIlO;CEyn%Vm^`H1KM5Mi_z`3}Wpr5QRky{_=5qxdse6~+;7d!*;n1zSXO7q7T z-#3PMphdES-erP=_Yg#z7N#KP5I(~>$dJCDVQ_?-TiQ$>aI~E1#l3Md|&SS{km1Q zJr^2a`2v$}8v^eukRJ@TVY2cLqYT&o#9ySS+qb=D=Db_{nd5%+W4ffekvlaXaQWU- z0hHTtRQSwFXo_HXEG{dnY6^%SM=prHi(8o$+cO|Umx4FQp`k5hT+`-E#EqVPU-~atQtVgHQEKi890+W$xoFNgRsXy& zZ}D?;!c>e$8Rzj+v$4De;d^mG=iof@Qq9GPdzCbBi0IyB&Wx&2cU?;-sa41fo%Eoq z4~}L>1Etf52wbWO4K+8MxZ4@_HHnV=3yHpx#WrPVv3$RQrpac*yhS>=5VodScMdG0Q(<=mJVv+2&dB+jWuO<57haeo_0>sN1eli3vGp|32gY0S>BAGK5lOmE+O9ZJAJFQ3sahTtp6hRLe zadIyb=9KB;Ln}5xdYB6|N#8#WaN8x}q5sB&x}M8>VDb(Mkc{IUkMG7CbW@6p6K3?| zBXzrbeQ{@Q=aFWU*%XDym6Ov?&BJyUqn1yv+t!007-b$dMt9X|E$;C>cg>tqnl0-t zYf>IE@3Vb4__J_BBY!mgWo{z&m2PD`bk;YvZYh)bvIa)cS@R@Y@$m{=Jimk$b_Jb5!7e0lx!r-5@Cbun7%NX@GVLLaD z&kHwmSaoVA>B4?e19tJhH!!K?pUqV*AeP?jib}7CICiBMO*{oJ)b6nEE*_c=TKe)H zHaqn-E>B;axg#yP<4P9I+tWg?H|K!S`qo$+a;xyl8Ru+?eAe7z(-|_lErCQ#eGsgX`{;=WM{S@rp8S;5-6OL!x`&4jz zg{(0GPZYdAZ!z(;8N?xm^#v7&W^LxkihCT<>s0i*15`8w6}6f7fQR7=SDZ#flhdL} z%dH=(eDM}ovSmGfmn_JWaPx3KI1p|%8ZcH);!V?9MJ%|4^#S-1$eJjOF5pJp<3NIO zi_Wn}w1?x6qU`Ws^oX*2;yibQL2M2{H(tw4prwSTA|f_cTL>FoVx zPU}vF`rZf5fylEvlPP$g9thQ?ke}NvRWl5m%xA(*i1K10m;EeE_d&q3!g5z>iAYuM zDsFa2nGK#VEFvS2yHW?N7>8Z{u#))SS%;J=Hbje=OfJ>JjRe&fViEr$x zO})_kx$;Y^N`qmDoRP zIibUj+|bQ!G}(L9<|C3WACkS5jX;TwSDUSZ!WzW^^TuVUFZii&LK?qOm;JYG2AS_6 ziaK*}3}#43uFWf`Is-=)fx-`t6v99aigBxIMnrjl#m34Yl{h~OY%27G6EhQrLvb>C4l>p9&M4o!UH-O^Z}QbCQM!I(e(8GKAo{sn1k# zlrydwGRo>}(~zY>zHw^1rDR&6Hr{FQWwH*``%-8d_IU?ZY1*B#^<`($3^NL<^>sEU zFA8}nSeS7C@F;Y;PF_&x@bSv@ylYPtY_wgw-f-P;f_rhPzz^Hm%6eb;(doHXzm95L z6uP|324R)3u%bq2ETq|{-+kfIepFr{r+>&gCrK%nd0@IZb?=O+s=7+%-`UDtaqhOr zE+`%-?BZv$d5;3|xNf774~qw;bS8YOE%6jz_WaDhfljJMy_cZ^qXwPHmaP}=r%XS> z#dkf-BOv}b&riSAsRjil*mX5=x>u6^5NwLUtceopCCCXIlTJF*=!%N4V*P_bqhB z%z~zQL}x-0i)T31x`)YyfKa`bMW{dJ3De=B-F4Yf^Ugs!B2~Zoc^oD1 z2u6u9pH!*HAm^qAwcqwB)=xAL1fx%;Krr1S)b=UxQ7Ut*Fk>n6v*e;e$hP%KH`Uyt z4xPwEumPWHEcO&SqoL6Z>onPanO!jY=BYfuK*irJO|Wt7(?fOZFFSnIDxbaUbb0P*3$ zP4o;+Pc3Zd&;u=BHqUE-E!7e00U{8J5-5da$|4qLEPFREn=(+m;~w|)QEyU`_*9Gm zOIyv^P(NWoLp3u?ITqDLOnVXHwCKd1AKGF)DzVNjWuHtY0Ios0?YTPH8!WgZpbH1Y zkRGQ1I!OpvpjkB4W!_3_#PuH9L@ta~;=?;x-}USke3F!7+GyZ@jqf_Ew8E4=zXiV{ z%MqP*Z=#k%wS?T+q#F+R5TyXV#%d=?tx&FFbH+8y0=GDq%&kRUFsBNSSPBiNsdwYd z2fMzUjca2B5^|P=K{x!6Z!seW%EHYvRpesb6PVrpRjDo3)iC{V(MttLOXrqTcOtf) z7BYmx|i6<|nJ9CH^rlDoHW|V`|hsB}Ks5=W8hU z)1ZZ$mH2t)hrePN12oN&B4vW#VNJ*g?9MY zY!F1|2d3;GS54_aO^Rc6$K@!LSa#UA1qWaui8Ex%gJ5gfZLje9yE*s?7mu_BBk1Wb zD_u~FIJ*(Tj`wLCjVjy~52Wd6qrya<*|0yO?O(fO?r&-Hel1C4u0D6C6gDRn6=m2< z-9dde&un!$(+N-swND95v;%9{AbvQ|DUG+Z+^!XyzUA=3?hIi32&qd9!lN?Jzt)OF z@fNlxUxw(-2uiw-=ub<;LhkXdfPNvbav%6eLVO`kCo=|W)7~`3_if0@Ls{q_l-Y3N z8UWzvp96aKnFVpDta#Npli$!DNgY*+PeW_+puB>il(H3Z6Q_Ce5XL+=@m3t=Go%^J z4$f<)88L!Z7M+l{`mOa^|Jqu+JB?yb1wVCIYJDEMMJ)|Oqka0rBow^baSA$)Q%-wN z5(+QfMSVQdNsdF?yxx4qV9&IcPUo$+3Xp4js^}kTc+%ATt^1XLu4~n}KgCgAKH+9) zT#*Y>Mm5%8TS0q_9S5ojE{U>BO`z4*giaW;tr+}hve+DHl9}Ij@SEkq?Ya$hwQQPl z_IC%DlYN3gZXQ=!ZeM^KRdd!44m5(t3X7my&h0gMN5u>ea9ZmN(KgIV1!?_T3d+1? z6KEWEdUy&R1)gk0rfsfrOvH6W9V+{h(=tYp5&@DK2~v)kquSGFd(V=E%PB{J27LA= z^ME~t9}OOfF-+*<@Nxw_5X`=d|Cy<~zr97j>m&9%zvW1C+KRPbMW^2t4hVZ>lN5%m zPSIQE)X)8YbiMgsQ&-#e%^-qc2?&TH1k_qo6hw*;AVH;;_OcZz3dj_ODr!`Q2r*uajB#a44NVH&r2uYX{B#;0hGl6&8>wccz&kyfEz$fgz*IMT~ z&hK%YTUhF7KheVc7eO7JJ08`AU7Fm6@JC!63(R@-vb~|m2AfFCk0V^s$htz%0`_nI ziQ!fCN}H_&686txxAMmIL_={xtFb6vmxY@iC&QT_LJ2at+$GOqoxRG+B-7V@@@akS z590@Ag$3n%PHnN-Ew##NBp@7^AG6Wq1}>+aozfJ>XvB?3N$IA|yu^tGXXZyxTRI_w z>@X%~P7V&f)A~y18xiS0z;KwP*NxQ22zOz{;z(l0LdI883G4t$$HN#yxJ2$j;LoH* zW4*0-R%Dc7c7!~ips>MUJ%Ot@>v~kmt=rR1UtK8u93pDGfk^NrQ2CEXId~~nxVG&1lt;TVE4MRSZ|@}1|-vEhlRw1ox3|Q8NLwY z7g}y08UhF(X4$pkSbwAWJwJ0-`dr@Hj1(Xe3KEDfh~7EAo1I=c2KAOT!;bk7;?^HO z0k#Li`qI^mHH$re+m?98uRWa)0dCydDs4b>g6*33O0lkU+D_h5gS+oq_&V%&ptFO< zx{kXve^PdIzEif|I4reF+m{kA{-oK}Y^$u-@eFC*ssZ9!^Ia*uzg67jgG1Q7S1>kt z@ccIS8O}XM+-U^&A)x#*sxu3#ABn8IH*C7Ml%}SwO5y8d^6bRz%=bXlqA1h5yNs<%XoJZae>_U z14P{iI6}ApR>T~XNP?AK>O#)17%vG7zTRCbZQ~;A*JIxLygIbnC?+aVC1lR$cJs-v zD<p7dcUzQjgHkT=So04RvH$EAvHPOb$Nzfv%5}Uan`SwxbB6eC-_voM7 zf%jwLkDbc~Nwd22sh-2Tc9>&KXR|RX(-h*t9V3?eg$)J|X+4_Lv~^0LAG)S?_B*4X z&7cbuIgkAfqVKpC>cgXt2tuP0_~@UClVLaZ$WCL13or;D?$VbI+g+`J^V3KJrfz;0 zGmg{LoMezjx<#ulv*@29CAW@hSXEuw z#Tu2`uCCzkdPq^C>&F+Y7%)S$5hRT+Hq?%8NESPXy)`>hLIL*!lPIhgOcE~jz5=>! znOa^3Jhzh^E=tTK=ExgUaiJ=kPd!n5mG$C80=}#GWcfsHHh;@e!HMJp);p8!IdLvd z7Irq~AvfIjM$JKU*5f)5JMxcExu;Vmcjr>}-Y*ZcA6T(pzDVFCNQama*AxmL-)4}k ziq+14T3^2~d7 z*8R`tCRZpDMUXCoKO$PTO=0{OK8?eM1IWrN9YhQf(ftYfmPkBnT%nvNl(?Y)N!>Ka zJjxu76^$f09)0S5*x_)+j3H(i)PE$%+)>c)ZqCgRO^Z?UikZ=fNq|qROb~Y~ZHt8S zMsIpU7u*wzC@hD|<0%bWU>^BvW;qwaUd-(M!UjzvSRoX0<2Wk>qb{Ts*(ldSI1vii98|{6WI*qtN?aH9jCvew0Q?l zx(-X*X)4%iTr2Ba{8jhHb_gNAuA4d1))fV|?}Z>&1|hMKEvzBGM6s>$3dz0!vq@Qv#o)%{Wi3UA%fucLicJCle*kC~l^OX0?p zcCT7oSct{v)N2P)Fih?+fYzC3v@+01ttGAO3rpi^mzUTQVp|K!pTS*^;Eh?4f4mlL zPRrG!5!r2}i3y6DKs>G zv*ndnNxkA2ZpvKZm^9(?TE-7XuoTJrSG3{mew;|w4VN9S-T4Zjf{5`e)&;S^u#&`7 zycf5cSXy}P31R}Wt9%;ywkZ)! zpUZYS!1pYC@H~iBzPb*g3^sR9m9U{^+>Vj#jOyxulLD80H&Sr>4aNvJ_F`X|3xaFH z36=sW-Qo|K8*}$?@1|zsqzy5`1`QzCQo1tg&?cwm3LG}?y9189VoxKt3=cw1_B_C} zwE~T#qH>s#_CsrYWzAIeQ3vgg5w_Mqm{>3Q6zt--*uGjgx&5V9U9sl=N26pBH*S0V zvBF^-zrbd%(cF%RmH&ZT3`Q7gbQ74fmHh9I6jo4mZ)BJYC&ELn5=cdS*l??EpQGy{ z#d&GrX?CDv2C>VI7zW2e&n;~hq`DPXng5qa0sfHS=a+e z#n|^i6%g~Vh~0Usn)4D3O=fEb-j&1@+z?9R6>r^wUXa`mJHCZY zzo?PD-W5ZW?V2-}I6S$g=Yk({*#|^VtON+0I&f*()E=9M3l=1frD%_K#l_X*B|SU`{4p|hUIY)@Y! z*7M?AW*b7ZT54dP;om1+c7s1op>{;Lq#w0}9c#tIOO6O+ zGS#(R!aViXu?^{jE6e>>b%>2~i|M)K{md{U0I0)ta}Nt${DF__^cJA!_DJtet@p{E zjM%WDSuc*p7Z0g4@CAppU_iQPF0C7sLtkJu#vb0eT3h5Nu9{p zaPFG1V@gbet1&fe6g>YuR%rQ=zkev`It$!h8gj~UwLvMPl--S7#4DO5qRwfax}UvC zW6Tj13SiYHxyCC|svp{w3*1DOi%VI!ZHaW*hR8QM42}OFwL0LMXnHxW)*g3cl@&IO zxK1fZjpdW&mtp8MOMI%@(Arkw+`aFt%Q~|1doO z_tx|^aKB?c%=_-}&%4_aqiPM83m$aa$@2ZE2JJZSse1?`V<=i}0LJy9Dt+Nw3>8CO zC8y7qKfuh!)P0KbRTgI6&h_r$lI+uxLC?uEnYrYX@OYejJ0W7}cx+5s0e9DT4EqIF z?X6hC>z(OGj1Is&P1UdqVc#iVH)mm{1&-kq0OMV;>4x>*3A-c%`@DoH8Myd%+sq0| zM~vTMXgvmiuBB%|PSi31?4rfTL;~-uzqF3rQ_G&O7yJHo&5gp;tvJT7P8d*88Y^9u zjj-<657`W`c`-i`8O>-0piSZYAh^1HAg-uR*BuRb%4vT4MUK_3?!aoTTCQHjdamEn z=tcZOr)I98TVy%zZ&4#$gm)OY9}Ix#pK0{T{Y8NOYHYH3JW8Lf&$5psQ2}}z7WyI# zQ`)b;pL-3FcOk!pDj#ejIz4&n6lM<76*hg#(=OdYs*b;nM)%x=0Ra(!zzq%^e|r0* zh3k?3jK#4D$^RKRql~U*pB}~GN$iOXkF1^rUCsvpC znw39_?(5vq)1b-1_EPY~Vr@xam}Js7+-!Q4w)A|YXIL5J4PG3#w2|Fk@n{6Co-$$qPz6=_+8C$S^5Z()m>U|j> zErypgFgCRf{hh7yWGDe3G^ZU>8}!jqY?5?2$H(cA$RyrK^`Z+xe&Q|CjQ0OECog{z7GGLrPgdT7m#t_6k!DM37PmuH(>z;H*W#HuYdT{7rR)zCG(bv{_(^1?l&G&ySgCp+s5at{!>+d z_c5)@3VzEZ_)>RBA-Sbx*N7#<>Y&MRFJQjmOEa z#V$`5(FKwy)+GBN7^zrqJ!d+f_Qj%&>iL@f#rbD5H^uGmcPQX6ApH%vJk-m4^`0(z zFf`Wf;fsd-v~|8+zhq2QlBHd7`S)CcB2S8yeQ4wm)4pM~E^SHiu1jCS$Vgop>E>m& z!5$4ei(wEi5v8R#X#9w@I~y50hP+5_d8+yrpd#-Dwe>@3#{V=;fgQe-jv>|~GwTB8 z?qkaL{-@q%gf-B4tafdMy|%JR7%rT;Co|J4RaeF~1s%(FufrhWBYW26ZHS**K9lrc zNsDk9B&-pjOT-O_P~mZNYjZna3wRM`Gev*(hI$5$4M)w@Q~p2EfG!?m(EpGlM&j#RwD8V;kP zan;{db=|9wb@|9NHWPP0;z=SHAho4V*J7~PAe;G7=TzJ)^97w-Mb&D*o8EKKXt(Cf z22uD8Rb_Hm+ucDCEm_m0m2%hYCI1i;4UCV#p{NabYG0o9-q7Z@*G<(GUPaJbf-0Aw za(7l{`>V3~Y6@ISIor?Jygax$xj(7)yuG7qE*??X|NOw=t3U9ff{6F&*P~*=M}nOW z<-7P;nyU&*=sAzdohS3Ebau`PRHW(*5sjyfL1$fYh!xv-)2>O8{MO{yffGvJ~H1vBSiU03)Sv_|SQb$~Q4di~8P)0UeKvMSu#e$xS6d{0=TX-W+xEwjB`-8Cq>6D5a&%KNp{M z%|#>DMP0@K&D5(RWXE9HTE}`%VZEtgE%Z$HHOxRnZ9T6d%E&kCC`qlbGBM8>59uCl z-jUEd%pZ4g%}XhwrA18^I2bUvXY?k1qg2=)AC14)4XLhP?~+T%51%hEa`Bp*Fp@5i zDHW~ef{bN-9LIMtmsa&F+`TtLMCf!|pG)JMfO2X+_1>BhuC~<<=>A}_pAolCY`b39 z2PYmACD5JgmkaNBNArX^rNp&KP}BKFOr_F@;e)VvF?ughhG-syj#1%PC#j(r#Qov+s+ zwb1XXWf_HYy1u(NJ)bTSQqa~x!Ziw>Muv$DMg8LU8651)D zM))e@?eFBl_etIbSw3<)7Im?O&i5l(UT>HHxUW5-*AW7%q7-cMbynPIhl6$_0oDih(SoeFGb!ilvBa{e?8>xw^t zrJEVsI(6Bor;I!oRtoPmx~`zA{&HM=zgF-%y5V`L)RH3&n~ctGiH|5x2%5H0T&jK4 zw#ZtHyyXe}XLG*C{5^SIN5GiX9~EU3W`AxjJ5j(k(b2r%C0P!|2(4|Zo^&xJu(*Z%X}8}8ZixeKA%C!uVzaa7TGxsF zJ0?L?d7W_>OiUZp4)>FVuk>kr^sYO6C}!` z{fWoN?mI@s;*5O79!=(!f7Vk<47m2x*b{YF+5E1ckIlOsch@?Xcqj9)lfvO`c(M^+ zw<&v&xNAaKKjl37KnL_W=JvkH|3pr!-wFTP8TG$cTg^#ViTO_x_SMrfgJ#-B6)aBn?+iR7+?#r$*h`9bxSL8eMTydnmW`<8Nb{f1K~Qa+H&vWdm4{M!52zSUq^lu!JUYysF2yXY8KVWAg%~+A`TG{>!0v9 zNLr9IN7MAf4nglmI@pJxgMTTOjwcyr(d2gxh2Eu#-9ne_i7=(6d<+sP133Av)^!@gW zC5Xe91UrW;x8}_e{ntVKgpzG6FM`agtnbSpc0t@e`x{i zZsNp#`#DF+#i!HrjI=o-gQ&UfV>UCmHA|+uQiu4h! zLD={u$96JG(tkH$<(-+C^e>yq*meMkPRGgwEA}xLizff!2Z5tB(vA#^6Wv}1T1-{h z|Ds_vOdB3+mF-$r0x2~_(a!~e5-0TFqlYTQXq<=Y^bP)z0c?4QsV1kOnvm z1q%1vaM2!58P(@tXU5PwLoj71xa4*Pxz4&E0n3l80qr2<|N5A_32c1Lh`zd-1J0S< zv_JQcQn`f!xxdruYE@w?-}EB9 zhoLVnK0{G696UjHGJ5a1JSj31c0dkCb?^VoWmZ)JN``R2oly#EGZz8c^>TER)_5rP z^@rmfxCKzvqX%pw+C*dn-c%vBUB2}^nqatE??QP0e@eB_AY1FBV@`ef*FRg{p{I(r z&j@0tC%Zk@`^{a?{R=nueO)OQsadWSe6_ym=tn!wa(;_$p-hjOVb@e#fyBY zZ=kMySS61k89O~1M><-MnS8(Q1)1iw-ccNa$sB$~&n{W0-W(j=SsX2`U7ID7BC6_} zMCxBP*5f9Gb-qDw^YzgR!>JDs)(-p%XAb*j-G|NPW5v&&&x98CyI=W%WhTX@7I*Y& z@UK#8A#=C-@E_JH+0gOE1SoD!gDr-w9L%hLNmFiCZ5=T_UdaA5-I#@ueE->6kF#~9 z*5~@Ilgy@d`eBTwYz7LVs>wMC``t6*q95ZiCWs?AbVLhVv1{%f!eI5-wggUTKvAh5 zpKO{o-?fV~-wTbTJUdcPX0PV$nfUjt00AJR%_q9|H;a@!FVIh_aNG@hzgpbFYs9>4 zsLV2P7H<>h`=P-dq+$J~g}m)OxLr3}GP~VevFoSKWP9uCsefnT+IYYTp|toq z+4@d30-Z;Y9BH$B!yK0k`n% zEjP#K9iDWo{1vCe%at6zg>MH@E!BF#5Ch^SQmI{Sz424GVHynD>b4(OVKxhxx(Ha; z9yb-Pg3`r)7`3uXQ!@Im_;ISA|NT~`aW=*s)q$an2n;0-h+kN;PoPbSMrR>svDKV8WtEgmWwekxs3Uk zD2LTTMSy|;OPs$ojWn!uNq*K@V=Pk`&@;)!9gHR1y5vlMkBG^I2MIj+^q73zv{z!# zy9gw!ef?ymS5gw!FjbEd4%KU*T?dg!)km({T z#S#yfvASdAS)zH3)DiWR%B0X9)2meB3oM_&lH3C{ zURarI2B+!*lLBh-XnI5Sqf&3#Ql87pdtOiEj@cuFF$%pU`E))V2ff+szRy0sJ*i9k zXWC_~Uw3uiK6zKOm0NYE(?9)B}>Wct$*v&NDw7V1&yTr;shmVhDtgUY*<3@XD z{*WI?=fOAEq9phi;J3*ydZxE{9l~6kN0mwM&+n>{KIbx);9p*@ZQtu!&Q2RMJ9_E_ zy2nXY%zA1WiEWmiF5EL{8wyxCk%hp83LxzJnj!b7U$(;t+s%Xjr$43k-ox z&9hkD`JHKc{8ZUt2v%wZqvY`le%hawSwW3wcptX!@B9UxrT+5{H{uut(z5j6@i}_v ziXdZu{5(cgf_McG@!_&t-RhrLn%%fmfjYV)9U89#=gVcu@>3PJ8rRg2GapwenqbMHC7lLLErkahh#U1{iA<3FkPdV!87L^%){ z>5uOYggTn>M@VBaOAiux!+Q?Re7`a7@JfYkNUeB~fqOwvo+V+jv-j`aZPRXY$29m@ z5gL;Y%52e1>A~2*fXIjB+w{aQ(DZtGrI(O;4h-*zBSN~x%se9AoM05`&wRt_Jd$7!~EnTlhhDx5&jD;Jl)JrV+p34o`P*pz|a`E4j z8(0w8h1u`A-*sOGm#3PV!)l}U8~>r^UK|)V6H4?QUBa4+liMX*k2^Fpx~16*mcNZU zX;`wF4Chd8Qc(ta{cY~Lz`1&mdrBr=>~j!B9ulCWmD>j0A{yuPbC{bNciudS&YL_w zr=W#@Y=6--n&vP?stSo!ey?KQmE}|2J1ewVX;A4s%!NYS{l{+FtHn~h%?x$*@Ag{u zkyW6w_ZGQ{4;r(M&;>DT}|ffPbd zxfJ^S0JZK%>_>}h_tPL3&u#38&Xwo==qP^WJj~dBYHia)#>0WQ0Xt_l;2nv!2-#?z zccc~(>zwxy6qi?D4j?)(O@Efw80j|P^`yCnupqE^uba4YS{c!4rBfZ^j4q^*{TABXt&N`=a_9=~bx@8aLm1DjCIdX776NV^ZsmIiY`!mJnS2v9?!eX%)TsK?41hl?|eGE{U$%7 z7HuAa1w3Rqkc@l<5Ocq_1XiD6S52|-^rATE==jCRLBypb@$~Bp<_|jwxW!R^OW4}R zFTK~`nNljhoxYVDxX~l$IRB^wETtaD<}(AD){R`c&y-21IDA{3XT1NaHc1xyq=1w{<<*TXYTBKFh%ze@r-r z`i5^`+OjaBhdy>SCsn;90o3_u1pO-zq7998hj5mTU&lC0a95*i(b6Vli>j+aOsX=@ zWd|4Q29zG%&R^xK|E(i{oe<;(dYu@0&4gr#oYHFmS5L>;oDotUK|khtmt%GXG40SM zF`Ps2V%+>#MQ%odo@@NifcTac-B}@~-@n_sI@`PJEe^_ne{HcKdhRRo)R#KSK^Q%k zyurxruP%bL7X7*J;T751K6tD{97wVuG^H+Sr6IJL7r1X!*zauo3jDT-F^hzbD`PCW z;R=iK7cK8k_dSB_RcHK~1FNbyeZU9KrELCRyC5u%D2N?Y zW_s`{jH@}#2SR;=sku*O!fjq*4d*sGy245!ei$n+XF^vt_(h3~!zHR8L0UMFz;f+X zhfW?B^^H^?^XMfNiAlJ(EvzG~Llfgm%}Q5?@fAsK$SjB$dQ0|eREpbIK@AdW?+8*= z=PW{XBFbmnzAQ+Uv?vpzW$(?J&0$foth5FX_>s#iA4XTh<3%WewTP0uFkOFBSMHT- zllo%l$A|lyZi7aM*O02I7j!dqolBk>H}$h%)3(OjnUGpZQ^?jDiizrb#5078sEMG} zsUTN+jU#ROIBof!a%IQ2(g6kxh@ityrnteD8>f(K`9xJdLh+#l^eG6;1DgIepRsw! zg5OF#_*_q~-$KTB@isrGmg~R00t&8mGUv;U{4#!Na#OHuizv>Vv<92gQ{mYy$vi0P z|1s;0yTze(3B$7A%5Akfrr590AYqjIURsLLpIMu?_m3PuS>lb!?iY>28oJV+^&U#3 zw)x(!aa#?*f*glyFyRnoMr<^Y7cxUs%G*$iRHz^^;siI{0g1==)X8B91CfKn4uW9q zM$X<>^9XYUNxY?OXZfvG82uOqXf7lDRm*P~2MLPf2J#^VO#j+wObb?4?+GGe^dvg&?6khs!AYkcmEK% zQ~B49N@*_;+E=n~jiN8TWj%)yUj|g0Ff<_GLudBd`5i9$6m(mbyq}T%z+1MbEy@r9 zn!RoeY^c+oq@;?GJtm`{i+gTia2O(5`xkzaqLIA2FHEef{+86`@K7Q?C<;;7lG0*w zm5-H?tPiq6=sN9mP{S?qjHfd{Ey}S!BOKsArr&fP;?sT_gsCJgRHrAqQ6(La%@41P z%?9z!dip+*@wRNJz>Diwnjwhl^B{k>E_HdEA=Yc8#LxXQPHSh|SgaGE99eZ299I-q zqK~k`V%`K-v$ebWE*w!FDN>^yw{gj7(kuw%Bpe%T=)UsVF@Iby&eEFY@{8p(aAEb= zU?-`w%VxW?TaRs*v9!?C+uIT1j(_u+Fs9&8KJ$b@(hL50;%PGw8L>dpUjjdk~fH%>=tDR44K-) zjO*{-477bvUx-i?(pervwc}g3%i%9wnj7*=kt?7V6ZQ{d-WBpkYi#D(>wFUm9Dq<0 zQQE-uzMUxNg$%cmTkkOXl2xK{E@sMZD(D^E=^WlPC0^F}4kf96*&-3SJ< zN^V+)uCOJS1n?xl(;7gM9g371$xW^R94^Lr7D^L|9{h;6L?f+-kn+l(%ebEa=!x(g zAk_eQUS54_MxHr@y29%YB1VW(CF>HnZ#k$R)hfk>(e8*_;ioTkFgVg9`@cd7%^lgj6dk(Lkbcaaj|qE`eK6+-2Jh!qGCDorHNSZF5qKD?}rU(U*|zwWGK| z6*dzcdxEq=`hK8LzZq7Seq~J)ZuDZoH_y|nWtfzB8BLGATTVsFR0SD`%I-LcX9TFN zhTb5r`>lkJISr;Nv}*NQn{j;L!?87eN%;=NHol5p=d^Y^#?i;(5W6SL=+2|Mtb7QD zlSJCl4(k@5(mQA!9NtqFAZdJPfppwBi}^9xhoOA6Wr*!L!^IsCoSGXDC-W$6N%Ot- z&56ZSebOTZ~c3kT&gkE!OQnwy)n>{QYLri{v`4SOq_MZqe!C}bLU$jv;q#6Sl zUOs@m_{9K;2j@`6@kS;K6g?4Vp!@a~%Jjb$uhiunTon9yrc)AagXSI*$33}D&xd@IOim8dQ@Mw{91b#B1I~B%pGn=N7H8qyQK~8o!Bvc@^r)I8J*0-Yc-lU zc)G@uyIQxMRYCo)mT3P!S|V$HaXWIKoSw-YANAQMwsZdWvNFk`6sFiT-QWE(w;~G` z-V&j>F%9;AzDtP)@qz<)JH3Eo_7>kh+|w46xAVlD^1}Lwrv}d+8X*^bINknQ?0*oa8Tr0+RUWx~ZrKXhb23Mh6HV_3w6sI^_GlXp9Nm zLX=@WnWg)C(0KyE&W%3mVBXMgOV`6BJH|Y~D!VGuL{$|D0L6rWH#7$puTBXrytZO6 zW}C=V-DpiHul6#HRX43Y&s0V4_al=RA>23Zx7?+#NTRA`+#A?-nsOKo8TinoW_{R( zd6bLkI%vC)w@CAtH&)8PCdNHTTMMyqk_hSA&>^T*2boCB|H8I|=FJN|yv1xCq>pdVeb zN9W9hR0m17){u<2E2gBiB@tC)0q@+AlCuh0WC>)kxOEteY3p75GgfIawICiXH$Joo z&RVLy^AX0z3hd`r^nsJ@3qNrII90%u%d(Y%HSK6!jF5b2wt~-hS7F#v`WSTO zppmbd!~CCzIY}8E%k-r=&izK=p_2Gb>{gz`GLiVBsBvv9gPD&S?fp!C6$2O1faBww z?7AH_M~}j<=>bZKV4}&KnEe|X6by=-;G~3ayDPen^PSDNfIfGmJ~*rCC1QsrmNmg^O%_fS9652kZ(<%ej2}hNZ|L76N}$(t-#VQK#6eoU(p7(@uH0Er=tpBx^h2 z=f8K9;_Ad{B}M+Fxk0(8?oBeCpie%Td3AUKOYHtPn7oGjWxzWkNluUH9f` zYvGuPc?+*l4XL1BiBVuQ&206jlQD?t2W1JMgz0R>ThtYY(uxY63r@imllc)C)Q@OZ zE3Z(d=HYCqc@G5^Hs6Q5xEsQBa*YUMI!pQD>b1EumP5f0*FW)&w|F4uq%jeHI#pmY zevH~fwWhFD1KA`mQK9c5<2>kXN|;P%l8(5cWCLp-)u1?kMPW?-f=k3|N5`D$%Eq9# znD@=vg~p7!GTOS^x!e@nk3f;&4HO9-0Y4B%?ui6|`V*J8>#LH0J6jeG|HcoXMAfB$ zE@Z^tL+Ln%qH3HTR;gdx;FSy_nbr1^-#0zM$s@%SUoSqT&`KQBeh%~X`r0%%#hJA} zE10_~H=3~d7awoq;S%WLJQsJdUq6OD_pXIPFS^I@0h%-=g8OL9_0;Km2`oD#?&QPb zKg^F8xnnWmzOwM~`>BzGZT6EP$$vX8i=N!(`e2cFl}yx?ITi~`uw1y{Ba^^gxh8MK zP^WX1DYYqFcg85?%}(PALw|Uu=p*r&Tf9>b?jVrqV}7i4;-_~F3|T`j7mynk(;R>{ zqd`vgK)~&Ql4j$_NKi{_cJRZKTXqKNq71K^8^55zGLKhLJ%U(U7Lpl6#2aOOQgkrM zoqJFGy3)Xa7xjF16IJV$L@#v1T&G34u7E7m$^l^XBy-bjZZvT}rDd)559!FG6loC# z>Capof4SMh!%K|~EZlZ?Cp%4`hGa@3Zh?nFP#-qTjs#qbj{dlXgVRF`r#y4{?G%oE zTHPn*XiNKb#Ga}n1oLO_fz*pep0~KQDn%IGDDQy8f|hdJmzI^XS08Uxv|@G&{_d`7 zEOFOktD{0-6>b+#yn{0zd++@oc{pU8s+VWDzoV@kAp_JW;a6Y8W z_hdtRP*iO5g6r;4b&17>j9M)r#rma*8dl_db8QCK;W>6U1=wI(G*K@-$1tBSJtvSI zm|Zop_aIlKBBirj869poN{+32y`SGAW)DZ((-xPkA1xuqzb@hXh=ldXwIzK#W(R4S z!o86ul-GU2SEBrxI{WE(Gugn0!7U2XOHBQ_)J&q>7Q%BL0ftU=(?RH<~-GjYzfI4G*~PZQAw-}tebc_8Vy0{=wuxYTZzo0uj) zsUqPSJT*QxM>n?t3?*X`Q`SAtxORyI`gB}AS~unqyI=gl*pGad{Q`o+e0qR@&a5uJ zHWSW=@S;a~;R!6~71xP=Lli%F5=hCafif+-rJirfoS6;9=RvUq<=LT`4j zh0c2*q5^=xKVwn<7V2}H^N25&Sm`W{to?6>kv#y|DlKGA0W-;c?K^Lfn*El*H=xzi z6i#zmks&BLxy-F5x87Yw&vB2fL%d+Lu@v#Vibdi4txAO8LBi*V^HrrBpQP4=3zv=N zMX-fPaTXVGucFIy>f%@sH_m(^ zzuS`!{MLCdbe-pwXh^m4rx@AvHK|~$M^e-lL(Z#jG1xN!?^t&yT7w&?@azwtX=2qi z`tz)@?4WDS8_b)Q3in)PdgWerL>6uPXD@zDVSF>GN`_VsY%L1}3&Mu_9*93FM{=To zN5FtGb)JAn5E1$RCGAI8%a9*igpL={h$Tel!aU5*9Um+GPz z)b`K>RMfs|{v_>5Mo)A%qLdB&tLZ#Z7&W-U{KRJ0I0;1)_I<=;DAtG)uQqQ?L`XTe z4I|8~N0tiFY~aV?(xZE#10yYDJR9Nbdr6h&?fJNubX6I|dS2F^wzikPS^SSM?8yJj z5B7P-LIr*&p+mC|x)0jgW0(BwkAYrKoEi0;LnLwceuYw${}ZcLqfNU)W)+>emHcO4 zp!dtB$>GTtyawiQL}ZOO5Ynn{-V?; z3+rXDIPu_fPnF`HA9g>vs~$#G)=+V`URSD*7AyJXL>t{_yIO zG9bW-13m}-8JrB=_dqGwSt1>^f7xZ)XRJD`AB!(&*f25nAcga_E9f}0{X+hA(%BPW zgC`K&l6-&yZnhPG*U1!nq^=S>1*HjL^M6V3kn!TPq-4~Ik`M5PbN=hDV$4M0N`pC+ z^UNniR8`s(hZ+*%X!Z&&${Yc@f}Tn$SP0}+oDl;PT0LhKF2Sv%< z%G*}pf{yN!2af&q+MY~to!yD-8#JsQVOQG(x={W zoBhQ15pD8nZJPPhW8dNIw$Fy7Yi4$iILe;q9?feh7mq~pJ*Ou>CN3>d;GDZxMaxZP zElYDD%_y0~QBaof`E?wQ=`&;{#zZZLl_m@KBrXyY2 zY*mVx3OjGsHn*}Copg!L`}^<%=*#&_U z9M7+m6u;1p?O!!{4)nXP(pHtN+R{n6x9t*B{NOV)T+>^qhM-YM7SpP&@50{a9uTutoyyg&&i!I`I#V}uICyZu@7i``v?*{oImVxc` zX34yp!P3+g)E9^s)0sS5Eb!?Sr6dR&SRZZ8)+ofak~F7b7s&$clI7Bwyl3oqr=uk#*( z+asG{=iM$T4~eJK9FX+-`9v`Mhhj>e9l3IN)S2U#Wx#KV!p0THJc4HGETyK`CRP9U z^i|yRoGPL;$(N>p#Kg2zAENGtyOPt4=NdAdo3J7hBmtGOLhm0mP(I4}C_dHqOE)Tp zH%ib>8d8%uagjS~oUY&?V?mP=w$Eksa2FP-YNx-x{Kd<(yM}G#>h}6}QDY2`;R7TP zV`Gjk1u!BS5=xd7P!PJ=z@%AsFD!r`1i1~FXS_m=J zku`cZ#a&i3zRl~<9Rfub_uLTjjaF2G!z7=eH19qQfGM19HM7SGi2 zMyHE@!FbE>*5FlC8O1Q?=TsY@LY zp3z=m!iHK(Vyu);5+w37g!O7PL3p0Tg^KUXd_*yN+4dDN31TU|&5_4#DOt_xP6iDZ zD;8w7W4AE#f+`HWq4v{i)tD47Ty6t`_WhCtWsC#D5r^m+ei4tRt^`i##L3g0tWNpJ z+U1Rfll>lyw%i@bB-LN(;3w16QiiE_&(upggu+R9y=Tk9^$OGcqcP%ze^|~LjePpT z^j}p7JFEG37(I*7>BXLQ>|5>mq<>dIkn&yo|H%pja`Aj=NvYFJ@e6alc8+}%k%JU3 zwtiJ^pAhaJBtl_Q0jdQ5>ccyRJ^gMqnw zOWlQ-;uK}J+ggHyNulYNH;x(o65kixaMk&j@{d98VGZB5qkE&Y9#6_=?-xp%vSBtS zkvJtHDdQmF&=V<w^4+WoqpCN({jmGV1_@P$|--{~vAd;*j*&|Nm=dl$O+5X-3## z%bJyXJ7=VTt+npm9jv=8%}`WUR+K2r5D*WU*}+3wE6o!f?sB^m&>1Om(lif=P_w{P zKvO|OKv52g=*=Uf1jOd_JCo?TJ7dmplY7Q*lEG zTpeFzP!(8)sXWW#+JLuYdUlFOIRH3O&hTbp6%Km6YAT*%G9E_{lG{5|MDa?0ps66U z-F7PyZrfv^XP|Li&}+S%#=ckgAm9ViQwJ2#^95OFNNN7Ete9ZF8hJItc$(`oQ!c^Y zQn&cV@e<7=v>^Di1}BxIpW=NYTW(XTu%F=dyxeaHn#@`KKZCZ8J!O+WuqkiQ-Tj#M zhR6BEu?WEUA&HcSs^Y`dk3B228g4ATv~Cc@1Bo(Ewi&` zIdp|@*zT(trC0J}KgT%^+;nOASz{Rxdy%tp$pMDV1?pxf1>H<{?~Fck4U+FF`9Re zqC=?s&mB}y_KKxOZZk9&XxV}aLHCBzK_9MfqFXc3=1hZUYl_}8RsX#}y)$)tJYa%J zO&Gjfe=5YvK}>bVKB)^=DOWgYUa)#*NrX_5DQNjcFu zl`iLRl1TX4fST*l&Vh4hlbK%~+cuLNeim%n0>pD%kfJ9d474%`_62 z3%#&#basL^(?LvmTbA-RFx7$sLVEvMpB3UF0*+=H!=3WFnJ@WEH9zR~rZi^W3Q1>k zsqs2aUZcibKBdWGrA!%@H$G_jJ|hI#PygP;=dzWYJ(=YM0_wW-)RMlMNa>#%?PM{ph)Dhdv zYswVMr2)#G!YRpBV`aX7(?Gj>vbo*f(&?;@J<;x0IyQOqlJRZqY2GyOc>nT=cIh6c ze>jzK?3t`=r}EcDFG@YuKTr=?PrE(`=*yU&ar|V{ ze0OOzC~CjbSVgpnUWO0v{4$q+*MJWuY& zTnwYDfAp4eVbhFPI{^C=S={FB-VE#>J8&o;9o+Mxf?KKIfh#TcpK5%aMcN86UU)^6 zLnBoY+3Y8RlaYZti+MftpI>D;RFnG49f51@XBTljVeC#LmY*#B#bnz7oV-Ev9PFP2 zUl4K~#{TYmcl+O`pJT4vFj6)?_@u=x!ejPU@CG@=GBh<}(uUJ6vo=4`8oRARb*f@W z?nZ#?d0-c2TOUfx6>%&_`&tW%b4{{PCP(@g5KMAALs0u0G*;X zNvIWBaudfsRZC?oDKkaT45gZ7A`8I2Xb!YZ%uYLfmw7|tu+%yGRcNyF{J_e)06?;F zBpMQbiCj>qOK-cwjIy7Y^qd`_1)ZkP_Ib?ou^zCD8)i&1a)m{dI-NJ0@M_K|=fUbU zvNP^Bz|FJnHQspbl1DVl$w(I#1DxHKz*_`E&h#VsjJ7F82g1PdL}F&LzLg&aD17q? zFyk-hj5r(t&x*{4J2P4l@iM0AnRyM!`4XG&D~%J84n<09uCiCYQ;Q&^QZZ+8624Z7 z^||ORg#mrsj_NGPR$t3aG%az|(KmHbJQzQ!lH2*F>AE7SC-v=|)Lzp|cF=bH$XKOI zwSM@dRhFdT*NU683*clXWTcFzLXhcZ znU|5Ff>a^lQ*7cAA02p{Es}MK$#qzfI5s8K*m=*^zVI2h8>t80?YdipZ5|27QQe3t z7h0jfD4prbXs~z5;}(aXh7Sxb-{Z4k1hqO@eM}Keh3uHE zvwxQiq#HkR7W`S9)6m80_xS1N=P|Z zRR${ud}{ronzfRoamh*v@JYQxRHdAUS`l@Ca>Q4l?pG}wO*hc1z_1ah!V-LKQ;?10 z;1IpzsoB<`Oa|b{vJ5&Oben*=E>=9>eUgeaht9r5^9V^I`IY&%HysS_tD@Q7v$40k zq1QHC?A(x>RP7y-a~as^u=~{Egc8E2{qzilxaOpH z^b$TT-}2<#wrqcG4@51jk@j<`X}t2YyrI%e>Ip7kS`w49pAWN$W+biGuMWx;2|Qin zD9=^WDb{_D>g|Ds2QMK=>$PLNysbdM#Phz{ahn4**=(z64#uQcP7%-Vtjzf7hjH)O zLBX_0V0N92F^orD#G#=6D{76O;?9mwyj1mOj@trGAG(4rK}wUx$qU~=##{g}V}oWF zbXgvdNo^2BQXf4r$XwyVv5EW?yWF5RntFLyhcv#pVfVLHU<+oj*K!qf+Z%gO?Y|I@ zs-lc`g^RsI2cDh6k@4tT6l7mJ<&F2LfsugJgnN;d1K!IS&CAIIKoThOpNyNF{n5PF zHAR~4Jal$(yhoQuHyF5(T~5S^s*xRsK-ohJ}v& z_PDO~Vb|&?$4>x#uOuQD$SA5KwfG;Qp};{g3zw4scOJ6F$Kn?7WjlISooaoNkpzwh zClZVR>Cir;@-&#d;V&yXB%6ON$Pi2c@6rcfznm^g9mgG6^X6CT^Ze8;YDnb)u*!++ zbWT57+-*|Kbfc)2=SPu@`LlwT%}pl~4Rb!XNDn zNO0V2`6YlrsXx>?#j99wXTK2p(E&MjX?${f6G^&JlGw^#NdrsYM%qCb?K1Na5da!tWAABQlwcK>ieVh* za*uYv+k;>_o^L&BnKx1IUW76|<62(byvjUD6!8n%43ux7+d<`m->uDDTfuCwn;7-G zIJkBNH0{y{cmVkTk6+yka$03s9dPkJXr_wFUJ$eV&VHBZ%+V)%eEJ&3Hh=Oa8*;Fs zWADx{<#K*_1M1KokJGZ%=i6t?ZmZb~g13C~X4wx;JIPNxnMniTBYSd78*d%Pg_wR4 z8#WBxT3&V&aGJ4^$al9M@YH#1L9A7&(q=*(GN$#Sh!Wd`e#X;C&Of21ZOLDSB=&skw zxR9*{Pa;yCjqkh(@~*ing+2HyFbcdq2C?k=9>_Z7;WII_)3n)f-Dn)yVi%b;cEj!M zPxjD9#;wYALP#58=+wTk3wd=|wBzzO`+Se5&Ubs`g04SM!drHyarEe}zR-#zPiwH< zptj{FB~479;~}H0ktL;+^)C5|Jn%%khOx6GMA&-h-dY2h8!3HUZRG|uQvbFOs(|?F zsuRt`-m0jr#wPFOTEOGO_0BYkXx&gOXK{l-iMh|I}uWfz(D0xa9^&B!RhKQWi$lNMI zV7IYPhPghmrLc1|)77AxIy=N;ctOb6Z%)W})_7=nCTQKtO$FrV->XJo?-^L{*c#AEzMf^Eh&g}LiBJsV$46wZ9^7wyJ;$I z{Re_K*Zc=3Tvtwcb%teFGIqQD;!Qrh*Mod`51RJqu!aO zHx)Y=qi|A8?%LzpND6v-unC5c_LkZuNXPOQO-|?|eVV(jyA!IwBx4LjVNuSsOnzJB zrk=VL1|oYWKhbvJ-}Zp#$qd%iZ$~Y%__LBRSMSqdU>Dx#B%;n?K+`?9Et_&)0T%e% zkDExTDYATj(N$xKp^iJR6MKqEISJhE&Y13l_n@x@cxIDuKc7Nx8J`4y{hpcIV++u( z4q8m9^VLOvRSZilT$a#$CwJ|hifI+_8o7czZ0^oa0ss4q>=n4apO*OT0dMI!cz+mh zGVd9m__AXCwWOF&^4#vONpC{X?HiYV+xUqatfg|rgB6LRynu;b_scK#+7HiEO#iYr zi$Ahr-DY6V*buiOd^B_3_dseNz98h#KBVK%a8v^<>TK%KK0c5r%er2L(>W7#SFw{< zL!|vXDker3ac&1BTji-S0|QGP2CR!OoBX12MkC?&mjXDwf5s=Ycl?6PFex|Rs!yO! zy@=Ji)~Txen@W2}UmL<(`Y5Sg4qvYgaLEHS@KL(t=*69fY163grv>U3-Hep{Q0DsP?}z?c?DnL~ zaLL{@#Okkt!ps0FF2*%X=l!>Zk;>6pqUlRi1xVfZja|1x?&rmBB-8HF8q7XiDA{w(jCTmmwZ9-H3D;!<~7#;1QQSVQ>62M zi?kEKD9frCk6D8-oQv1M$)6pp$1~VR&^|iErPm?3)JKC0`N+l#5YqdPOJuLSvmNXo zV}_8SX~Mxb4y8YC7+KnX2@j5H3=EMB`etPe^?5gTidjD;fC)?bn<_@f`abz+#g#hs zdM)yAXW{41IQbCjJjIOk&f6E=f?rO4{mNhC1*!;;Iy!wpll)plU3$1jW*A#kqqfue z-!*F&agw(Kh8qEIMR)wIP&dofMYkFAJX{pu-JD*2e8dC>H@?Q`v{`9v%-_Si=|(E8 zSe@T&)pel)U`c7IKXwIS6V}WicLB#m*iIgyct+yuIzkpFFZzo}fZWgG*a_ z7TWys2x9%37rEPaR``I-LAR!_1LWP0B`c1^Q$GNYIG~OJ3LZmmL5Hi5vZ;DTlaW^o08z_`K4}hRnn4V~3uPQRl8UHa9SEJY}PBOtzQu?BfMokyZvB6d@ur zV9GQUX&{YoaNPnx02#F;WZItpc}HS8%gmaRJYuF`hZjlNlZ@lVVWzkK-S>dWDX+Us zjnNz{g^Y|e7rQHs72Z)uQD0Y{`x_yvF&5X4Z()}n*#=SS(<+Vp{;plQFm~r3UO?cE zGx`?jrh}Bx(&DU0z#g*xPUSErBGe~zX+aUH+%msWNe;f#0bSmxQ6&T3Q$k47Q(?f| z}D6{TB45e3LTshgB)m zF)$0773H{Utt7)m!OnWX4os>O`Ik5FC5kD$?sN~aU#!&Z5~>R%;hOBlk+>-3-~Z)7~Z2_Jo|2XWsCCwMsPk2#P%xp%HBj?TeHXcYuY~skEmWZ~(RzHz_c^)tw;mrvn!QVM@Bq?F) zG8}T}KHs;c1HB#MB{6DqxNa(f((K}+!+0@rQ z@|5-$&I;Ylu|O9Iua*y_aR;b(TUwf*NpU6q=FuVt2`j|Z(gUnXuGUA$ zzvi5*d{7an6ckNR9_vUZ5!WKYqG1Qici{GP4tcWbfFLAbaP2%{2XNK5<{Z_Lm6bWN z`WdkuXfL=|KB7aQ8g}&K=Z{OG0WKeW#O4_8QtVL11Dgek4zJW~o<@ZSNIwHfEirMx zZvgCs+u*hh+W3(admU*tC7_t<+E``$$T~6k&27pL;DIo&fj&+i9&nw;g}~Zx;r5RY z%F?-%D)B@*wKhvx7r~o8TBfi##R6AD8$V`_J_PS1|6~sa2wQrs%icE=*S$R4h}#BO zE{dK3p7JUKjRv+SHT%J2AOJW@Fy|Aiai<>*6ah`6wF{)-7~2TJ`rdTq;k8nA%Pr}t zHT?58po4%FRz2qRJVzGce3K8HZ=MQXc!tKR;s43AtGbnE2+wBaQ;05QEbV;=34ftj z@?$J8R+(zO0nQF|)rV){;`EW@yQNI;5a;(@!m?dCyFN%NShl>8eEUdH>)6^)J1ASx$PcqbF0h5T?!>2_9y; zgLYT$CeyZn{uPgn01aVgz*&9z*wv2_%v~N{0~0&SV-c3O&dQgkFVB@(Ial>NrIopE zimLZ_9F@=D=&$77X!uZ&-5_an8K{x+S9e|CqCG7QCcCX!ohXm((s^vnxX@b*C}m`n zojt6|6(0J^rtA!a)h`yRPVA&@=lfy}$F6F;A^1neCf7z3sAlDJT#B*4n$4QYMdw<) zvI?;5nF+^nBfu>jls|2MMWojE7}BvVa~~&fV|0Y2t|4Dd6c?__0{Z{)LwkB=%#yYM z+_dd7TJ6TzsV;#UWMUYpbcHlbK`h|5>KqC*&|= z)cEZ!ArEzZXZDX*9Z9+tkPB86SK?J2(!fI_g>^jHB+&7OQ76g@mQCD}4(;ev${tED zd5dQZoQo27^`nUq1i;XX=%D_Xr6{hrIE|(FD0pozaEmL-*pX}l0^RHlZih5A- z>J<8+--%+jwYW%HeE{I6z!-O4x$5Ve3bsoiH{G6ag5Fs7x%(X`fvN5q^mYkpNZtN% z}`0=&#p}(5((PMW* zpkZY=dXQ4HXyBbx#2B}q2~xW&wKaa*F0Bg4@|TEZiCtx;`CijOD0JODPm(3(-Stcn zbWUz!d#b_!@Vf}!_A!ou1*{MLqZ5^S>|lGBQQZ^HkQR(_!jV^F;qbZsQAP-3oa1nm zHa*|)hJjP7#mO&MUr>n6PZ8Eln^QdcvIB|)(Cx80&e_L0jr+g`7E!RJ4MC}q)L4~^~(^3XkVQ67$VMbGX zeX}Xt&KKWQkb2|&`pu^BzuNF3%qaBc9xU zvwLO$USuk~K&fWD^5JcO%+lOgtmdrr z31CWl2JFU_mtJ@C_Mv@n;21)rHUjdVPuA&NU39a(WEZ%vBct2ln-+(66RZ_ij9b9Y zJ;$PRU@E|9&1z!VD(LgJ6JK#;dfX zZOnZ_v>wx0e0rfjrFR?XWrTE{ss9RD5)QyQjMmx3mt=E%KKG4d`Vw`E^x2| zB=g{_!$W`w1I*=HIPba?&Pte?{;|Y;EwM?bl&4BJ0skvproXbdO`v{-nEKOa(5H-6 zMQ;pRXz(f+=ne2JU*|o`n*MO9^0XtRP<`W=Kzigm>K1G7IS-NMMWmUv!Z$~(egqm5 zwX2VLf)(syNnx`qK9ll9G&AyFk2sC>T#mBuSU0PCZ_2oEb&(W13)lwL$2zQm#3ck- zQKIA6tp-!%cELjfC00H;-)b2AAVUGw?nc0?sE4UxK*VTIn|6j#h!6ls`kH`b)1I3WT+h&ss<u4l3a=v9xWl|S9`wX3E*e0TFv)pE*OpVo#1pJ9NwsT$v%Jt?BHS6P0hZ&AWz zjJYZ2#?_B=Gl5v_)tyne94m{@N^xRn*rF4X*IvlH1S(O>giv-t-tzHR@;2Z0TO7c zikPChGWX&o!{$UR-MfHDMZ!;{_|LTUS>DXbDfkyTiPn+N zYJx`Q2aOw-mV2ZBEGP#fufJ|~s{qfS4)diiYww~k3_t00YzSsl8NM4hMLdM<1!JPV zg({6R7dmZZiMafr7fDEGj0RlIN-JQuhWfmDryn;^h}A0#cpFDT>pZoF%Z#neF~(-G zTU1;&R?{)ss`e+LpJC77IiDeX37z<{*L$!CN&2M)=%ys+^VY31zs_Ml>w&H>JRUwe z0duoihWl@;M!lLF1X=fCz3yR@gSzN5axy7LE&aQ<*k;2OQqzIZD=D8RZn>3srb;@1qPM$YlKUkLI7Yq3jrBUyNvFTXgk#G)eyy^s z-FPW+zv&P(h492(&(zc>o3`x{_|}yw$%7IdYej^|US#ql9q<*5c5@OPVT>HZvvn7b zN8ojo#QT=fuGVAT%miz=X5GIu6t-nD1 zy4Rk$n?WV#Gz|a)mSXIxJ$5Fz9-D%tqLostw`bL~{{lcTeP41^`m zVUXuDQ+C_n)B8?%VCoQN!v4v~!|E&e9JUB$+aYWUjw+}JaJ^<#G!8oGjrJ+7?qwG# zAP+2f+|2k28kWU65{cDL4N2WWfVA$In_|XT?ZM3X@X|9JRej7=UA2a}=o}inOt@zH zFFW@+k2Iv{PLHMz>`56Y*507iFKb;2o^+R%!(fb~707<;?o)WmlEu1p z*ZO(!pMu`q5#~}Jwt-coh2)w9H&gHyaY5EeFd5Uy{*nqNDdD5ecyk za?1uBkK1Ix{+zEWhWzBMcCL~ffhSwF8WGOJ zDjLT0lxq5tBkw`ZjB9U@EWIYmKfEuUqE{Z+E7oQdtd;o7_K?i&i?A(%$DnZ;2V!kX zvpki*s&OTY5(id|yN~SdA)mpLmq=JhAP<4u-Bu$FE}k?^eF_M1GqqsrbMV$Nb2~0& zJn)?}eBBUIedjrM^@=tp0-z3otzbFf80qZ(TTxPA{LX~+9_U*vxGS^P#F|K)h>os(JCd1v9^TN!KH+)Qre$k`+ryl1=5eou^vfg#_{%nRVqJe^A#h&n9m0! zE{a2fz2U$ErSYxveJ}izjUOG3<@)R8`2kX{bRHR(W}DQf`%9+%I;A^I(Mah$5wE)a z7SQ`oF;)h!w0i}lEuVKs;vX?Gyf3k#Lo*XaH28#IYA!%8EfBI58UU3?iR6bEHWP4ef`A_eUz=( z>8Gr++1cVd$Y%F`yO%`my0Fqp=%vp~VOVW>T3h6Y2iomp24px=7&va62N-V5vkYTskzyWLJXXq>Hcq|5_ zoYgdRY}+^oFIbMDj8^~q)ek^o$twqFC|_I_5r=gGk=&#dzwTm z_`;6kecSFx1+m9){$2%je}&((`{I&=CxVubUpc$S0+Ux~ZSL$7K^MQ}x)PrCYqHSb^hq@tTvS4QL%r! zVodWfbKb2<8UN=OKj3UyJvS6K$6oTChY>r&+Fl_kPKlmAs+s1u-tc2~>_|3-l>T

    axGCWd+6UOS7?vrCSa<{Bq_v6#_LEt5L(Q9>IPS;UQkyzRNGe5laG=- zZ=NC*U~^EDb#v>{-Z$vA)7})We|_#>kGCW4e928IJzo;8dI?`%Jz@FuJkOM%t%owK zM;D$0C6g5zfS&+t6}h1Rx9oxwAUA|u62U&)se)cmK6Ch2oba4C(IYqE-*!1*GpG6l zV44E6HWXKTkCI2br2x=d|3$xbOEwGHBbgVY+?aZ0V>yJxa9}Dp99G?kfAnu7UQ{WJ z)ZTY^LpWB%h5)T5gmKi*4xh%;053lolQwm$NP3U15bp#|SF!kwismWTT)q)2WEEfc z3gs(Uk`;sQgc647I5=~?*+$p!0+NLD_UCvlMYbh)ZdrAybCnK?0M|2?HXr#~?7N$V zF$y@bggo8y5kK8fqAbD`Axx-d&XxCbMulsT2aprted}UHK?z_4%s7^|g~@{6RSrDE z_5v%C~gU-Y-r+^)7bWZxnL-8Lp5_jb(mdM$njPQMlxk_m`&TC^@`VGO<(|xZNED6|mBW&|jYh?Zs6Sq% zDjS%++7wSQb(w>Rw~@JLTkye0D|-*`>XA47=PtSOZGJ$%DBVH?%a~(LK<)xz$r)(@ zJfe(sm!&Ls)C{8JB_$-}a-~^&A3pejLu9NeE)O5;!K{Z6f*C>hI@rN$&SsuMxLXZ~ zuR9V;s`KDnWUxy`HN2uJ97*80knpEzlcTS*5~iq!9HMhOcRgCMkkF{kzPfn|@$gVI z40OKJu%eq*9c6+hw?u6B#{azeie*p|ue?St!f5>59 zd8)#j<`a;6=E`O=_}2er+1yY~OQzHIn?AKIOwK}qep?rtXzpZqHv6|aywTPJ&HqZV zt8XO5Lnf$B@qA{vV6uTZq{c<`kZPpY_tvAvuDL(t6;&8_;#hrR#**ZQh)|G0g*LDF=oP9_U~A~*Vd$xCE7=fU7S z#0yrX(O1+{z-@Yaoj}(Yn+mz!gZ`hfBP>_lxK)hN(uUBTO3qvE=l2R!i65X3uQQUS zvwq~4_faReq^`Q7SUF;=ZbB1nt;9XO9D=FH+xy???8M19MOrbS~qZU0C|v8CfPr0$-YqHD*bD`0rD+!;G) z5+wgk9+_6?9W(J2N%8#&bGT4udC^GvMf6h|O_w@nh#VO+yenMhLr;s~X5p}F6YUkb z0H`e8s^vS9Ge7xF58ptm(#e1DsH7#Yjk`X=`&${Ef+VDg z{oUWe2@ovN(FO`eI2|E`P7SUiD3m!FQX{-yeA*hM+=0(N2K+b3*@Ze~#S_>O^c}gI zrOv%MWtl^z#xmp-zkvD7jkdnW^KDQG(fsKQCaG-hnC=J6A0KtXec*1ZnXgQ}RSzbQ zdi`_@m26gK-vGj&7@vQYi=AgWr>f3NQBC;9iH-3H<{_8IBtSa_7`8roDRpgpBnd0K zA8XpVZ>hRadoO5OdBJ}G-JLP1jmS;Gq`}(_&*%!QS1saZidlcmdzNv)5?@0x&d5}pJlk_&s?E-jcBaz@tTah%9Z?3E$W)1TiW$FZN_vo*D?UE88PJl z?sTqcX6*h$EN!8J2BXs{Ugf?j)Jz2Pb(wEDVV$_xpLnG1xJLX|rKpMbzD+Xi<3YBN zC@F_BW;gv1(&3pDgFxRn)O)yJ5m%iepz&R2TSNJc}GR$KcC%f10FeR3a*sE9Q#^-#8N{KG4{Y;Qme7CA}6nhXUN! z*EKofna!?lGH{?#2=-tgv3(WCMw2RCS>t+EZHMsH8{^lIuIySTkPhk+@;bH_&>l3L?&YZKN$DR8!R;UjYT8)#D0HtCC=l7hDe zPIaJwIuTfwmq2-(HBQRGSG03Nm6{CZU(5f8yQ1Cuy|U54>d2Xh5+iE|rs-CvuFLf7_ImI!tv#S~qhY}X8c zqSRfcqf4Gt{445x*sw*U3dSj8^er8!PMZI{xoak5YvOI%G6Eeq->6HgXb{WE)vkjX z49uF!ne#q`PEI1ATzute@|~GZm1oSp*!`_ZFag`6!0oxT;ny*p{F~56sa>-z&%I~$ z-l?iGKwQLpP0Ryqjf#lLIo0`kbWVL@r716Ax<_p7nG&X0s#7gjl0VC!IJwc1^{o#T zMa*Ztfp7e&%m&&L?Nd`A;-SS%N|sZSCxMO_0{rwzLpzu64@t{0)y=^J3UDq0%Mu&DA~V>#5%reZz3ACKB@;8o_ z>BwaF`kABI%rN4j~Z}q!mnF#KSqy z^CdqVqgX3t^L7NB*lJ?lZ7nNQW)il*vxzya_m~MJiN7>S{hKG7jV9>S(NG#<$_V7b z6cBt(xpZBjeoW&>GKVv=04wsn_ng=ST{^X5@O4?dPRVJ0Ee6DreihJ8u#34MWdSq{0?HRcmxWI$p&)qp!#SRrgTSuctc6J5* zwi~Pf2P5i0PTR)m-ydG8lV?{wNFas9X!q}3oV@Q%lljl~Wi1+cOq*ykSd-m!?$`IA z`}O5m#+W2SD}~*@2_*=Wa%n>lf;ypTv$?Bdv}*wSauH?azjmQ&Z6zr=W9af0bPN@N3f#uzVl(Pcr#B_dx+6^?RA?q_^h7XYT!5R$W!FH%<-hiW*ki;bTm zJB}*Uo225MW|D7hY%g35cri@Z4dJQ8t#rZ!)JJZb+%9yOTtieOB#ra^m0d2TjWr9J zBWB@1PZ5w27l?MXCt0CCDo+TLRPh(ajgG)PP6HUWsHD4N&^Jw89&uQEU&8ggg+A}9 zx8^CORx+pb*nJ~xr2+27~hpF%*9VAOD5{*Nt1%X&>=Y(hji3E~ z+a5}+W&*qnfX&TAH|DUAD8Q_=>B#nxu{A3;Kt``@cmtpIdR%_WEyC+3^~%<$LehI3eYk zoa6DMUJ_BjZB}d>{3LM8s zscBT8E~J=O*}>}M#yWQ_&o|gAY*)WPjQ3S}_5&3g+dHO?EgdklIHGs&M3tflb1AiT zR!){ynuG~Q=5zeZeIIy-eyX*uk2_;Lvvuu>IK80U_U^@}Q3_1gR0jhPnV*BQ;BYsm zf-4`Bzh3*@qsROV|D(rJudF*=YS1S7e!|ciTZjA)>-@b=qaJc$h3Z10CAPwaS0*m7 z6idGg2vbnyIgFi5yw2Du=1)hizDMn|u-g;z)uqD;p~rGF{D%W{9axOKp98eDLje#V zp95l25kxGjS!OM3QqMfMfK_oGI<=s=dv%DTr3$d(gOjc~fe(_TEyEKIv(c(y)#P>Axp!=V=RY?518pQX50E)PuoJ*}F zEJ-E^9V?YPci;Or^*{lte68F+oobh$&shZkgA(#Pi0!Xkml6cGtrJ%P>oJ84k}jZ^ zoWloW?bSD8M;@AOl-DcSPV-#OIWAqF(IB_a;~u=QZ&`g>n|p37E28^Q0+2m^QkU!G zc9GH`*Ia)AA8NSoD&a-lQsijaR(IW6aNbx~=_T~}RMkzA>UV05o9(@~F&7jg=t&I#vQciVO!Roo66Pl=h zX+iCSl7L3&EA=%1XKhN(dJhjp3GL^vPW=q$5fj<`NOC%s3oE~N@4m}~Uku}wtB?bZ zF07as^3k((+RmZ#3`3rm+N<$deoS>2n*uju-LwU_sB!t zTXCd#)4~UCKb_nlcYsFUwkw)N5x_Db>x9yC${t2HrU_Aql-hS-M6BCYh}K zojH_JjC@ye%o^Sv-V6*NNGeo>>LbiCtz5Vh9z?%~?N`Vif`@_E&X!+ey6pg;2|L^2dDsNa?qO6J%PiKycXPb8@`*M8>&zIdjuD|6qPx}P~wLKgB zv!+()bXyTv>H-gEBazzzy%u@ zu6kM1#66+XDyTcSpfw}S;(q{~gqm|Ywd}S?U6DtXt-fawSdt+FJsUFMNKVKI9a~pq z*$N6o?rG+NJoJ+jU8^SIz)G0{q9tm7#$r^wUsPCYD-SnINv^b&4ZZq<<4XhN4f|ar zyIwd*3P7g_qO1Da1!Ekjn7ry?$tD3MUs23wJHat#d`aksEP2-=lP{n*Bl1r0Paa?- z0_J}XfDd!n-ZW8iOv)FZHb=5jjK4mPC7dS-?)m**T%y-~@;^ujorNs3QldkC&gjJFQ)lTz>D(h4j&NlKP#DwSWJ|!V5RwL_4`H;Au?ZTX)@A z7gk03avZPy(s6ME%PXe$Q79psjg*kj?$5%?E_+NRw!;cl@@Scq`+!qlx08?K+BbHSYXvoi7BJ& zXyTrS0Io|g-O?1G2p`Aqz@ag9Zj-A3 zT|=FE)B6OA^KiL5IB1`*;Ttz%j1l9u5V?E8b`c!51<*vlZpd!PDHu)b2%Wy6+6l{i z=sz$hxXE05?celnXZ~;WZpS^0-~F%D0IMNqqWQ3CturN59X@yKyS8_63Z=$%a$rIb z2M7VU^gBb=PY`43<^6f5gq|I?t9hBNpfrsZf;@)SIh7H>pJOlh>irn0#H5h8NfE{T z**Vu{95-ldymyzx{@MSSYOtMBIpdps+7VwuU8aHU`-K(ChZ$@PJWrJzio}v#G8j3CDbK-56!bq$%TE`Egt>en}Oeh zlxuP_Lh&VvH5cIK6KDGePo-zE9w*w-+(?v~T<+FuA*KHtt1~|Q=-RNa39F^Th5a3S z6nr5t8r-Io7c~otIC;O{$ltGpAJS&$dh3A0Z!Ra-Zs1zcyya^9OU$+LE z19N$OAw0WX@pR-4y7XiOCJjN*{hoSmEWHMl?>m5;68|H6b71{O-xFNEwCv4*h4x0i2=RqR1H22CBspeO0lo0uNM zrF`50fiJ8oACaI<7}t(rtdnzXVnA$K{b?!C#He`EP`*}FADYY0x>Fer-kbdHAI^FR z7+7(+r9xJF_e0c{^#hFjWRuIt!}xl|yz%=2^)hcoaS8^1!khZ$aMWksE&2V_4|v;> zkpXiq)SP@(I577qtdb=2Z#p^rkNz4fx|))U^CoIuY|AZ?_vEnq<>*yoQwRjTdj z94H#!@$MfqrOb`6epAH4UfQj1a$shmFnDwuCKFWNBl*<3dAoJs8K|kmnM7|02p};h z@2aKwWjET$j8ikYIB(L5e4*~Y!|y03oPn;L%Cw(ROe&G|Ri)|y_733w$zvYGjcCIw zCeGqafs@)-?q_tk|IkbPb$U9e7WZy3mLIwcm4j}k!qLGD68#+qCDQuG%K(7vROuVZ z@eo8OT5u5&duu)r0 z5J6wqQ1;~`NipDe2R_!3zF4~fJ4!d8{Wdh&8TPQzWo&dv@CHj>7cdf z{+v^kJX9Gx&33U((77i3{#(wj|Ffh}mXYlc2h9cgd|=ocXu;eV;k&spg8B5^7~#qV z;}1G{I`!x8b=O1LMn~gN*GnH=;nd*Ch&FdsSWF$2bx!-VhU%0wQPsrPA7cVN_xJY& zCnkrx7M*MQYNB@3+EXkpZM^IsS&D77H=Y)SkC!-@M_8yAk(s;}Vu-PbXLF_(o9-pV zlvIN&T%(Y6Nm~<@*~|SDNmQncUD+C-nt5c~iq7b$lvdkxBc*!u59xo|c^>F)mix`^ zKHIX~AnU-2T@{d+V1~6Ao8Dt2DP4&PF%w5xo{hOL^=ssPHaVqn`0xurfk9pqxjI4m z)_scp^bPIg+-PdIy}Kc*pMicOQjYd&Rd@)tYI4o?-aQm@W0X@#737B^wC;CeT-zXd#-q@=pbIo ze>W(gJ~@hB+7XT^xmhX$`2xv1wRwM}igSptsT_Obr&6!#6efLWDr~B+?LB2a%_=9t z(b9iA;YQ!y>2{!JdGQJ0U4*(?g#Z3Qmzh2Pt6fCJ z-4t@bBq>(E4Fp)hfQ6+8^iKVn(p-6$R~xDxEDAV)-0DlWR{XI&0v!wci?4`4GZ;#~ z%@3lZz)={n+4w_Qf$xbt{7)~)E&si>qORbbwE|)BWG*~SkB@`%*O&cy7{wFFsv-SA zekk3l)kjqE27<;bR}edmc%7*4k%af-;Yd?B8tU%|+Zs=eE`9ueXKKp+Hb|5$Bk*Fmk!E zs8SN33~w5|bzKTU_yfcE;;KP({&kj*bw~4_M0V)~r{90WLC9#;+Wuhmx}kc{5VgHmh;OtI zI+%2@_P`t=jNIbxP(F+pk=jU8beQ#txhnh%r!n@s)6y&K!%F%JAg?V8i6KhQ-^Won zidG_15=BYn;9yNT?WN%s*&ycxrIn<_@K$0pgYuGwQ*_GaGOm`z4?69H5AU6N5=1eM z$9bqvcyF(Q?iG@$+o#TRVbP1#T&fU2dp@SjL*Yo`DXi=|zi!FBYj_$;xF6p4hEm0{1|9STB0m)zz=@!AhJLI z6Ty5q`%%EbFWB2ERtk@-S-71As*UfHrTcqp8W#pKyv8d@TQ3zZGCFQKCG~kc^vqIFs50qu(B( zWpTN;m`@~~rI!0QO5oO72B`{2&OI~L|RwktV zX7hfy^#7sk-Q$uz+duHkl9nlLtt^l0+p}3KB_H#Yh?Oh1r=>NY_51z)?`1dl{kgCE zy586O{l3lwu3J~X?~Bil{`0Nm`!AGo?CJ~jNScLyzOahqp+5iOb@oO?ykR&vdOJ^H zJwG2uSKgf-&{Q>FSW^{D=P)Bc6sF=ee%y3P9|1ZE&_zA+w$Ix~jfBM$=%dz(%I&Gx zXrdtD)-`!YUm;#ja0jU;<$}Y+ z<7d3SH$OrJ+}J!WG%N46xu<{(zNWSZeA4kXTtk9|@;d+h7x3(4yHRab9!^w%CM)l> zGUIVcOzqRUvKj2f!EmW<_;d~%XP1-#CDt#bBLgDEH^UjHRu*J!iOqB+1aRQntSl!}oQCgwEBd2>Nb@R@ZSzdIOC-Vz z5a{Z8Q?lau2Tk;&%XGlwj2Gkhe0oUkQ5GMNF-BSQUqL(`x{P)lXq)Qs8PF8Iout+F zd>VHBC-Csjp42xW-3Y$#58b5k#!FACY4crRzQDOFiC${*gK%LLiH;xF9iG|)$f+3u z<@ld^5TH-6eRFE|-)4sATNVy}XFlVzuBdGK9(YWdYIlIGJv0P8`=!g(E9hn*82#=P zbYZ|&xD)?(#bMQ`&qeU?_=tYJy-$bK3O{a+Y@z5C)#_&h12?giZuijR6#0)HBBnH0 zW}T)FSz^wGp_k*-k~y2{%j+BvzW$>xX^Fn?B!Y(8KP7?$Zv0EYzG#4<{HtabyzLsXwF z4K^+-7CQI!4sLTHuwRyi973tS1FYg2vKtYuz(9A=;qj2A!EBtdqi3~YW%(_CV{J_2 z8V}ma7W`O!Zv3XZ!pHL{Hdl$vNWO=U{>?AZ&+=`Jz5jr;fNgvJ<+B0rIu81I8%r=Y zf@a$b+fsA&+P8CshRDd5%^>aL+bHUj=AvnP6fj(~NzkI7o5B}}gl#LU{RX_uzOHQ_UH$WCO)6>@(39Iw1 zcdLCBnhS`~;KAmh%E{)&m~nOU`ug{)|4V%}M2Q=k+`g2O!t~PXml9N@=RM=0-Nz^{ z*nqH>Zy?44+ZQkM=DMbWEIE{uH&T?tpvK@=J~>T_4?F||b2fWW#1evUP^H`^K6bvh zrHO9B?p?f2USWi@ljP5T5*&!Mm_j5qPfRKwUX`8viD^~la)~Vt@9nHM+bgJd+hCNN z6Q6bf@_e*siH2zs9&yPazI#u&I+9>x54(E72sP_BV(CU?f#_ zyx-}j2n$eF#nCjgw$Cwfx(a72gX`)NcWtrzgJCsI;3-5nBCgC_U~V%!{{(&q1%wpH z1!JY^+>4yA?Hdjb?M%^KfypKOdgT@4QS|*rR%d|-##^`#7kJi%++a6>1UKS!*WA?! zlVQ$v2TwS4Tes+WxgD-;ZkMr|`y)s=3Oltsbsm_DxMk-0^VgS^?-A8Bl1gh@Spest z@$~7jHaZvTmH?Sln8XsE(#|>H2(Ynum{Ly?{B>W6tsJW`h})=5k9ICLe0Y9tBdsjr z7Ag)zzta3zQ3pa_T57rfjES4jJ{$L1=zMI>Ahw$=Q~GR)RIgK1r- zLdU|&P`!=}j^t^|;*LsUUJ`Y-1y;kO`UDEP>RVDLLmT%B28b!|R+B!S@@A9igbO$a zar5csv0lUiB1xRXtJ;W$d=Xn4e$L^XuTk;i|I0eKER$-ET)!n0IqI6_Y*j=&)MiaN z3Gn_l>G@Xrt2enmM??unlxWlX-kE!`cEpy$VrdWu6@xfKhZ$mhW0f7jhPZ~Z<4Ezh z$@qSd)6|}+GFkZC3}%paE`GjCQTM1Wnf}M;J8kN1RZwu>>aM$0q18u=(Wm|J?_ECg zO7{TArl@B+SUhK(M#VWEo=H?y$j%rMX4Q3P=A5J#AXO! zEr=tHv$PE2A6vc@6Q%oV{#!qM_3Ql%B@h38%xLONf)ff7BBE9M9V1qjXPb?U#@oea zJL8VYvb$+T_^7_!{AlG9O=-&8_B&IKu~PBlbv_&!7Q(< zjH6NdS;;@-U1RbdkYei%UoPIOkn5-g`;>ECfPKyiKh+Y(jP4ZnFA5`_N$Giu<@9AA0PE^#WWG{O!uxjvzgE^ zfuzrzog36P(zi4D_`E!wH|a|wMhXvrEdb@=4HwZ|AT!LrG3>@(Rx%LSAEtsP*E=NY zg6$gwrqr<73xC9QDE3|Co;GbPC@LtlDuk(GjOpgWlfvZrs&~;~i$*y*m+Y`OG05j; z0zO15T{Dv?S|EbRyr$W8XAi@#Ll`Pc>d!;R5_nzm^EG*jkXCGmYn;VV^3pMf#5opd z!rC&Lh*?))&ACY{1&4s}_~*JWJNG~DLs3R&Wd~q@nk5EEhxY98Jx@n0$ zuffA};z=4(JZPoAg@ynWb}fi@MLpymi7@Q!$&T|G6+bW@#eZwrkW{NQU6>b??q#Lu zB5HjLFN^1jAgi~^R`!Brz>5TY@pE_ORlePNz-;LZ^E_w@2_5-3uBqv! z%wEW>YyMsyGkrY5SIK)m>vai3qigQ+qec@l^O|ex5^^79t!P8+lQn!-Kp9vBZip16 zhsR8ja)}jLiLsN>@B*eSf&NTw7a^t0Rnuyqv2Nq{ed~N;;H(fe&)f?}Cen#!!lMPK zdrz8ertMi27r^yCii8vTJnMc6Z0@q_fRVCvOan?D8;>a}oUUgZrGdt>}oGodTPWpqM2 z`$Sf#e^IWzo4?<`IrCeXVIAH?#bfb=J)-4pTw7hRB@EwB#yoCtn^83k+?0i24CX>D zNDD+KD7Fg!$vK3w1u%&A;`a!=MJIBElZeiO_;4=ujPJ=9<^9e`>E-p*%zFHfnWvf+ z?XSZku^ni-bvx!BDkX7lwA3Ay;IK$Uzzi@eToTQcP?sC=_G_Ysa`ah)<}dgH^D{+h z7-aOkiPZxr$YSK1i+?$dFeD`2YcbU0>6y@bI(Z>xJbSJhXXy&~5Bj2S%7wtb;&bXO}O>c`0j7c#Zvx|KT>uA_Gik>(}`VW@~Cy+yWM< zD@>#>r?w8j4xaRqCo`CGfWsAJYA_$2>eme(R$!bwi}H9Vj=L@9=)j$- zlw{={)bcHnPllzjl6J-tm`DDvFQwM&9RSu$1_?$JE&8v#`=)|{dx6t@pqcB@{<^B&LEy9IdSc`31{7O6gntv(bVM59wgx5xf5D>7dhSIVxWRGh z$PM-}`#Qs3kW34r_Z^8-LThqvIyf+Oc4=lqP9(u6k&VeMq#acSjKT3w+XzttVa7D} zF^XfnUaIuIk2-8(S!mtT94aGr4qHM`CLK#i!d>-(LI<88x;nNvZn9auy*VXrnm?f#4AyVLkr`WMH|v%3{BrJ=4{pf(49*Vfj4?5h01#ue=bp~>PkQCTE@ z>D7llb>qT~ivy5oAJqdW*0@8r0iW540ShPQj>^0bf(JQ^&}`UJ^m(`qoq!WY2Ard+ zfx$s9U_jnE5TxAY$KS5qH|7z1X!S!#8NLhX#&&^TF#XXp>dG3QkUt)OZQhP7+UkU_ zK5yu31kVLEijYk_ibK0s(Hw-H7k?Rge7>YZH$AC@tp6C(0<{ zOGmiq-3*+VcU$*^Qzf#=1zl>A=)7uYA3#8NU=Q}7a+BK6q_*!ByuBSJmm9!Jx0N3p z?x4SH>{>lgFrGs;wD)5RvpZL=1(iZ;6ELtk>b?KGu&_0?9*GDK!ZZgp`M^)UbhS~1 zE}TKi{B<<2vP;7;Z zEmi3`0zUW@VdVIxu}Rso#0Fx06HP(aF01__m)6~YVMGe1TG5W(S`&#um)PwH@XJJl zG&iY3y%(Hr`xonHY+8d!^VgCEj+X?ga}>jmTumoLcWacRB-h2+5hzF|ds5?(wIiu_ zEQ7O07y~>Rh8C2Mm+*`T@*Jc>+QWS3c{YAjy^sNRx*E!I!MrlpzsJ^laJ9S~-dN$d zwG-FS6%0!+4U{r*zF`5Tjk4mQbH=u7tvX8u6ie~(J^1yQYcDyAJo=auXjrQyBPqad z!GY# zo~gFGlN}dH7=-`#ul5MqVd^+iU9P!)U%uI}$&f6F{%hHyEx!TeL|yiD7GMz~(%0rF zDh0lNn%T-J6=^xPI?uR8DN=JX@CAEr=j>Qi(c-Blv-$-zB(nItL_5&1j%wH_G<5%J z>TSB4Lp3V5lP}K2M)?y!o4IDKh4Fp9IRhC+ph|vjXnFaNS+IX1LHc-|=enJc=`mJz zG7ZBx&xRwBYmXj4gOG$pC|wK8?T6!?Q?TJhrLy}Om-*PAKYjb?9b}-7IJ>2Ad7Q6X zJ>8RQY5XutnCQIj1|1W)Bo>C+*A>opIY{l9H28tk(JQu8E=&Y7RhIB;0!D^%Q}f`0 zoiM8FK`vBDc{M4C#x5)^RmG3C)R@E?zEwA-DgL+hRFZ2CUh=A%Z)~shwHEH`S_WH~ z$Tm>3+&LRB?A4^wmV|dA2gUK(syr_DgJXlM3hq+;P>5h7%qQR#P9MMd=P!Jh(+7H3 zLd#yq$1;Z`TSSKmWn|A%bkw+)o6KY-&v;=FHIVwN?}nL5y?vKqXa=H(F8kooU3saA zKw%&&TYhDe0&#Eo#~xLIl!h5bG8-ErE`R^ zMB47MY6_z+BmkFwxKbr;(6g*AXOHnDNVKGk{eaDTv5_VZ8~P%C;Bg_-6rvQ~$^oYV zwt?32I6Fbqb+?bs+Pe%}FU+qSre=MEHucTcZd9BPMi=!oNID-rqCQTNob=_W`&{9r zuqZl{wuixNNX5!WM4<4S0_z)+!&7DKbw#$zLLrx_;qSiS%MACdl$#J~PCEab)*XI_ z-CO%zf7s*Txtucdulo7a;d1{ioei0G$DG4k^4pGdCbSib{e7VyS+dF^W#>-+`^Kwb zzWu~e$oxq1UZbCx7S+1?1|jgw%&e$Fk#`=e(JmSG z`}9`j3GNlHJt4*ph*`?;@jSt9Q>j~Fz3qr3r|WPL63i|FCio#+%;5ndc;Ey!UV~;i zL`Bd`PAJ7>qN8t$QC^;5_{swuHM%Fx!q6@?@$F+*HWcW~>~6aU zc8j}SeJD&Hp&#>|R3Bl#V&q&Z`D`LrmLa=eIFcy;(BKEsPXE-?@{(eguiIs;Zl&X) zKI6|{FL_P`SBi{#pjMRDa_8mgrE?14YLXFiuqyoh3`CXX*D*kTSKFCUmU}zWiNV$f zqVaqN*SO9d%IPGZ?XlJM+?iFx7B`_j;+XO!Er-iYS~dG3R}>dhKfgJOOCOK6Qz~6$ zBwn}XUX&4)p83dZqQ+fzCwx?2wNa_K4|q~p3ti&KY~g?8QL>Y7(kPe}62E3L=pG)^ z;_}F;@{3ATO_mqmMO0tsHB;L?S0Q%`UcHEkU(&D~TCzmrWiqCh8nhgJ?&|rEuzRJu z;fZ3{v()-;qVVp^t;(4WeSe9PRWH!~+w*T{cW(8{GkwJ}JMmIxO>S@D_#PtsO&D1< zZe(p?Dj=VexLZ1X}eJx5J>tI?Q1h;IXOUndbQ`wTv`a<%nHDl4oD2RdK6v8s&L=@oXY$`D1$C8y6`#EM2$}&ap zw-;!;G_m&YD4ZTQE{Xncn9rqoL#usax~%XB*A{yP8jCJK2C{`%npqNj{BA_?^5W0U zzU^sQz^i*^3w6u0Eje~c`vqn%j(I)%-cIbje3p~iKA(MU&eNak^r)={)^0h`NS~q% zjx%=sLKE0mo5+5lQhb{7R#a`e?|q2wWe(p>2wF}RyUzJ-@hVBW?4gGpTUy&CV!NS5 z{qdAX4;^1^;%r2@hsVxeXWk&8>$1?uBzcKVDx(q(lAdJOwUoKHLEYRM!G!gZc&(J+ zB^Ex}F;}-zQ}6d-erbfmaIuszAh8SkUh5wOZWMGemxCz!QYcX$3KuXFG4o^R8gKW6 zkBX1c69Ok_f_Vs-s}X@JgDj&3J@)PwfTC3)zIqyQuhz)IO{t^@ic2IrJ36pu(|@zSm{!L zKd_uO9DrhVj6B<^Z6p=Tu(n0ZYj|rz$62HGF#VXem)WAPU zIYVK4*YEIQ)F~(RZ>+Xn&toq%xh#~&8}(hsy{;slr&YJCmR>QbXf11X_QT8ZWS@=a zh7CjU-vu^*NZwv*y5gF+>G(vm+w2)-f6L-j@cDq|+0_>rgQ;`qN%F}wOUqZBpqEcw z#i)g5?gxH$gtEwMYqjun@DM1)*%|bkWsw-M*gSTUhvkuC0so$7Apjia z0VNx3=7n3p;7yA$Gz(l9f}V`Gb<*xCQC*9(uj2?G!xBZ1nb#g!LXm5KS+ea!nCWnK zJlQ0#(5|-I5k6rm>~+790^y|u(z_LxXhVQaT3lr_JXmU*CW&6^n=7nXt*v7%>!skR zRwcf7TJkou9g2(d5)-*sV7i`UU`bvYbHjZfQ(#5o*yv_$28y2O8-&gT?o)^z?0wK7 zZuN;}R?)KOfGp3pduK>a<_l?y!sN-VS;}`NBn*AwKL)&}Z@mw&M3mC7!Br zynG?^dqWDi_#(M$cb;w?<5%`()76U;YYE_VFlpApyC4|y1>|U~mwx1OMuT%?5mX2- zMPoHe*BdFhbPL%?b0Qj;FuV(SDo+KrZR&Jmz}ODY3R1skgGZAVroDeCl`->0P|zI( z-_X886$z(=IUA=gER%^n2 z%cTAbIHXHb0`t((c#Yj*iJp7?83=Nq=O zA;7QNFBKG?{pI488(Ywe!K(M;m85~}E=U_GC#f96 z0Zdddz^F82v>`bXCYtN&#KaT$KOqCW78@Lm%#BK63rm?4NJ27IkPxYZ*pE{O)C4=} z0j7A+QxZIvCVPDSXesj&Uze zxMDvyMn@qsPQJ8kl6|0+`It~#U|CbBCmg$`&Jiz7Fez=Eh=ST^#}WG}OSNQzG)Loa zXav45Dr2p9if;B~k0~ooU5}?Iw^gz?@FNgJzI^UdZmwWwLwGDVRAyZQ9Tjdxh_Aq2 zjm3kz+-$q_l6B5*Kf@iWfVoc*{DS>5{U4ZXs=zEB4@~h&S(VcQ$)besl){Y^P-AkZ zE8QuuR{;Kmr(wbd6zd7R+tcG);8a_jHe;MMGTdt(OS_^Gik9_L497W_OGb$S+liA{_QZL~;`7T!0jL-7Wl?;08w8I|DDQ-&F+vXd&p5Ru6%}~v} z{w8|4zr=aQyJ_kn;ErQWE%@2mA)0}x6;D+FwHY(l&Ed_QRi$v>AC<=w;vvvtv4>)~ zJH!i?O{euSVc1>&OxF<1cvsMe+!k1Eb3a!^QUJ3A8KKMAU^ey@Qiq;`yIn^H`AZur z<-=H~l<5hH_EsL|p8Q;e7uZ;>IwNg(mgIqGpIuT)-BQpEj-yjp^o~WE=r9a9-@B*{ z9X3^c^Ce~a`5pIJ39k@5VBWIQ%#Q~ujNF6uzzO}d-#3tBE#8&i{5QMXp%qsOimj<^ zJu@OcK*MYPS13|i;|4g!&&(w5;AG_YI~AfTwM(9FYdo zPH~{88`-e^BAyh;*n7H=xj=(L7%PX$(3Ip~KRz6BxA*Lo*(%r2Qs9?GiYz~)sb+X&fvLb91>bj&*41)}a8cpkv;DvPq~ z@<`~AwtAyHOa>Ju&;aLRrdu~{9|6*N6Ge}5nov>(GnYAN9onJ`0lXOM{`7D_{n(hy z{5=~M3;;i?+SHpHX|d?@+Mv>};q1$VrAZs@w>eGd?3C=&hl=OwH${~4H}aTrx3-hQ zob6l~Bvct?wRqi0W<0M1CZ)q>n%Wro`yNuKGPZ$i%h`ZIWYaL;A3sQO0 zlr%lpW;r$XRp#o?-CWh!T05J*3|)HGqJEa8I3F}BHL-w;+X#(sFp6@1KwWv`^k2%{O7@%)Lk!du7yX-*%Nt@F2x~sTFm+%hBOfEV}h4 zh(OQZH`UWz(w{e*2l&aA30<>p?+4ndBA?QZR#q}AtGUy!NLnZ=>2SjTbhIwp}cKE;>>3$T`{vzz3njus0wd36FROxLb?yK=;F#L!O1$n-*5v@$j!Z zda{%s$9xG7xp_xYIKk`;<<=E2t+~z3m9*Ugg6=y&uFrP~Zf{L-kPk~&TA0?wbJRDf z{k)4UE?`-G#b-D^a1Ggq;*q@Wu?OWSJ3KQR=%B)G{$~fZTC?D``V`V;{3%m_&_=?m z;w%V_&bl#=v(lAsnZ^vCF*LtbfgSbss2l$YeNU30t0@Bto-Z*g9VNld5aB~i>Pw|UL zwll2#%uSHqHnakG^38Ew=vS|0*wUakNW|bCkU*Q3-w{o8Ugv-)FfHSyh}X-l68aoHD=QgG zn*NhqD00ra^%MU?qC03W;p>Lv%EzuWpXxz(85H`L6c0Vd5ZN@mP0Yi za5&fYyf%n`rBwnIDcj;Gu(Tsw=$SaoA|Fm&p^t15(agnpN}-#e-u=(+TCgb|;wvKT zzcF<59Yz!R&&Ncq z`o~?K*rQJ9zATCH6uLWL@+1kh8xxVo9Kxp*=WI#~ym&LFvDx9GmdlNFt~;CldZeZs zwLDgnm4bVK)0j+74e>9Y67io!HY$aP_I)#~JlHTo^Yu++r5CTVqk&4D3u#Psn+~Q} zbN`p-5bfPzKse_>mVI`2b`7uxW^6`ZZR;#BwFc6AZSaN4P+i}x9ey{UEoquu1#wkLoq@ow61)B%%6dOjidDwVgbOLuGI6tv7kKD{3J>qefpxC zx9TZ{hg-C{Mo-`Ef-!F9xoNsu=Ibo$d=Iv7)7OENN!DoJ(FiGc(6wgA%*;~w3yedW z!n#b|VK&E3;SMP!gA)rHNS1+pOSr>58!$X?^z2R;0FMWr_Z=cHN zYdnQ}Cv(iVsiK}sPJYOp_$W`c)rsYT?MB>|TWLzKps^96$ibX?zyNy>z{$9Fw=|bZ z+!@?@E-)G+qK$Y3!i1JnE%DN8-TnqkY9!@~o5thD4#SqNgiaBcICXC7X#}^W47jV* z>Gz~C+NkSAi(x|*H{Ji#E8%f!Z1+w{P5a;wU|a)EvT?QQq;&oHzdEC54$v7*e{Q{5 zikUyeE&KCBF0nZJ$a-W_pjU6Na5Z-D@Zv;9vn1Tjr?%09=_$wkP?IGHqdA4#tl+%^ z(en_|Lda~Jhw8O_X1Bco^I#BWHq8vuFfkKgA$YY?8AN8f7k9dH z*xwe*&$oI!VuVwWy0n<% zAv7$%$+*@?bN~yf;Owg8xErY!2B}9S66MK*o-Wwh*&6U@jHlhN)e)={f+O^B5n_dw zb33Q=IE33JBGx;XRcl>`n8q&44+*6&8Beb2;`<}@P*Q}#LU<5d6vp$u)n_*7;NId+ zeOr|ekdgoM)7t*Wr`3X5tID6!a$x<(9I77GCD!6y>hMXq?qz6=IuuC!RD%tRau09> zENzD<7$M5t=IU?5C4Ummf8Ae&w`5K)k0DR_9GYpGc=y=_n>Je6_)YsRxB5bz|4xVo zorBc#7Ch9abJQ)dH{LLA(sRE4pZtn=Hq1{bUc7#v|4a=__o9!u#{*cAVQRC^ z#GU06QpyLZfmr&E9$2G&cZDhdp!8Jd=_wDDo;}cOSJ?N2fF#Y+)ZdiL?vRkZPd;f& z!^ukqEBs(eMcm5=P~~gizO=I^BQ*~QTJiXA@%>zViqT2SSm`T}>HLeN_p{v$HFZP) zLC=Q-Bo{^EM~@?uIdsqSMu`M+!HI(RV|mu(3O3teT>_&HpXGz zgQqk1QmpD$jpS8@5hI^oQBT`zy15TSSc^0~fl+TY)EVzY^nV4$iG1OUu1lq`Am5Xo zt*AxU)wZits_zLBc={`V0mgo6`_hhQcY-;xPBi0j!SS(?5ebEh-A}G0Hl)>mIWt|Qg-8CKdNE2y zOxw3Aarg&`cYNxg0dCntVYzv=p{)N!&O!0>Bl7E}0#7AFB@5F5ewv zrDdf?t%d>6VU~2G)hB+g3Ax(8_hv^7-nVsz8C%?nd7+}VZ(?3h=;rg+(bKR{R?1Q| zW`6T%?m1wN=^w<~$C;qjXX>sS#zmfyoHehpw>=Rq5{>*jF}B(kYrq_U=^VkBCRCJ@ z6?|vu?P!ZA;wW$I?x=M$Ti-PUaGbof`Hf3+V~5Q2G?!vJi_$edG%1SnZMn>rH`a~o z16Cv(NqRO2S4>N;dxZbYrYGKMDYu3$aJaD!_E(x0sn&Bbd2bKP>iZSTOXNy|A|qnt z1y^x?aC~Xcn17SGnNXG#ZG0c7%)FY$sV+x`GK^n~m4dV(?g>&3Dh;G%$ca&@AE~0$ z9usAci%-5BDFU)HYd=0{ae*3(8~gBSZ+ec1qWw6)sVW&5>htIZd-3Nhb^aJ-l=&;( zcN{I+0=e+_ww|NOoAiAW9+AHBPcSs34CxT2l8)RQh1p znkbu|dC;8-QqlY>IqE!X%CqJ}q80fq6an*Qoh>U*>dBZS7YviOyDF;-xC%O{AM zBX}P;yAuS?6D;cntlPmFn(3q8@>3oq<5$$cVH;h48t;4jSCuH|SB+2~=^FjO!M1jDhSV`q_o_aUs{p3PrmK(y_R}KNm-K3hoF;QCaYyT-AOyWK zD7Ahd1Rs0Ka3~n4DA*;;aK88J+|;Y;C~0BRtcjq%8D2U-8{Kui+U)7`HTZ}mJTfZ$ zuoGBgfT1DI4!uZ7w~Ydb6B@Tj2VjBf((naWn-xL6U2oNF;@yPuz4-3ueofK0Weo`< zdl6sB^Lwl}*&3$otMJuq@V^A#&ucq6=<2jEZ)U%&r#Sav7l_I7%LcbONN{F`|MRu!{^XcISe#*X~P?j z{QgT`$24}&P~rYE-Ic*)-PO}v)C3Fwy;<6syJHpc;#~(eqKS@;o=da1*AL{LR}G>Q zDF?GFPHm|lGT|g%GK94GTp~;6Jn~Ks6vjYOVl%+?b)R&_5zw(d#7^JYT|x)$f6f2B zglqZwDPm+;y|wr8!@8XDPR@jtdO$i~=u7I$eJczBnk=N{Ub%2=o<%+Bk(( z;N2oQiAIjcAsAEBrC?xuG8le9W30DFW{Z=3Z{z(;l=|x$QOw8FPd73@*RNv}Y8|PV zHwXki?kxb}>(_MPL&$qw=19n4=RFWFHsaUz^0?7O$6;Q>?%A@Vz&YI z!5p4_R;OS;p`)t@X8+5i`3U=9{XYY&PD8c95QyZim+q8C?a|+TrVPhY%}6 zKNfZ`QTG`~aO(Bx%qi=O_L{o9^&mBC!^`&^eE1p_t~$`oWUd+SeUD5OO6;#rFZ8>9 z6+rd+x4_CG{-NP$4SgZ>OsU}1Zh^!Q>Mztaj~~`H1Fx_pd^uZV0k9?@ML zlxRYO;Fi&yL3z2r3Kg-!TL00RPRz9MN13NmZ@Xv$Q?4Euc{2K~fcUoQ{AP$*W7fAdav=f@t=Fgar=du zN@n11uFJs23k2AEW2HXDFYED>*r3C`A2pu%`J5_GTP2vfyS!VF1n|43I?JIp;}vNpWEM*F(i2e3^#Z1t<43iS(N;bnk; z37hiK{X>`dOEy$0McrhWrGP%iEI1e(D8IaUL(zOI6}UdO(}Y*PvFT2c%sOVWJ}c0v zwp!Bp{?pv|hzZq2*_amqh!3jT_31)KDIy!ojhJRlF|-BqK{iE~dnc>Tzk_5l7`o+; zoy*)JAXa1*9gg2!)&fjFNyqmEpSs~<6n2+!>kL?0{1OjZ1V}D^%1Oy@i*s61+l7c8 zZ!Z#LYK6PcM(X^5(ic&PUi}MFL_SySW7rjMH($4-nEEjyAAbh_L$R}Ey`D4v)w4&4 zXO#AGvnQm>OSm6?bQBTEm%jL_5mj-zhxkt@mq?lY6#ue^y}#Em(Vrx=v-R}XG5y+~ zm-BR21=e1wnz?TK0AqQu?6nuBGYFhCQ_9uET_xwtXG4K|Q1ie(nfe}nd|CEm&(P$& z*WN{H-#1(V<=N}&pW_obK0PbDVD}oCfrkFG@~#}!WN^Vh^aUH8f@ zb?bn98sS@E3rfkpC=udI-DoV)zY`;5#RWsn9D; z00sxAXayfY?({so&&^!-o4M-JQCeP3ZGo%R`?HAK{G-DQznynTc#ch*`O!aSPnql9 zvXfGyTbrxqzZ{2*7)wJ-@av&~%%j9!NnvG%U`L#&9hO71-~Y5I?{rViJqn1}=`v(Z zIftY-meF!&0#td$l~4In#^qUj?S+0Hq_lQ25Xv z8;Jj>*ajyLD$su~C^x3jX}H58?L)=Bw()6%9yV!k8$T96z3&6kq{x2iVGI4KFv!0I zDo&?rJc+7XgUFgQ4_Ud_p+S+(M=)!2ko5Q=;rNdS06K_r{`@zzK}rI%GoG-fxUf4| z)g3;p{Si5Ehcw*4rYo`O>nz`UQz#T61#M)4{_n-y75_(1+ffXLzHjBnU~z@ZRGyj5 z$o${cm#gut9TM@rKNT3~y%cKJlg7Z>Sx%%dsrrgb%r)UUp-0@86fb&rQ3cq-LHY-` z%(AOap$FPp17Rhabi)*>Qh?tJChNi+ssg-9d;;;}JBh+*^049V6L~_zNA;ft0G)qM ze8ex`GuIVZEj9mp>vGZ&2y!DC5&~&zuIGO3fB!6dxc{5i?C&?DwL$&Om!^p~p6hKt zdiuIwz3Z@TR4Vbu9)NIBXAq~dW)-?!^;GqHt1yqJ_J8sr^c!?&qqdxI8|&PrRE zF7;a13&ifjMS%nNABTX}wMY)f%m)JCyWLk)$1Mvrqw(M4LS1WJs|+IVlqg5tz16d= zdi}^IoH(IDC~6KBF#i-;)V2O(D;PG+#?CR}poM;*0@d15EV#`QzeaZSB;5aoL?T{K zC8js0r;Ngp%Gc}iP zjO8@8sUhBx+n90hsQ9Rr)74%69v7OLwp|UfYRtr8qVB05Gl5v=743{TKiN5wl;Tv@ ztn%AJDe!_}bMM>ui&ED^lYjxjfD{1>ND-h%P9?PyXI<;PtIXNGQJ&TQMs?>9Z-hl{ z&Hb|p!#&(;LsG_{l&{B063R{5?g065HRaTbMD|L|AP%~sJ%#xw80pRE?ibtVs({hm zi;~D2ZhV&u;VV48cSgOjvc|nCK-aa?Q_hz`RWLwZ|Azh%zTB6w^2_6&sCxi>KsA=? zT7`Y>RrP?mD|#b(lo!sg4iM3h7Lb!4fkLE!2vT^Haf+53%3Z5wU+E&i7{qQQ>u)(JlaL7;(LX)t5xl7G|sVk)-qeHez?}Lr_|ur`t@zDJCPPwfAZf_ zZ$=W1dBmOSCID^UTE<%2R{&}^5!RW7Mb2wX=77H78Q+?B?LR9_4w(fk&3ObG-n5y+mtFvzIPdGO!|PW^&#dYF z?wbR6O%SLuBB9z{eYv|ZA>G{t<9rVN+E1Ap;n1M5wn6|l?|Y-R=I02k=PI*RD-rx> zJ9s~T95(85>*oA=P;$1e?W0vjBzaRcMMHZS>0r$v_IB>3Paj%rzuB`hL42!6BiyDR zfEy($PzZ!Y5NX3@9eELCT+A?{x6@R-cop6XnKSZ2M&pf8=YWrG_HoLTZ9175Q^V|+v22)8G>;~nw0&809#!4>d zrbFY(TyHu;(Sbd(4zcpII>N>e?pF(QPq=e%$kyu>@u1`CsZmqQY4DH~F#z(Z>J!R{ zTW_`{h<~SzG>~;4g|Gr}j$EHgGzPz&KWJ^!Drl%q0%Ur^$uKG#%C!`e0JLICnSd zXHSdQyrsTfv7)ut4iwa4jS!^|wcLRck}754n6zl;NNg|9B#|gCg2bcEA!*pg3+wXB zz!S=Aml}m4&EdS>(mV|%^ItjFPmV|(B`#(WD^vXMsniw_y0rKy@wS-2OY_(7!$EjOS9kd9Nx-Q@gOAV zk}*8avL2xHq+FF*M_?bjJJ>kb8tPAo>at-F)ZBNZ*jk@(cn}qhzawo35Ufr}*^KeynVm1Cg`MGh~ zrH96(-tLixmaG0~tkCB{u9MZNz>Ii1!BZgNtq#G@Q#~Jt4Md@jT*L(*{zsBPRoBy@s+>!Yuqt+ z{qFp@Ggl+)`_d_9#j9Pgg8#)=+Okrxm;8F1LEv%W#lAM=_TkkUkT!_xTa+<)e@9iy z5k(SuOXQN6e$A^FaKFLKH9@Q4HjUx25CpQbzupQ9h~9<%qex$IOw8Tvz&~{FGkWqq z<5wqt@60x*+9#I=CQEFlPXAkg@Q!Bx0jIpvzE52={CeBpHp;v5Hp^IxPuXo%{7PP* zJs9~1Ga0{6;HdGm%=g ztpZYJNrK3yw%Zo0wlakTq%}yu01*%}fv8at!CFND6Ok$^gh2=pLIwmuL<|TdAq)YT z4M~`iKtkZW!PeUDy}z~2S?6zAu6M}uKF@vM*Y&&Vn32YSL8r@=-FxIEOWYW*8M7lc z>#Dh|5E*BwAj_kac$Mo`I?KJ{IZOco`?ORUID|N5$uz#Lqn4kLMNB%LXrF5jf8u5S6EC#%|hzGc-swNB{8S#=-muA)X= zsj=K+EvB|R(`7)%t}@RNZPr+Qri<-Km9ru!tvdQMJsu zA+_1-^)G(mY+V)qEPlO%^w2kCXj@BWZevpSA;j{8MM-1b%7_U;tvj*nE})5!22Hr{ zQOYC7pEhm1l!>Oa`Y9%*aonG#A-~l_YisMEJ2072E71gfgD1rG7iHhr0A0OUNs9TI zWJJEUYk6++G9=A&BUWkfjk0C-k<*%9k7KqYa|E0Mf8YsMKld7_j2ye$Tlr(z7~$wc z{uoblCPTG_`%*&AM#OlY***Ros;^{W_ZN|J72VvA$62aHmy%fF?67v>DM+rW($`qUG>67SqN_eq*_Ql&Jw zCvdI0A9*B2BqVnrV|FX0BxmsN-fLecUZyAnZja@j8>)vH2ntfkkgFs6(A=Ienhd${ z4Y#C1&ms1cm%Mp$=)w*)4tIZaqimtC94T0OR`nA9D>bcj%}30@Dr66NtvX)D@Le3~ z;P=l1Rui$~Aw@u5chk3Egff|leUrrPxykG+mtPOw(%Cd-O`VS9dL9ARmX*KN8F@;F z5Z%?hY9ud37pp}+2w@e);-)o1xo!2?hq7~5O0u&76&65RtF$DoN@k}f>pp#WAEyDn z>@dDOtHm6g&JI_6HkDw=E~BPU03k}xMyjO789dh9l${hlU>2y?6Z$W58!$W0`oCd= zY#Bb;*C8D9^+6S;;NOX4gsq4}LvuSj6<3!X&!+usU%}j^*wEYJ)18)JANa=QN(FD? z?xRD6YJYc0Au2NIN8#*m8BQ6F&zHYBeZRoVs~cG+tHZ~!gUY#KN*4E0Es}dubnTUS z0S0Y77Lz=V**DIH1cLg?ZPbaXZw3PNW7zmCNy3JRIS6r%kV!V_mVaAQ&@tPisgoh^ zJYJZKXR7_&QpW_iVeCuh2T0}jw^_@0lW!<|a=BQF@f^EOMs#!YW?m3C&?Vht!{nn= z^6x%XOmrvM7XZb9BC=p?sUQ>3`wZUDzhdL>_JxNj-`>X|N^b^mdIG=s?1oM0G2Oq` z?-M6^!FtREIrZk>N8ve;8pW>%ly{r>!Y6~A{`7!yu-Lw!)K_`txMyP(LEPO^ookgj ze2Hx0_Knyz3#>f0_+x$lXkKg7_mU%40G8tp1cnag3yb9^Oj-j#Tq1sHJx8dSCkvX4 zrpWt>#|AIaMdFoO(&Oa^+GIfVc+ND5^<=?}s5q&lmR z&n7@B?3apT`>GH5)N|l4kM)OA=hqECSq^ubC+k1Tg%5D;eri~XZTl1luVp^){MBgx zC6k!E$!;HP_gHuChzweF^ci&m%ZtLPM;KjHC?qR%e`y5^1D@YJiRJWmw?IOxvt??o{IX=8ABfUg)xsbj& zVUOzy_(G_ksdpi!`LMT<(6lnS3UyitdnxRUu`QtOQyyaqI{|vX^Yi+nN3xd3Kk0#V zRh}&CO*a`%HA)Zmn6Cz@PxRzRa~z~PzxM&i1$WC2W?RaoUltdqyBq*<@4-YVmSHOJ zj=(>TBa`=Zqf<(dJB=l3r+!Rx`$?xX%2ptcPen0_iznuLkE}UNe?>7$mx2>=M^8_a&1>@KNB@ z;7nCp0R&f4;W|Uj0}POXVcbfYUVuotD#w}-pIO{2!FJ<@hYK@(dzB?~eLoEdG3qT1 z>^SMC^N=mC#@JYobvU&YnWvsy@+03~2zt`5f*(!VbdM#~d`@N~-(dPw1q99HSK2oL z4EagNIh((%{@iz|Lsd2Zso8Axcj=*Gba3S6g5K3xk7L}sI?o$gc zZaXkIOTXFkpDjm&*(K~ugcLACQas%mAg3wtId`D7;Mo;nrIi!LByD;_v4L5tjWx`Q zvgt43d&XBDyN}5azs&k2HRC^*Mq$g28(;71h%L&O1z~?we7&_G?qLTDTiM~*5B&Z& zQkELp@x&cLekU{?bUrDHf-lxSav)+Fdyjclk`c-7GsdANyHz`XlS`~0h~^156fbfz za&ey?>)fLR7cq$UxC0HLzCg#A8T-0aIxC}7*5UDJE>u~dd<6EGRj%d!F1s81CO|a7 zg+ERBF_Z!=rxM@rmG^UT#E-N!s{zg6WjGHOD-0hTuze2?aVj*o#UEN(Hq+MVQ|UHx zz2HVq8pu=^a8)&9*0zr&9|Bk#uhUNic@LzbilGA`XSjI>SQ^TL7pe;}PP`!wsLZg` zjOLJ9b;M@Rz4iH{Vd|Z4JZ`W4zK<8rZb>K^y<_!y@RaBe)#>fmlJ3A*a(6iQZV9cI zfpVkj`ZEe#}sS&OXULxPLHq!hGjBy)4@tepZC_s>^GN1%i^t`Jt(`QZ$7-@!j@r=1EXQy#3sXMW+wfitm{(4=|uUh&Fb76^>nZY zBruDat1xDBujlqQX`T?1~zrU%3*``O)}EZ9b)boBNd@&re0sIpW248S$Ag^lgf zrvhoSvoN=~i-DvA!Al9^h#XyC3)_EqH1HXKfP08weywLw;mn7eP--@*iuivw(7k8r z0~U)D%yO}weDJQx#l4eGPSF83b$u+un2|#L=z?~|=o2_2Bcp+N@%corxL(1WTu>x#7S9?KKsf60 z+f}ZQHCH7EuHeCG&afS7LZqiFz1SIaM8Pq?167a#6$ zE*m-QO`+>A#>zv*D01%+iWXJagU>u_hy{4M$XHBKJGlY4 zq&djizoQc;6Vo*Y6HlkHSFLt0{d(>oC1rpce40{FCw?xQrdjVTUTrCKVxU9zE{9%4#r>ae|>8w49VW8IAg&~ z*T}Ki-kh*>#plO+&F{**#<%z^DRhGCS5Zq02M*^`+~0xbRk)zu1w)$+Y>iLHar zWk*cg@J(zIF*SCCt99D4f09i}rdsrl=GXu(9*>;~yAT$3m5Ggk2XfNZ;MofoiLC$apPYp4=JmJHtNRqmPiA126u$85!Br=GM0 zoW~Eh`~8LO!T+45D6#dm%_1m1eAgWYOjll6t7@Vz$U@SCmyDjNbifM@fvG~?)hgNx zZ%q56>E?Z?EZs^ny>XREJO;3)V;6v01Q**jV`=b*S8Jl&h~rxe)dugHf#xp0}_;<@ZxZp2Ixu`UuE&dsgWN6MWUKz;)YUUpQL|A3xNcHHetv=M5 zHsO4iu+txbb!s};?@SMF3GMUJX&smEx%17)bf8e9%jBsU z3g!}$&dT@$r#8EI0XsVSk@i3Zf0HkLzr+0*=FsuA$8Rcn;z%I_96;EQtgVf0@u=~?7BV- z_U0IC7>%E8fs9nkRK8*|H!z5MliBP5hr3HZ1_&o!5HmZaLTBNzNl>4%sVTs6`CDp$ldyuKdd{yB8d;o zf<^JiXHvMWZ#D7#^1mT-VGEU0O3W+f>;l#+mFg zNQUZ`Aq6raBV>)SrdILE&9lJ&pS|4}6z+L!#NG59pkj@!>v%(C`8ui!x4cTjcW@+Xh{`I9-dY$qF zB8PisX*9uJz&m01TJg20m)8mHYA@y)3+v^)II1L&q5$qFAq2Ri5u-^&iFTl7an;`LHkr`mK@VwSCl~o!RBk{#n)OqX3YU zU@ahd{rd4F(kM zk+s|&uB-fF;*HjBM<}*Yo~kJ?|9~P?c#aIDhQSub={$Csbb9Wj(g50YMl*@stDr~W zDXy8bRODQi9Wdk8E%z=L4!#;JtxqJK&O1}W`we=pF4CQmcVbUJwJLjRXlx}K%A5C{Hlys}n^(d<*1}j~ERFY2Th!uK6eGE&9N(U<>jPRu0E7+MJ!t4lTrV}(W(ZLla6_>Tj zgkZ8UEW~b_ieSgn)Eg9fw5L#HTT=LJVAhh{4<+j-oDMlM@@9#0&XA}Mv{ zOe#lA_VMORSD)lIVItVA+bg*nzUY+p2cX%~kGsi1`H$5Ho+TJJFg$+c zzg2(6JF(nnjB;!3QKGFxEdXp)-HV+0PH+&lr3ibJcV~t=c8N2=S|9too4HX`{zWvS zU)kU|VQy2vJtK_95!8_-i-&>rdHbM2D<@6DnG9joI{_G$7MiXiw#sO+(O>r%HDBZ$ zZkbs>A~t8K_hL6W0oJ&u#XJ`gBs`zSoRjpZtTxOIh28w(KokOCGoq?|)cMpPYs;Z< zJ+lhbDfbYusq8P(022Kk43guRgM#B@Jud_<;tfU|_?iPR**~!%8P(>guftO7jQU&5Ip%R;lN1}Q&1cwYo9O4_ zd*>%ds`oOPoU8Ej1-RHrj1Z+^x&HQTZclW~XuYP4z=2R(#8s<|>=B^!;FL zE^<6C(vvJ9XT^y(Yc7{eI)<@>W^c`P@4!RXsv)<<`D2$RfvWNwO4DdbW)D*eRV-|2 zNmSG-&0q_kA@KFm(o4b7-OhmWA*GfEv|AQtDvbyB{^^d^hcIM&}ezXxk}jh}ae<`P4Tx2dAt(Cyt3ZhMMbwlE`Xx(Pic zHf!3{;*f>uK!~IpHIBol%x>eb^w{ROwmm-3b4l2bKZD)d9fb zZB5LCUC{{9j!qI=eP`K7|5Lqdd);p{SffkkHlne+lZV12A0;YusdY)7y5fAoES`t= zy-tq9ns9$dekMw&Cr<`XczE6>l4?6J;AUtKHMJ;%DMen~9ldD;f^B>z<&)1n#_m_# z3Q=kZT+BX2q$sH>dJue#;FF2JLEACerIC>{ugRX907bi+>P*ypX2M31{M`V>*3W34drA|Ii#Voev*+TezBkd|6$|rz zpXQ-12MQ2|w(|%l&Qg`VWuy}aX_x3RRUy3#cAJ@^M1TwLl_dSZQlIKOt!Y%@zR_r-IcL0uI+ z8r+|czG2{xN3SmWRPkmh!S`8n!bqC-xbw>Dv=z)N3_yJ>1&fE1XW9mwI&(TqvmQD` zifP68imsWD?2e-XO0q58Murl?@kg(jrhaHXAWI(He3lHu6~P`whvfreR}c=$|;LRh0NYtmZFHnsGfwrR@y7X?L0 ziEA4PD2SFdGMa#-2nyFsE5h)NiHoZEZ)qV=J-T4ea-(YJ_ z{)xUO+<&e%i>+CtcP3q=OYc2Z<<~`?vu@}~>!)5cEO<44qNJf^@US$Aw8MTJ-aC9s z=HXVYd@j|^i`NK@Obb}C6J6lbl7!s}ct{BzjFw!N`gZ3vj*hE}e1SZclyovW39gdg`dC(@fbLMf>BpZe{#fOTL~Y(Kx^AzvRBRpP zOqxqLwuIK@vfp}RM^*;d)UIscTsUdNhuQt?6oXHjq3Zd2u1N-5Uxc!tpi^x+Mtgxh z_Q44JvS$P`JQInS{cj_^D7=vmP}gv?@NT8+Rt}K)D<@`N!ig(jQGV}8R~3w6^WQ1^ z^JHfsUZ0YKnr*`)=X)9dhC*hP87s~RxS1X6Q=`3N=!q%Pd*_ycSMs!l9;bY~-(0V+ z=R^s^zQM+O?#zC{5YS52IJLD^xffsp4@9P?Gh}@ksF71rRjDh;i$X2~mRmQ5^r-J3 zB^4W8(r)jKi0Hy!AR>1Cl|-RY*jr4AcMyWIpm4lWEc;LlXmOmJfg~!Hx|Ect8d=M0_3k;K zrHS`0#ZuAMsA`_AZ!rL);eEo&8jV7SMdR%n$7R-Y%3ub9_hhB_4zb8Q2)OyGivNbe zl!>n4WQQ;#RU65PdU>9Hq2XY|v+VuSF`4m3J;e?`ax=g=_gJ55)B%e~KasDGi}py) zso#1LM3I{#JYB+JjHSIqOgk^1oh4^~rucvt%j7USTbo9eRSWo&5!Xq)#uDEBMwKw% z-RR3=Uu>*o&)wskU-_D6?Imc`BWl8>DkQ2o@pwKYjm3+V6%RV`--h-DS-Y=xa4u!< zdP%P1IiOK>-8d)cENw7c>pg{53xFftetXR2K|Mk44-~MtYrpR42(eiYECsEM@bRRq z$jMGu%Cs;#QIo=JnLKRtohRaSKXLMox?mHlyBAGbUOyeg-@*2gatI?q+S+Wr#~odM z!|q*-HSi1CqEB7*vSPnB&m~CzP=;I94%BS=1j??`q2kW@+yh|R|Ik(a%R?|vWw_xML zWrJbZi{X|~%>Z*AZa>AZX*dVAmp7^Qc@iiZAmYJLWb*{3$dd$~O#Dj)H+jwr8KwgS zd#Ghkyw#TJN?2?~ke;W2xj_~%40Kl#M{kHs-Nm}m5DXrbFWKRbk^Yr4GW(x$M!K3< zR#%#@78qvauH+B2Em%D8*i34L4y=EadC&_K8Op3D@VT2MtL%^dH@0bvTN}i08u+o{7 zIc|hBy=ySyLzJEd@((_-dXnHKjgEq`MKAKFA5uv!M2VuxCF`qf{i9KrEj6vH7C%bU z^$txjwtfgGfB?j=9ESka9%du;Z_1Wylb^0VX(OhvV#3KyVDKRG`7U^BCLkO=T&OZjWhgQ z`_xAEX+S93P}*qxpf1}yoY&~z@>Bg0M%I&*(!`On<2U!z(t8*jsjQx-FxCxo2JrMf-oDN!&a%Wa`nc`${ z6lUN={)k@-s(7hG*gqpidnOx}$bQg5-hBUryd_Y00T%va6(mRj!OPYYJ(?e&e|rA3 z(OVd?6d4h<8NtA}H3S|Z4uua=+POOuLWtKrO0^S8du_xIvmQ+fjbnf8>SGwDMEd6Z<*A%5nST07W ziDtWB6v_ZABKmTjw}tJ1(|dv(ZC;B{edeD{v5{9?a-%O0?J=vj>EGDCw0~#&8WH#c zywB*JhetrA1xU0NUa)eBL^a(G(Ni9kUfc>WxZH$t?)oLZ+@SmJvR^&Y;e4m6u9=kC zu}lNkQ@xA9yz560r-K!NES-)6w3!p0$1gPMU-tRU}Fs zXO{Pz=*3qWuh30FUjnNc$i(|PiM`OcUl(6s6WsIGPo=i9N1cx!;xJdu7gcS7YUB>3 zvr!&ITE6IUKC_xB2oCG95MggunFhWGv{>#TwhW|Xpq-NF@)dkiZ8MOcO2~?NwK;Q7Fn9p&L(s6hE}q9Wn;pI9ws3Vzl#M_C25zVpM&m z#U}^NGYc%G;I~})z9=TdGM()Z$)=6HnoQ;p&VthS5L{b1f?Q^3i|6 zaCka<$vLycTW9L92)|Z+mpYg^-LKxdREluYob&vx;=C|#?lK1HNZ-`N7Qr) z$$hy%@BDPJs%%hpt3|>%)rV`FWmH}3+bs+}0u&}e^>XqLe*)62HlhC0Dat1l)TV6T zJ>EgMtUDCGm>$Y7A(PbpWGE^~pADT;Jm|wmn0N+Sy7@jC;OCizZa!6diX-8i);=wx zg0(TgxAL(!et~$ot;t5fRHuIUn2Q`*>&$X4bv;RuQXtRVA>Kbzw#4h5o;~V=U5TF( z{Yz`Z6bfL+;P;EHisa3hXQQ8WZs-2N7Bu^LdGOwLl|wCiVM4MM26Ab$^DV8kHlO<5 zIojCRE~XkSXd&1y&O{_g$eS`C9AYZ&m?Yo$^ig~lARqu%feJ+-ck@oXD1T^Cb(9`X z`f-x?tE@jIuKDWn5~07Ex0)A@j`go9hayS6Zm-Dyrogw2Fd4KT_Qz$kDmki>pme#M?yQoi^ z=m<&FJ|4+WAcfITP?npRr-6qq4_}f&G8F$JNv<6dS$`C_`+t;XgPylh>iP-H3@L4+ zwqAIC9kf-us6f%-qld-o)3|Yxm1u#Ex_(nA*5R4T?`u|%ePHDG0D!cLK#H4!)_M~5 zjm90C`dW6*h#Qz;ZtqYLKl`HYyvTG{Nt|`9iCV~YGM9=#6h2~Oj2H-GYBfgDPA z7>PXAdtMufzX_E;@WqZe8cr6hAP5((uHbdxup|SpQNP#(o;;tPCtpYhSJo$rqrbgj zKjk?;w{>aFd4E>S*i3&d?Hm+PPRx!Qj{%Id&&#)swrysafA;Jm1sV}yp*ufpb|eSL zZOzq_wKl#-A@&r&PJ=U$&aE+?>1Jr3p^@8rdhvlsty4Dd4?gK4XE5*z_k%+P4i$3w zEwty*xXPz=$x(Yssdg1JjIlQh5I#THiGhJ*n^2o|NzXg)9*bvDS4}Y}s=*&RKp#%$ z`Bt{+6+Miy{Jxc9YjDE|5Mb533O(w+K#*_<=Ftz!;yzu|g)Do1;?BJirVkbYir0%e zYd&x*_hosU>ave|kHY;Juo>N0F(P^%*2LADI2k5zoaL7O1#YOYD5>sC|3#WE%`IO zuG%@VIdP3R8&DO773~vW2lDi6=32@`cVQ7ZXs#l-MX@2^b%r-Sb3rS!bkIPQ2XO|EpjvWYrkU8YUk^OSeack;Y*R#;@Bt5{Y0 zlQuzKN&P+VSiOVi-x!@OSf$7h{bYg1@saXE3@7_m`9oi~C2dILP2qT7SB(XMddW}C z*(01Qk)X4dr=J^5u2l=bSPEIJEdUnFX3|n_x3r{~&)q#m1@Ova$2xr>C_6MMo^SL@ zvn_X(HJDJPp|TP)a_Qspjsj%ca&_$>t6}j*ux9?#+^n0|k>Kiyuj zW$D-aU@|O>))K@g9EL6haSqF3IA+ zv!21~SIkiTpGlbE;jj{F9ZO07QRr=>%ulhhX@ctb068dI`Vg~!d|_;W;cV7Tp$&F9 z?8vd1>T&aqZSWrd*_3*B&Ne%hBx(A(CoRbaEqfaKP-*%Su_#0sO6-BNY8YCP|5AU< z0bCm{ek|n-1X8deoakLK_JGXT{Ch)VtCE3uEoEvaB?gQ8SB?(TC~*M7)JNZ35?WpZ^~XEbMs z+hhS`H}gteHm_VKQdiIbK=|LG-;dD+e(-ZP7(L;&UBl$_f)yRmOxUnCGSe#+o}?;k zx2g!XxV8gG(euXp?aIb^e|`sw{`CXPZafR$OR2IcL(ql;Iy8>|}s!B=2h+a#K4$hX$O zE8><$*bN5^6%Fv|BSW8-u=v&)y;)%F0A_O;@$boeKn^a)>+%1Fk_MohfcXV`GB}y5 zIm7F)d+wM(623K=#JS(0k38!b8!K|I>4${>y%Eseq4>pCX8(hNe~P2wEoy~!D=~4J z(VjE|+uglM%@cYCg4m*RT?PSjF$Z~aA^qxX>BDtO!;H|ZmMT`2YL5jINa9PnlWv=U za(v*}mN3621GM>9Wb5lPzcqSqYN>!QFwqJp*a3}r%+A8srr7keugqMXJ&FioL)##) zS5kG4-6ce!boz}^;s8dHO;yaBQ>I)05(;`A`Dd)|f__A)CuZuWo&p@bF+H@(4=CM= zxT$j9=l8#VaT?WJb_EYqD_F;EeuS{$B4dtRuU^I5-{V)RaK!$pCe(JB)-o$nP-XSX z#*xglO+XeH-|qRn$^~HZsRy4_uF8V2Pv|A_rmAmt$(a31`9Cd^yH=)_B}!|w5IvIK z(*mm#)(tv@*G7YuTme?8;Z%De>wv6kIcSG&ZN28TJZHhLrw*~4B@o|wSfZHR3m`ie zl}t9(qC|9)+k(t64gwrw*wbY}zB%(x@R7HrgFmAF3#@bO(L&I{zHE7%ExF6zhz`_( zMlq6q?jI%;kY?t+`k$eDoP>&GB?7X#zUB2@0EH}zl65~TzlJt)m+q9MKU`m471x~D z0FPXL-qf^5y+N-Sq&^rGfG?_ z10{DPnbYTHYlw?RpUsctrJvw$N1{#)$rys_&G46m*@dpzq%u6ExM~{#C(lCKyK@55 zZ=q^YIwJI3`bFMXMf+;8kNbJA{Me{4XohM!u5ULdaMT4c7qC`b#70eaU>d4$VZ1)o zX!A7yR|g;=r%F@eG?Ago$p)%^QG5Sz=}GQiIz-?kM~RM(14hId@`IDIWdI{u?@;du zbBEt3)-V&2MgG7+=W$RI4XQV1)F6jU9VO`tAv*Tb;`W(|6kl?t@xVBC3K6*nK}sYg zXr$#X-VB!qnrCpbFnaX2|$7q#2;mORM@dYpkIrztgQw zrSlOz_-dX~AF5g{)0O5l77)f*DF-bj`>s&e%nWv0^t8YU%Ax3i>|AL*QvwHGu$nPD zT76t60pY>P*YK1iOS=nM zLx*-I*+oXYP5?rTh6>qWZ1XB!#0%IEAhy-m^!^VCp?lgXF(QZMWqQre0cxj#&E=78s7dHh-zQlPXBTHHl+jd_N}6OV^GRh75sdkV~Q_~`^;lM zQic(o+1an*yQ@uxdkUQclur^s;e*jOmfy_f9JFRp8P1bY*1~@m-o>})%BKlDz86n3 zpBMsaXkGPBJ7QdE?{0BWF*noM1sXOUTh@I5Q#42)2J&IG&6>``8_|EH3Qs%a>aK}bwt==?u2;rZT~R+i`u5q9e^EbcM-#Zi1N+kd zk#_9M?RN%a+9rMB+SkXTKCJBjvY$-dI(92vu~QY;!epH9fGH3AB=(`+!BO1+K4O)Y zj{0&mfBIHQpZOEmAuW-i9B&I`^jebT0r{4(ol^e0JSPn6r_e>A=Xf*zNbcMQ%QW^J=y-W|zvl5hbH-&}!8c;;f zb@kK<{XH^bkcBO*ryPozo38(ko&h>Ju55I;pE33n(K4^Qw3GvuN##PmA0WlohZF^@sD7ps58~ z;|FXxtb}*I9Q(@N1#azPd1?q^l8wh$N6wE6r;6GGM^4sedK)V{oaNMCiooJeq)rVqHZc z$b#j7%jma9>BTCC?z~LWQyOW8p_3+TNI!~gxX#M7CjKU8Y;(JLaeDLh)RT*4e3Mq- znB@`v|7Wx$Y%PpOJTbphDHt;dG-e`o=0uu@H0-8O9Om5EBaj93ubc)ohb2nVw|AXv zEN%X{)p<1V?Tj({Y6M$xp!~RJi3+r|3d)2lzv=UnW(|IL2o=V&H_^P1K9wHoN5AeO zc$XMg_p@L9U>8z-!j7}83ACnjUW8&pj4A6xb75-N`X7Phh(POsNa#kVfk{(I=$d42I=X;(7KC$m1j=bJkJII9k{=7g>?Yz~55`!NNDqoqm z&e}2wcmt|TSDXe!ZRROI#+vPA8_XfjUpfFyM5{iupO!nbp-x!r{DrziU3E;`$rsGD zCbH-?;Ln`kNP!rQLE|+8n#5X;P#fRHg6>&rRDjACwHR@|qp48ZInwP6n{WcL@{|!e3W-QvNpA2REjTw6cBY z^8ij}W^PuOQtD~mU&gE%fBP+13j7XlCCu^e<83ox;&@a27`T&3MHZvR#3|K7w^p=2 z;U?Oad!nQ8(UZrJaNfnSzI+PLo6Yd zo0eNkplC`r@NWu4Z6eX5YzeuZ+zR~R3>yo8)X5h9bxQ8CFVL}FbX}$_Hw_sS^dh!& zen5;Egt2B{8-EOS9GxvDp4EcC-KG6?lo`sWOYRFF6W1tnleu$R)eHbu0_fDSbpY+? zv<)fknkByYA=)+!kQz<>>b&I74(BAlYUod;=~iX{OQ zcNO>=jQbfNUaUabaBsSAw;gzFLh5MLVUf$g6*A6g?$!g0xT(~>9n<7}?|-iN<(*Y7 zLe?4QF)8^*T0BKZq|k-3dHw@cWO0`;I^I|Hv{78oD=C3F5u9L{;S()i-e64c^&!3a z^8y94r?m0IESBr+h-PQZ+5mUMW87g!!z|B(riTd)nRganAfGdq!XIplH-Bz8?9w4%BO-n^RJZ_h>~tX@tdIajE9SxxHlZ7?hhB*Dc2A?I+w358!VX3 z{1QT>x0yz0&Ic|+M8C2ZQc`ybO@%F2)7ter2Ia%EcRO$B4uscF)a(M1GPCh+57@+( zB|yQU2b6gO*`fWSWoc%KOs+-p{`yz8e-$8b8LlY87sm~B7k=BB%9kUDHEV>$ds(OS#%W&D<;FkKnD|Wba=A3k8LGYK*PRvcT*_WO^&S4#3ox z*T;M#<6K!vy0HB9<{!lg2x)uVtTmPpgktatw9W)@mE3(8VD>-}iuM$v)0^nL2{UmX*>eZEgj7a~mCE&IP9RQUYDHOlSZe>?h z0?AjoPm*H0SUJ)Y?WUC>66@0Tzl=?lCsB(A3(h7MCi=Kg>#QIRcg=?+5-(=Ht^}bM$W% zMqbA0lAL7cnb)k`-^g#iVu`ENHFrnQFZZ)o|=JWHBsXUKE=J5 z$)J4Mz~#>P&Oo>uqIxk&SDs*cfIg8^rF@e36x7z!Ri^I@--B3a&qN3hT zS31-aKaYlLjOrS!rdsg>zvzr6v@9>l5XbC=BKKvX@)vtJ2Ou*kUTrcE%@GX-VZwPt zbvQpc@W%>Cy5>QZ=_yON7vo7Uz=&3}!ac>R32Ak6;FrY%xQk-jgxm|LQg28%1UGXpyS3<-D`S797E z^VOV$6_4NWCVo#TK;ocwElCp=s0_98MGr%aH)81V)V-5sy&2^C*d3Ei5IRULVZ=pQ z+GMFd!mBI?bblFAcb6V;=f-|QxuynRM2g`%f-sb)(v8!%$Vugh*i0nT70vG)$If=2 zGX99Ex=d~^!QYSqfMS;hyd+>)kWbNg(tsnE!GJ-9(S*^6s!e6FA_&i0miZDmff+t2 z-33n0ZR8jg2BRT)+`4>%M4?-h6~sbei)F)2#cZ&1wEdgWRgt&`YA7g?;B)qWk*?cZ zqy3q&7;StePW)TKOizBCILJDXI3xfluCXTpkqH6d8YB{cF5EHwu+9zCRYmCDn_vuV zIehT2Agx*7>vRl9y!A}9P2##FGyLb+Jey94A^bT!{29D*GR(ddElF5SB89j78&;yByDV8Z^5hnZ`72RrygNXbKZf~Pt&PguVn5Z+vLFm9_hlViUG&^9n?JT_Ym<@G(j-!5 z%+YTv9?sSNYoUN^{5X*z9b1(L=U>k_cD)12lJ8VbGS0IpB~mLpyyrEX+|VPWG(H)B z{~Ym}ewGN>?2PJ+UN$Z%esPoS6Q=Rfe(XU&LJuh|=8a~@jYbs}_M8K~5FPrA#TF!9 z2k2MKgRuAdb4I)GJRJ&Pf?X@hM((;ZIQ&pwH_OVE1AAd#xq2)Yx*h*+7d%BdF*E`g z>QgG6btqoEKYg>){4JM%@N+^Kg%>S#WLt-$ZjjbUsk@qP0tVthz_zovk6uhU5sF^k z>9hu*-w;Rg)ZnRy`%slegi`F*CBa7A%mwBhB5%?0m+zz*o9x-hR|k#NAKGW3yY^N` zR^Ryw_CL%!@oOIj=Uu_}m|su_?ev|vcVTkhrJ{@^=_)4D8_YehSJYumfgG`m(@TMp zK6368PwZ5`@Zm<^lbuge*9w{@+$)wRzLVdcxk|o;kMOH0;58T{(&rZL43bsFxVhX1 zQI`WdVFEUHLkxTSdhduG7FFaY-QX;U?^FPeI~Hs`}w>-uUFYXVKLnetK-ttEjh2ruS|Vc$S=E@+3BzQY`O1o zi`ND-$*%utHIrNph_S?>Z^c-iDMj)xV%NG?!%Z!f7fMt%_`V#)Fj>+f@#Yd`lfct) za!Zt)G)K?A7_j;Jq%EH<`-B5|(KhvHz~(fRi^i9X34+06GX%bDDMgS%NDJ*EyK9n@6?az$hmtEmoyA8oLfEQI&R#17!Hf{=+fIU&PwGks=yGDr$&F;o#FE9NT9(@`cLV{sM1K2^hFqMSs zM2jm{$UOpIDNlbSycYkjujU1urhf?aC*7~*tIxJ&QaGBbN1pp(4@Tj7AD{R1+EwCv z*fqt#Ml%cwL%gz~$(0^JDqE1#X%k#{11?>@4a$q3`JkCIn2zkXI%B8s&;CFu>Z3$< z&?NRVMZ$JDZH|SRvdKZ`Q$~w~7|B2bZZ0g^W(-c&S@^J@W?{ZW)xn8TaCaUH z2xs1&=61^llQKB~VIYRw#WN@UFC3=F5@mOA9lA?ybV@7AOsSf-ywtb9c%8BWSMhY5Em;fVj4d>t@;)WCwp z;Zw@br^mvE0y#jpbpI35Ot9WKsmvIWQ~`78kCLaELsztfddz<}$`UkRo2J4lFgy|k z*P6)e*E`N1WQPD=IWl-%msm8w?oK#LiaUd?Et4cAvw%X^?M>ECFr-P>2avP0k1^xv z5oe-`e{)n|Ge4LSemKI%-_2#3TN^O{@xU;`^t}9kLiegcy%Wu6_K}XJa1Y;DnC1hv zGFa+;MOWr*OJxIe?lT^;B{GBj84~^!=~d<|WM5>1%vCm`a|6?v2~OWW(;pHJZ&H*S z4~={s=o6`x+?zle^e(iPA2_zPAkGVRxP9p5jj8scd+;w}(qcHA)S0wkIfK&yzjh_x zMbivVsnDC+ERF4J2-j2H$m?O(FnuL+K0lzzrFabfL@~$bk*XnyJM8_4K`=cCFfpze zFRHP-f_WQ#U>Puwr;`v}J&Tq%8}%;1I;?_1{y-yl48V~D zV)CL4YtX)puu@BaY{M8XfRC$s$L8pE!55$`$h-2;yxzmEpF z&w3M;-prAddAKRT1AYw3=qc*_`2rB?fQ+=66`M9pXXv1}XiY{Nq-KQBINoRCTfWQ> z(mzGkCY@=zxw9n|NHH}Pu>`K~`)xu$77w^U63@>VCSYpA^|#XDbeLZTdRSTc78l^6 zlZ=H8@Wq2`^?)ob{=9s5MS?DGZt>7ZsOY%NOUFveekIULWC4DJAW~e+yE-;l_x%+n zjHM~-mW2bc>%wfAZ?pJ!xB$O+WHoV>n?7Cnp@!4+UH|Ke!kH(S3WU!4(+~oEp~V@I z&sOg9y-H3i!_CK~j|H-yPQ18^n&i6?0W#~@f%(;&QC!@>E3mC8p8y@a^B1YZa=^tU z2a0eE5|Rip7YrFJ&UXku$&glBkc=kDJvc6{R1#L{de!&KksjfW!+zGK-T?AjslvG9 z-efJs5n4AfZuX9E(LiheIxDgEaAEML`q^HDIMQf)s-vT zfhU>PJ7FucVgdtHq4)&?s-M>kcv&w^JyDFK#JcL*_C~E%&9~{yIp~~6T@(A|)_1Xv z@LDJ}MO&GxDol*hTB^sEZ7@BORhADY7;9W-9=hX&)_AtW|w=Nuv2%t7|Q53G><_Q{@Jbz^Bv?I!0&a*wvxnH)%F(2S}sgkahn7r1?=GO z*%XQ7jEAZzxl`WR;d++x2(2Pz5z3^8%+h<3g%}-LkTX~qJLIn|2)b-@F=u*t ze$x$hUeHVjXyn};y6VV6UOgv%HMbDOw^=0>=?U*KpS}|VF`)@rsi&$|iMpF}+z3(H zp_~Zb6PHg&O)!ju(&f`%cq#u@l%Iz^qFz574xIRB!uIDS^r~_c{(7w=t5tk&wxugA zu`72m#c^=;My^v1knns|EM*^di#snx-))p`1e0B20CQ$_79g(Z!Uq;>`VpX!0X=Zu zd`GgdCgE_fZ29ccB)TBoDEd$maG#z!mM`3d4@YFlXc&Iu>P$u}?Fh0HT2PS|b5)NN z%UACnVMa6(IY(wb#OZHiiNae)o7O(|2Vep2xRi%hP_@0QZ)193xp(j)4%yC4Oql&j z8Aqkn%&K4HQ*g)2)e*o9k{f$l9f+|0d7`nO6kuK_-y%$y9~^%uaEdG}MUmqGg1{NA zDg0_n`SP}F=!>2(Dq^ys1@kA=05lb_y3ym{hzfVBS-z>B2n;C5bubPvtwaB<#c9Q+ z{M9oYD=n97UV6>IQs9i%n`q=wgx@p!Bfiy!AsAbT;VV7tBdoIG=6ActDQKWcC;Mpp z8H)m^eD_sAp5j3Do<;`GpEPPZ!zu!K*0u}J=d(>;B|%a~Em&uZIHUgbAxfvZ1!oJM z0tj!;CIz>c8MEVYf@B#dW4M08k#~LLtE98d6pCup3q0aMO+%pjb>q*f9Q<_7zN%&A zeVkngn~mg*5uE_xiy@@6jC*G7%UhhPl=T2pl`$2kxd3)5e8F!qAt4$@e#DQVhe;iv zil!=rnc*R@lXDYLWk9bBIAc%6wWR6REBsz}sOe@g;b+gdfYP|+!yZK(gTpqp8J zpm|Y1AS?g#9#0y4+-e?H5J9@r_^XQUB4F8^e4HHBKMZ~=V_3Sn7+yLjjx3)%K3{76 zxZqC2@BCr5lKh<*-3LVHmyXja)nhN=V7!x6(i%g&{Y!3Texuy+U3_9o;W|KlMV~4z zCZt5C$@b+sR2OVZ@hv*_XDR|fzHqpCHGCSS5}SX{|KH@HBfoybq1&K;gFFP{R&4A{ ziyGx!@JCv@u_nCpE60Br?wd;8(hALwsM$`$F>U};lRWl@S*>jls-E-qR^5k0!vHLo z-w1q>uVo74(9p}utPGYV0Ah;`F1|s9(I6}_!C!I`EcYWd@zG73srT{)81=-dhP?$2 zh9;IukDdoUDASs5`mYBrSLIPXbmL*kWpaCa$%>7s9T|UX;qx; zBRi@IVRnJqYXW2Z2=AtpR>4BO?=#~hcWEF1WVetd8?F5RWyxp=+s)H65qVSPR|ZdYeSwv3sxU7!gpayo_bB}f~;nVj;;i|cIKc7IKN}P znc3#!^pOu`BFXx4Vw5Ye#oiP2W{W-JV79^aMrO=*&pBGF;z22jl#<&gOzSe%TaSMo zrHPpi_q-T&FpytgCK|zRNt90xs;>g064B989|z+@z&c+4G~OHeY<6CPm3ma#*Dp@J zlQp%fi=#>(t3{e{-Ufja*9*zN;hDLRa}3Z#`YHL%^;~Mm!=dtr3oHK(OLtz+O1<~L zikg7nHj4N&%ItL=8V58}7yKh;70TS_>;4SXZ#$kZgo<{Hmf-K_k{S=lBahg!ys>m9a=fYfGrUkx0aLSUt8KsON6pc|&JT};zJYNVW;ErOX& zH=Z;_%%eLH-VU-HsZXk#h6`J${1^VGh6BFjP-)3|;&%=U2xS|*jdQ(FV9-l1nYF}4 z{&HzjBj*O~t&!Th&6Zwqqic>dHeM0BacijbA1Jj@urwx@XVP1xn|SVPkp2RkDaakF zMZRMBvw)D4h4n>yN8kSUelJ2P(kIwG`?*EN>!+Ps-FiQdnh?fr5+9xxbk|5f0~B8D z=0jLFT@?QwHG#P-rI*l6fROy{n`05=3Jo?N$eccvpp`)w1b+}f9H7iwZp@3qG=B-< z?F}c6>B>Lzb7oPYlMLoEKLu*~uG}S0&QA*6oD_4qof8-(S`k>axYh8cexL{wv32pI zgl>wEgtcVaKgl<+r1nGKraa63_Ga=THu+y3Qf_P(#4ch+>>*vj+2rg@IVm(1VAYb@O0Ch0#UH4c8*+=H5Lt>y=%85_7aDJH0#uYsC$ z6eQ_+;V>tQ>}X7Dxp>Fe?)Y{ai`z|{f4{;CT1y7@1AQIMFK%@s@8l^-$vOxuGjo1UE9qk8tG zC&xQ1W%mxaCIgclQ`_y+$ zgY1$`gs+8fSz!oyDF0>j=mE%EpMz4C4W6+_3ONOqle4yhV+&pft|h=266qjwu(9wU zfn?2JaYL@yaTHRQoialbTB$2TeHjK<3OJYowg-5vNbP`{06= zz!}O|)ip$k7j(wjR=`gKD^izeoOZW~2W(3`gyLC=5^j;-R>jD`O!ye#y6&eJS#pO< zx#5zxfgOd&IS~?Mje>N8wUm5!@JU0NF{JIS8HwMlT5MlHryUO44Abdi@ryuxMgZtL zY*)rt~m`x^?fCZYP$mCHJ{Ut7j@!b!RjxY3r%Zd##0( zn#EDE&afNEuSAvMwpsD=Mn2NJ!;EA9^cy1r%7h&YDa%Lph4DJM87f`3T_>fu*=jq|?rTZcB7aR*YmHfOF zN5~+9k;LpI*&JpZBYYNj{mx;FHB3mMQU!fv;F<$j7 z@!11zlQYNYEeM4bHuof0M;6JpejL(C>hYUqJ{dhb_B*V1M*>uIl}G1Z4-EGI(ry}h zu?j6rlH8!x00|@~^8Dc0>g91!yWJyBcSqn0i?d4Yc3=RHW-CE`av^_*()`O|PI>b6 ze_MLCD7$IbC*3b+-819r=uJ%#%sP9$y~0%&o}tA#B#$%8>OyfBV(!tSy^-ba2RJr@ zH?+Tn(4o&4eKaeIA9p&V)`wN~tR|TAU_TOHb73Hed_;PFeNu{Q3lIIw$(g+ETwTBY zgYahTbB|a%f8y_t1dJ=?_Z&h&I9!|N%h&iu=|g3@NKinA6F}=ujpPXolt4bGK-4gJIRy`g(WSQNvZ0A zrMtbvo6jCR+F=vMntdtz`3xg%Oy_#8duefo;TpfRAs$;6$62O3eI7tjm8EleT8}>f zN{PPar{SpbK^afb(xsL#(keuEyun-Ay*GqN9c*%G$S5E!M@8(?qe10TvS+QV4_Ltn zPr}t&mq%^E&OPV5oYv-ADi0UqzCF{am|NWE>7(C-nwPF`eJla${jE z5GO`Tsr%>SbDf)GDHCDYt8b$7Aj}8uTOtZ2^}pMNMv#O#1cPI8kEw1KpiIm&l@<)O z-i)Y)4svW_hz~Y9g+OPjX!yK70NbdWTm12(P<7FU=-S)@3^ZmbyauRLP*4@m(lvK~ zE(g=&USKMuQ1{fZXiWGzP+_X;&N(*r0CAPKI+XdO@%tJ_FTfHB_M{g0{>NoGobw(& zMX#v4o-K%|-YUEip`sX1IPxtInlEG|Qq(-Ou_Xd5ssWh}=AvunzJaz8h2k7LwUTnC zJ$=ai)U1@emOE2f&V%_B0dRv^DK@l_e#|C~vF@1YEjj@BVvu24Poin*hXm~UfOk4+ z?IP33Y#}h5?br1!OlOyS61E-qJn2~hlvi7@!@TDn&&(DFO&=e&F{y}&bH^X(6P4AZ}?nko#iEft!)Q>0x&WN5x%mC$6FkbI+;YFvh*vvZZ&QB(3!Im6%r}GISZ&YL+ zK|cx=-blp9Q?Gjwvef9frZv`SV8*&xog2!hpW)5JYjm@HC=z|#BF6JX#cYM8fnc5U z+vNc{^U;SyPztx)s_b~IGLxA1s;X1h&=Lz-2$_c^NthFOqswR!**s4aA(H!{Gal1q z|7p{uzYlS?&v-PDBe{gEUoIaMYc(%O!9Fm|KFH4r9l>r@E|VRXUdkO_bjrsxS~X9F z_k?s7U|@7sH?lWciaxtzD^T~ggywKJ5q)HPCJUmN0d>7zLXxzBs;{AKt2WkC2tfeA zLf?f+#*?9O$eNKHoASj(KV^0sc^1@UE(CH#K@S@d{K9FdU^rs>h&s|Zn;_Mw0% zHf5jt>2&!R!VD#IruQ)$F;8BLTAt~mqXiW= z!b=k0DP^FILDD1ibQ!Hr@E2kwH_;K{B!CgWW(lmjg^X~}J6>DIfzM20+Bu42zp(d3 zXM#1=amR#avALj8cU^)EGee~}gJRchvt16|reU7C&;CaZ`(jmFi_M40Yv#3=M-FAg zzpN69(XzTdIEc96J^8>HQXKAG!Sid2kNwvRY#PA!pn5Ck@YPY5-j5%*gl~;)_lue9 zt~zAD4^G9O=m;B&uo%==Yy{zKW%kn(y_%1YzRvgbI2vHi~Z#SdLZMB$v84(oY zE;#{>*WG#$&>TkDm*+LJnc>@T7N1|);i2a1nU5A8is$jDesIpyV-G_&ugZD4@uiSQ Z)K8TiLG%@!wE!M}4+#FeV)v2n{s#&27-9eb diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/images/wdsc-all-hide.png b/windows/security/operating-system-security/system-security/windows-defender-security-center/images/wdsc-all-hide.png index 68b94302a1ca2ecea58d9c0e20b1c6f8ab4a3d60..012a75914d7b461e79fd3888c278e94f8fd95a43 100644 GIT binary patch literal 7591 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 literal 7764 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 Windows Security > App and browser protection**. 4. Open the **Prevent users from modifying settings** setting and set it to **Enabled**. Select **OK**. -5. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +5. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. ## Hide the App & browser control section @@ -41,7 +41,7 @@ This section can be hidden only by using Group Policy. 2. In the **Group Policy Management Editor** go to **Computer configuration**, select **Policies** and then **Administrative templates**. 3. Expand the tree to **Windows components > Windows Security > App and browser protection**. 4. Open the **Hide the App and browser protection area** setting and set it to **Enabled**. Select **OK**. -5. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +5. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > If you hide all sections then **Windows Security** will show a restricted interface, as in the following screenshot: diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md index 4bf296c839..05fe144f5c 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md @@ -1,7 +1,7 @@ --- title: Customize Windows Security contact information in Windows Security description: Provide information to your employees on how to contact your IT department when a security issue occurs -ms.date: 08/11/2023 +ms.date: 06/27/2024 ms.topic: how-to --- diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md index a15b5f11b6..1d94c8edb1 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md @@ -1,16 +1,14 @@ --- title: Device & performance health in Windows Security description: Use the Device & performance health section to see the status of the machine and note any storage, update, battery, driver, or hardware configuration issues -ms.date: 07/31/2023 +ms.date: 06/27/2024 ms.topic: how-to --- # Device performance and health -The **Device performance & health** section contains information about hardware, devices, and drivers related to the machine. IT administrators and IT pros should reference the appropriate documentation library for the issues they're seeing, such as the [configure the Load and unload device drivers security policy setting](/windows/device-security/security-policy-settings/load-and-unload-device-drivers) and how to [deploy drivers during Windows 10 deployment using Microsoft Configuration Manager](/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager). - -The [Windows 10 IT pro troubleshooting article](/windows/client-management/windows-10-support-solutions), and the main [Windows 10 documentation library](/windows/windows-10/) can also be helpful for resolving issues. +The **Device performance & health** section contains information about hardware, devices, and drivers related to the machine. This section can be hidden from users of the machine. This option can be useful if you don't want employees in your organization to see or have access to user-configured options for the features shown in the section. @@ -27,7 +25,7 @@ This section can be hidden only by using Group Policy. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Device performance and health**. 1. Open the **Hide the Device performance and health area** setting and set it to **Enabled**. Select **OK**. -1. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > If you hide all sections then **Windows Security** will show a restricted interface, as in the following screenshot: diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md index e47d41fc91..1e3f8737fc 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md @@ -1,7 +1,7 @@ --- title: Device security in Windows Security description: Use the Device security section to manage security built into your device, including Virtualization-based security. -ms.date: 08/11/2023 +ms.date: 06/27/2024 ms.topic: how-to --- @@ -19,10 +19,10 @@ You can choose to hide the entire section by using Group Policy. The section won > You must have Windows 10, version 1803 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. 1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. -2. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. -3. Expand the tree to **Windows components** > **Windows Security** > **Device security**. -4. Open the **Hide the Device security area** setting and set it to **Enabled**. Select **OK**. -5. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. +1. Expand the tree to **Windows components** > **Windows Security** > **Device security**. +1. Open the **Hide the Device security area** setting and set it to **Enabled**. Select **OK**. +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > If you hide all sections then **Windows Security** will show a restricted interface, as in the following screenshot: @@ -37,17 +37,17 @@ If you don't want users to be able to select the **Clear TPM** button in **Windo > You must have Windows 10, version 1809 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. 1. On your Group Policy management computer, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. -2. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. -3. Expand the tree to **Windows components** > **Windows Security** > **Device security**. -4. Open the **Disable the Clear TPM button** setting and set it to **Enabled**. Select **OK**. -5. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. +1. Expand the tree to **Windows components** > **Windows Security** > **Device security**. +1. Open the **Disable the Clear TPM button** setting and set it to **Enabled**. Select **OK**. +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. ## Hide the TPM Firmware Update recommendation If you don't want users to see the recommendation to update TPM firmware, you can disable it. 1. On your Group Policy management computer, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. -2. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. -3. Expand the tree to **Windows components** > **Windows Security** > **Device security**. -4. Open the **Hide the TPM Firmware Update recommendation** setting and set it to **Enabled**. Select **OK**. -5. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. +1. Expand the tree to **Windows components** > **Windows Security** > **Device security**. +1. Open the **Hide the TPM Firmware Update recommendation** setting and set it to **Enabled**. Select **OK**. +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md index 50f38d64dd..2304702eff 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md @@ -1,11 +1,10 @@ --- title: Family options in Windows Security description: Learn how to hide the Family options section of Windows Security for enterprise environments. Family options aren't intended for business environments. -ms.date: 08/11/2023 +ms.date: 06/27/2024 ms.topic: how-to --- - # Family options The **Family options** section contains links to settings and further information for parents of a Windows PC. It isn't intended for enterprise or business environments. @@ -27,7 +26,7 @@ This section can be hidden only by using Group Policy. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Family options**. 1. Open the **Hide the Family options area** setting and set it to **Enabled**. Select **OK**. -1. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > If you hide all sections then **Windows Security** will show a restricted interface, as in the following screenshot: diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md index 0070445c0d..7d4b3f13d0 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md @@ -1,7 +1,7 @@ --- title: Firewall and network protection in Windows Security description: Use the Firewall & network protection section to see the status of and make changes to firewalls and network connections for the machine. -ms.date: 08/11/2023 +ms.date: 06/27/2024 ms.topic: how-to --- @@ -24,7 +24,7 @@ This section can be hidden only by using Group Policy. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Firewall and network protection**. 1. Open the **Hide the Firewall and network protection area** setting and set it to **Enabled**. Select **OK**. -1. Deploy the updated GPO as you normally do. +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > If you hide all sections then **Windows Security** will show a restricted interface, as in the following screenshot: diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md index 5e330d95a0..623cee353d 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md @@ -1,7 +1,7 @@ --- title: Hide notifications from Windows Security description: Prevent Windows Security notifications from appearing on user endpoints -ms.date: 07/31/2023 +ms.date: 06/27/2024 ms.topic: how-to --- @@ -34,7 +34,7 @@ These notifications can be hidden only by using Group Policy. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Notifications**. For Windows 10 version 1803 and below, the path would be **Windows components > Windows Defender Security Center > Notifications** 1. Open the **Hide non-critical notifications** setting and set it to **Enabled**. Select **OK**. -1. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. ## Use Group Policy to hide all notifications @@ -53,7 +53,7 @@ These notifications can be hidden only by using Group Policy. > For Windows 10 version 2004 and above the path would be **Windows components > Windows Security > Notifications**. 1. Open the **Hide all notifications** setting and set it to **Enabled**. Select **OK**. -1. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > You can use the following registry key and DWORD value to **Hide all notifications**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md index f48a985759..6014c9acfd 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md @@ -1,15 +1,13 @@ --- title: Virus and threat protection in Windows Security description: Use the Virus & threat protection section to see and configure Microsoft Defender Antivirus, Controlled folder access, and 3rd-party AV products. -ms.date: 08/11/2023 -ms.topic: conceptual +ms.date: 06/27/2024 +ms.topic: how-to --- # Virus and threat protection -The **Virus & threat protection** section contains information and settings for antivirus protection from Microsoft Defender Antivirus and third-party AV products. - -In Windows 10, version 1803, this section also contains information and settings for ransomware protection and recovery. These settings include Controlled folder access settings to prevent unknown apps from changing files in protected folders, plus Microsoft OneDrive configuration to help you recover from a ransomware attack. This area also notifies users and provides recovery instructions if there's a ransomware attack. +The **Virus & threat protection** section contains information and settings for antivirus protection from Microsoft Defender Antivirus and third-party AV products. These settings include Controlled folder access settings to prevent unknown apps from changing files in protected folders, plus Microsoft OneDrive configuration to help you recover from a ransomware attack. This area also notifies users and provides recovery instructions if there's a ransomware attack. IT administrators and IT pros can get more configuration information from these articles: @@ -35,7 +33,7 @@ This section can be hidden only by using Group Policy. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Virus and threat protection**. 1. Open the **Hide the Virus and threat protection area** setting and set it to **Enabled**. Select **OK**. -1. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. > [!NOTE] > If you hide all sections then **Windows Security** will show a restricted interface, as in the following screenshot: @@ -55,4 +53,4 @@ This area can be hidden only by using Group Policy. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Virus and threat protection**. 1. Open the **Hide the Ransomware data recovery area** setting and set it to **Enabled**. Select **OK**. -1. [Deploy the updated GPO as you normally do](/windows/win32/srvnodes/group-policy). +1. [Deploy](/windows/win32/srvnodes/group-policy) the updated GPO as you normally do. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md index 2feb4cecb2..6b723cef2e 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md @@ -1,21 +1,17 @@ --- title: Windows Security description: Windows Security brings together common Windows security features into one place. -ms.date: 08/11/2023 +ms.date: 06/27/2024 ms.topic: conceptual --- # Windows Security -This library describes **Windows Security** settings, and provides information on configuring certain features, including: +This topic describes **Windows Security** settings, and provides information on configuring certain features, including: - [Showing and customizing contact information](wdsc-customize-contact-information.md) - [Hiding notifications](wdsc-hide-notifications.md) -In Windows 10, version 1709 and later, the settings also show information from third-party antivirus and firewall apps. - -In Windows 10, version 1803, the settings have two new areas: **Account protection** and **Device security**. - ![Screenshot of the Windows Security showing that the device is protected and five icons for each of the features.](images/security-center-home.png) > [!NOTE] @@ -52,7 +48,7 @@ For more information about each section, options for configuring the sections, a ![Screenshot of the Start menu showing the results of a search for the Windows Security, the first option with a large shield symbol is selected.](images/security-center-start-menu.png) -- Open an area from Windows **Settings**. +- Open an area from Windows **Settings** > **Privacy & security** > **Windows Security**. ![Screenshot of Windows Settings showing the different areas available in the Windows Security.](images/settings-windows-defender-security-center-areas.png) From 05e428cdb29f7d77a389025f770aefd2db73d904 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:47:38 -0700 Subject: [PATCH 153/354] Add callout about Server to Mail Sync section --- ...dows-operating-system-components-to-microsoft-services.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index 5618158898..3566b7a050 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -7,7 +7,7 @@ ms.localizationpriority: high author: DHB-MSFT ms.author: danbrown manager: laurawi -ms.date: 03/07/2016 +ms.date: 06/27/2024 ms.topic: reference --- @@ -537,6 +537,9 @@ To turn off Live Tiles: ### 11. Mail synchronization +> [!NOTE] +> The Mail app and mail synchronization aren't available on Windows Server. + To turn off mail synchronization for Microsoft Accounts that are configured on a device: - In **Settings** > **Accounts** > **Your email and accounts**, remove any connected Microsoft Accounts. From e6a8a95631853f64d45e913a861fef3017d3b972 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Thu, 27 Jun 2024 15:50:33 -0600 Subject: [PATCH 154/354] Acro-fyxes --- .../wdsc-account-protection.md | 5 ++--- .../wdsc-app-browser-control.md | 8 +++---- .../wdsc-customize-contact-information.md | 20 ++++++++--------- .../wdsc-device-performance-health.md | 4 ++-- .../wdsc-device-security.md | 8 +++---- .../wdsc-family-options.md | 4 ++-- .../wdsc-firewall-network-protection.md | 6 ++--- .../wdsc-hide-notifications.md | 22 +++++++++---------- .../wdsc-virus-threat-protection.md | 10 ++++----- .../windows-defender-security-center.md | 6 ++--- 10 files changed, 46 insertions(+), 47 deletions(-) diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md index 6068b7aeaf..ae3cb0475f 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-account-protection.md @@ -5,7 +5,6 @@ ms.date: 06/27/2024 ms.topic: how-to --- - # Account protection The **Account protection** section contains information and settings for account protection and sign-in. You can get more information about these capabilities from the following list: @@ -14,7 +13,7 @@ The **Account protection** section contains information and settings for account - [Windows Hello for Business](../../../identity-protection/hello-for-business/index.md) - [Lock your Windows 10 PC automatically when you step away from it](https://support.microsoft.com/help/4028111/windows-lock-your-windows-10-pc-automatically-when-you-step-away-from) -You can also choose to hide the section from users of the device, if you don't want your employees to access or view user-configured options for these features. +You can also choose to hide the section from users of the device, if you don't want your users to access or view user-configured options for these features. ## Hide the Account protection section @@ -25,7 +24,7 @@ You can only configure these settings by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1803 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In the **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Account protection**. 1. Open the **Hide the Account protection area** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md index f09525a59f..ff0ffba791 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-app-browser-control.md @@ -11,18 +11,18 @@ The **App and browser control** section contains information and settings for Wi In Windows 10, version 1709 and later, the section also provides configuration options for Exploit protection. You can prevent users from modifying these specific options with Group Policy. IT administrators can get more information at [Exploit protection](/microsoft-365/security/defender-endpoint/exploit-protection). -You can also choose to hide the section from users of the machine. This option can be useful if you don't want employees in your organization to see or have access to user-configured options for the features shown in the section. +You can also choose to hide the section from users of the machine. This option can be useful if you don't want users in your organization to see or have access to user-configured options for the features shown in the section. ## Prevent users from making changes to the Exploit protection area in the App & browser control section -You can prevent users from modifying settings in the Exploit protection area. The settings will be either greyed out or not appear if you enable this setting. Users will still have access to other settings in the App & browser control section, such as those settings for Windows Defender SmartScreen, unless those options have been configured separately. +You can prevent users from modifying settings in the Exploit protection area. The settings are either greyed out or don't appear if you enable this setting. Users still have access to other settings in the App & browser control section, such as those settings for Windows Defender SmartScreen, unless those options are separately. You can only prevent users from modifying Exploit protection settings by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 2. In the **Group Policy Management Editor**, go to **Computer configuration**, select **Policies** and then **Administrative templates**. 3. Expand the tree to **Windows components > Windows Security > App and browser protection**. 4. Open the **Prevent users from modifying settings** setting and set it to **Enabled**. Select **OK**. @@ -37,7 +37,7 @@ This section can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**. 2. In the **Group Policy Management Editor** go to **Computer configuration**, select **Policies** and then **Administrative templates**. 3. Expand the tree to **Windows components > Windows Security > App and browser protection**. 4. Open the **Hide the App and browser protection area** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md index 05fe144f5c..aa892ac49b 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-customize-contact-information.md @@ -1,6 +1,6 @@ --- title: Customize Windows Security contact information in Windows Security -description: Provide information to your employees on how to contact your IT department when a security issue occurs +description: Provide information to your users on how to contact your IT department when a security issue occurs ms.date: 06/27/2024 ms.topic: how-to --- @@ -11,7 +11,7 @@ You can add information about your organization in a contact card in **Windows S ![The Windows Security custom fly-out.](images/security-center-custom-flyout.png) -This information will also be shown in some enterprise-specific notifications (including notifications for the [Block at first sight feature](/microsoft-365/security/defender-endpoint/configure-block-at-first-sight-microsoft-defender-antivirus), and [potentially unwanted applications](/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus)). +This information is shown in some enterprise-specific notifications (including notifications for the [Block at first sight feature](/microsoft-365/security/defender-endpoint/configure-block-at-first-sight-microsoft-defender-antivirus), and [potentially unwanted applications](/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus)). Users can select the displayed information to initiate a support request: @@ -27,20 +27,20 @@ You must have Windows 10, version 1709 or later. The ADMX/ADML template files fo There are two stages to using the contact card and customized notifications. First, you have to enable the contact card or custom notifications (or both), and then you must specify at least a name for your organization and one piece of contact information. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. -2. In the **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. -3. Expand the tree to **Windows components > Windows Security > Enterprise Customization**. -4. Enable the contact card and the customized notifications by configuring two separate Group Policy settings. They'll both use the same source of information (explained in Steps 5 and 6). You can enable both, or select one or the other: +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**. +1. In the **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. +1. Expand the tree to **Windows components > Windows Security > Enterprise Customization**. +1. Enable the contact card and the customized notifications by configuring two separate Group Policy settings. They both use the same source of information (explained in Steps 5 and 6). You can enable both, or select one or the other: 1. To enable the contact card, open the **Configure customized contact information** setting and set it to **Enabled**. Select **OK**. > [!NOTE] > This can only be done in Group Policy. - 2. To enable the customized notifications, open the **Configure customized notifications** setting and set it to **Enabled**. Select **OK**. + 1. To enable the customized notifications, open the **Configure customized notifications** setting and set it to **Enabled**. Select **OK**. -5. After you've enabled the contact card or the customized notifications (or both), you must configure the **Specify contact company name** to **Enabled**. Enter your company or organization's name in the field in the **Options** section. Select **OK**. -6. To ensure the custom notifications or contact card appear, you must also configure at least one of the following settings. Open the setting, select **Enabled**, and then add the contact information in the field under **Options**: +1. After you enable the contact card or the customized notifications (or both), you must configure the **Specify contact company name** to **Enabled**. Enter your company or organization's name in the field in the **Options** section. Select **OK**. +1. To ensure the custom notifications or contact card appear, you must also configure at least one of the following settings. Open the setting, select **Enabled**, and then add the contact information in the field under **Options**: 1. **Specify contact email address or Email ID** 2. **Specify contact phone number or Skype ID** @@ -49,7 +49,7 @@ There are two stages to using the contact card and customized notifications. Fir > [!NOTE] > If you enable **Configure customized notifications** and **Specify contact website** policies, the contact website must begin with `http:` or `https:` (for example, `https://contoso.com/help`) to allow the user to interact with the notification and navigate to the specified URL. -7. Select **OK** after you configure each setting to save your changes. +1. Select **OK** after you configure each setting to save your changes. To enable the customized notifications and add the contact information in Intune, see these articles: diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md index 1d94c8edb1..652bd443dd 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-performance-health.md @@ -10,7 +10,7 @@ ms.topic: how-to The **Device performance & health** section contains information about hardware, devices, and drivers related to the machine. -This section can be hidden from users of the machine. This option can be useful if you don't want employees in your organization to see or have access to user-configured options for the features shown in the section. +This section can be hidden from users of the machine. This option can be useful if you don't want users in your organization to see or have access to user-configured options for the features shown in the section. ## Hide the Device performance & health section @@ -21,7 +21,7 @@ This section can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Device performance and health**. 1. Open the **Hide the Device performance and health area** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md index 1e3f8737fc..3323324a97 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-device-security.md @@ -9,7 +9,7 @@ ms.topic: how-to The **Device security** section contains information and settings for built-in device security. -You can choose to hide the section from users of the machine. This option can be useful if you don't want employees in your organization to see or have access to user-configured options for the features shown in the section. +You can choose to hide the section from users of the machine. This option can be useful if you don't want users in your organization to see or have access to user-configured options for the features shown in the section. ## Hide the Device security section @@ -18,7 +18,7 @@ You can choose to hide the entire section by using Group Policy. The section won > [!IMPORTANT] > You must have Windows 10, version 1803 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. 1. Expand the tree to **Windows components** > **Windows Security** > **Device security**. 1. Open the **Hide the Device security area** setting and set it to **Enabled**. Select **OK**. @@ -36,7 +36,7 @@ If you don't want users to be able to select the **Clear TPM** button in **Windo > [!IMPORTANT] > You must have Windows 10, version 1809 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management computer, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management computer, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. 1. Expand the tree to **Windows components** > **Windows Security** > **Device security**. 1. Open the **Disable the Clear TPM button** setting and set it to **Enabled**. Select **OK**. @@ -46,7 +46,7 @@ If you don't want users to be able to select the **Clear TPM** button in **Windo If you don't want users to see the recommendation to update TPM firmware, you can disable it. -1. On your Group Policy management computer, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management computer, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and then select **Administrative templates**. 1. Expand the tree to **Windows components** > **Windows Security** > **Device security**. 1. Open the **Hide the TPM Firmware Update recommendation** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md index 2304702eff..9c92b794d3 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-family-options.md @@ -11,7 +11,7 @@ The **Family options** section contains links to settings and further informatio Home users can learn more at the [Help protection your family online in Windows Security article at support.microsoft.com](https://support.microsoft.com/help/4013209/windows-10-protect-your-family-online-in-windows-defender) -This section can be hidden from users of the machine. This option can be useful if you don't want employees in your organization to see or have access to this section. +This section can be hidden from users of the machine. This option can be useful if you don't want users in your organization to see or have access to this section. ## Hide the Family options section @@ -22,7 +22,7 @@ This section can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Family options**. 1. Open the **Hide the Family options area** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md index 7d4b3f13d0..e6e8967d86 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-firewall-network-protection.md @@ -7,9 +7,9 @@ ms.topic: how-to # Firewall and network protection -The **Firewall & network protection** section contains information about the firewalls and network connections used by the machine, including the status of Windows Defender Firewall and any other non-Microsoft firewalls. IT administrators and IT pros can get configuration guidance from the [Windows Defender Firewall with Advanced Security documentation library](../../network-security/windows-firewall/index.md). +The **Firewall & network protection** section contains information about the firewalls and network connections used by the machine, including the status of Windows Firewall and any other non-Microsoft firewalls. IT administrators and IT pros can get configuration guidance from the [Windows Firewall with Advanced Security documentation library](../../network-security/windows-firewall/index.md). -This section can be hidden from users of the machine. This information is useful if you don't want employees in your organization to see or have access to user-configured options for the features shown in the section. +This section can be hidden from users of the machine. This information is useful if you don't want users in your organization to see or have access to user-configured options for the features shown in the section. ## Hide the Firewall & network protection section @@ -20,7 +20,7 @@ This section can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the Group Policy Management Console, right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the Group Policy Management Console. Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Firewall and network protection**. 1. Open the **Hide the Firewall and network protection area** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md index 623cee353d..86e41f335e 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-hide-notifications.md @@ -9,18 +9,18 @@ ms.topic: how-to **Windows Security** is used by many Windows security features to provide notifications about the health and security of the machine. These include notifications about firewalls, antivirus products, Windows Defender SmartScreen, and others. -In some cases, it may not be appropriate to show these notifications, for example, if you want to hide regular status updates, or if you want to hide all notifications to the employees in your organization. +In some cases, it may not be appropriate to show these notifications, for example, if you want to hide regular status updates, or if you want to hide all notifications to the users in your organization. There are two levels to hiding notifications: -1. Hide non-critical notifications, such as regular updates about the number of scans Microsoft Defender Antivirus ran in the past week -2. Hide all notifications +1. Hide noncritical notifications, such as regular updates about the number of scans Microsoft Defender Antivirus ran in the past week +1. Hide all notifications If you set **Hide all notifications** to **Enabled**, changing the **Hide non-critical notifications** setting has no effect. You can only use Group Policy to change these settings. -## Use Group Policy to hide non-critical notifications +## Use Group Policy to hide noncritical notifications You can hide notifications that describe regular events related to the health and security of the machine. These notifications are the ones that don't require an action from the machine's user. It can be useful to hide these notifications if you find they're too numerous or you have other status reporting on a larger scale (such as Windows Update for Business reports or Microsoft Configuration Manager reporting). @@ -30,7 +30,7 @@ These notifications can be hidden only by using Group Policy. > You must have Windows 10, version 1903 or higher. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. 1. Download the latest [Administrative Templates (.admx) for Windows 10, v2004](https://www.microsoft.com/download/101445). -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Notifications**. For Windows 10 version 1803 and below, the path would be **Windows components > Windows Defender Security Center > Notifications** 1. Open the **Hide non-critical notifications** setting and set it to **Enabled**. Select **OK**. @@ -45,7 +45,7 @@ These notifications can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1903 or higher. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Notifications**. For Windows 10 version 1803 and below, the path would be **Windows components > Windows Defender Security Center > Notifications**. @@ -90,14 +90,14 @@ These notifications can be hidden only by using Group Policy. | OS support ended, device at risk | Support for your version of Windows has ended. Microsoft Defender Antivirus is no longer supported, and your device might be at risk. | SUPPORT_ENDED _and_ SUPPORT_ENDED_NO_DEFENDER | Yes |Virus & threat protection notification| | Summary notification, items found | Microsoft Defender Antivirus successfully took action on _n_ threats since your last summary. Your device was scanned _n_ times. | RECAP_FOUND_THREATS_SCANNED | No |Virus & threat protection notification| | Summary notification, items found, no scan count | Microsoft Defender Antivirus successfully took action on _n_ threats since your last summary. | RECAP_FOUND_THREATS | No |Virus & threat protection notification| -| Summary notification, **no** items found, scans performed | Microsoft Defender Antivirus didn't find any threats since your last summary. Your device was scanned _n_ times. | RECAP_NO THREATS_SCANNED | No |Virus & threat protection notification| +| Summary notification, **no** items found, scans performed | Microsoft Defender Antivirus didn't find any threats since your last summary. Your device was scanned _n_ times. | RECAP_NO THREATS_SCANNED | No |Virus & threat protection notification| | Summary notification, **no** items found, no scans | Microsoft Defender Antivirus didn't find any threats since your last summary. | RECAP_NO_THREATS | No |Virus & threat protection notification| | Scan finished, manual, threats found | Microsoft Defender Antivirus scanned your device at _timestamp_ on _date_, and took action against threats. | RECENT_SCAN_FOUND_THREATS | No |Virus & threat protection notification| -| Scan finished, manual, **no** threats found | Microsoft Defender Antivirus scanned your device at _timestamp_ on _date_. No threats were found. | RECENT_SCAN_NO_THREATS | No |Virus & threat protection notification| +| Scan finished, manual, **no** threats found | Microsoft Defender Antivirus scanned your device at _timestamp_ on _date_. No threats were found. | RECENT_SCAN_NO_THREATS | No |Virus & threat protection notification| | Threat found | Microsoft Defender Antivirus found threats. Get details. | CRITICAL | No |Virus & threat protection notification| -| LPS on notification | Microsoft Defender Antivirus is periodically scanning your device. You're also using another antivirus program for active protection. | PERIODIC_SCANNING_ON | No |Virus & threat protection notification| -| Long running BaFS | Your IT administrator requires a security scan of this item. The scan could take up to _n_ seconds. | BAFS | No |Firewall and network protection notification| -| Long running BaFS customized | _Company_ requires a security scan of this item. The scan could take up to _n_ seconds. | BAFS_DETECTED_CUSTOM (body) | No |Firewall and network protection notification| +| LPS on notification | Microsoft Defender Antivirus is periodically scanning your device. You're also using another antivirus program for active protection. | PERIODIC_SCANNING_ON | No |Virus & threat protection notification| +| Long running BaFS | Your IT administrator requires a security scan of this item. The scan could take up to _n_ seconds. | BAFS | No |Firewall and network protection notification| +| Long running BaFS customized | _Company_ requires a security scan of this item. The scan could take up to _n_ seconds. | BAFS_DETECTED_CUSTOM (body) | No |Firewall and network protection notification| | Sense detection | This application was removed because it was blocked by your IT security settings | WDAV_SENSE_DETECTED | No |Firewall and network protection notification| | Sense detection customized | This application was removed because it was blocked by your IT security settings | WDAV_SENSE_DETECTED_CUSTOM (body) | No |Firewall and network protection notification| | Ransomware specific detection | Microsoft Defender Antivirus has detected threats, which may include ransomware. | WDAV_RANSOMWARE_DETECTED | No |Virus & threat protection notification| diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md index 6014c9acfd..0bba1cf21b 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/wdsc-virus-threat-protection.md @@ -1,13 +1,13 @@ --- title: Virus and threat protection in Windows Security -description: Use the Virus & threat protection section to see and configure Microsoft Defender Antivirus, Controlled folder access, and 3rd-party AV products. +description: Use the Virus & threat protection section to see and configure Microsoft Defender Antivirus, Controlled folder access, and 3rd-party antivirus products. ms.date: 06/27/2024 ms.topic: how-to --- # Virus and threat protection -The **Virus & threat protection** section contains information and settings for antivirus protection from Microsoft Defender Antivirus and third-party AV products. These settings include Controlled folder access settings to prevent unknown apps from changing files in protected folders, plus Microsoft OneDrive configuration to help you recover from a ransomware attack. This area also notifies users and provides recovery instructions if there's a ransomware attack. +The **Virus & threat protection** section contains information and settings for antivirus protection from Microsoft Defender Antivirus and third-party antivirus products. These settings include Controlled folder access settings to prevent unknown apps from changing files in protected folders, plus Microsoft OneDrive configuration to help you recover from a ransomware attack. This area also notifies users and provides recovery instructions if there's a ransomware attack. IT administrators and IT pros can get more configuration information from these articles: @@ -18,7 +18,7 @@ IT administrators and IT pros can get more configuration information from these - [Microsoft Defender for Office 365](/microsoft-365/security/office-365-security/defender-for-office-365) - [Ransomware detection and recovering your files](https://support.office.com/article/ransomware-detection-and-recovering-your-files-0d90ec50-6bfd-40f4-acc7-b8c12c73637f?ui=en-US&rs=en-US&ad=US) -You can hide the **Virus & threat protection** section or the **Ransomware protection** area from users of the machine. This option can be useful if you don't want employees in your organization to see or have access to user-configured options for these features. +You can hide the **Virus & threat protection** section or the **Ransomware protection** area from users of the machine. This option can be useful if you don't want users in your organization to see or have access to user-configured options for these features. ## Hide the Virus & threat protection section @@ -29,7 +29,7 @@ This section can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object (GPO) you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Virus and threat protection**. 1. Open the **Hide the Virus and threat protection area** setting and set it to **Enabled**. Select **OK**. @@ -49,7 +49,7 @@ This area can be hidden only by using Group Policy. > [!IMPORTANT] > You must have Windows 10, version 1709 or later. The ADMX/ADML template files for earlier versions of Windows do not include these Group Policy settings. -1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)), right-click the Group Policy Object you want to configure and select **Edit**. +1. On your Group Policy management machine, open the [Group Policy Management Console](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731212(v=ws.11)). Right-click the Group Policy Object you want to configure and select **Edit**. 1. In **Group Policy Management Editor**, go to **Computer configuration** and select **Administrative templates**. 1. Expand the tree to **Windows components > Windows Security > Virus and threat protection**. 1. Open the **Hide the Ransomware data recovery area** setting and set it to **Enabled**. Select **OK**. diff --git a/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md b/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md index 6b723cef2e..2a65943ed8 100644 --- a/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md +++ b/windows/security/operating-system-security/system-security/windows-defender-security-center/windows-defender-security-center.md @@ -7,7 +7,7 @@ ms.topic: conceptual # Windows Security -This topic describes **Windows Security** settings, and provides information on configuring certain features, including: +This article describes **Windows Security** settings, and provides information on configuring certain features, including: - [Showing and customizing contact information](wdsc-customize-contact-information.md) - [Hiding notifications](wdsc-hide-notifications.md) @@ -27,7 +27,7 @@ For more information about each section, options for configuring the sections, a - [Virus & threat protection](wdsc-virus-threat-protection.md), which has information and access to antivirus ransomware protection settings and notifications, including Controlled folder access, and sign-in to Microsoft OneDrive. - [Account protection](wdsc-account-protection.md), which has information and access to sign-in and account protection settings. -- [Firewall & network protection](wdsc-firewall-network-protection.md), which has information and access to firewall settings, including Windows Defender Firewall. +- [Firewall & network protection](wdsc-firewall-network-protection.md), which has information and access to firewall settings, including Windows Firewall. - [App & browser control](wdsc-app-browser-control.md), covering Windows Defender SmartScreen settings and Exploit protection mitigations. - [Device security](wdsc-device-security.md), which provides access to built-in device security settings. - [Device performance & health](wdsc-device-performance-health.md), which has information about drivers, storage space, and general Windows Update issues. @@ -84,4 +84,4 @@ If you disable any of the individual features, it prevents that feature from rep > [!IMPORTANT] > If you individually disable any of the services, it won't disable the other services or **Windows Security** itself. -For example, [using a third-party antivirus disables Microsoft Defender Antivirus](/microsoft-365/security/defender-endpoint/microsoft-defender-antivirus-compatibility). However, **Windows Security** still runs, shows its icon in the taskbar, and displays information about the other features, such as Windows Defender SmartScreen and Windows Defender Firewall. +For example, [using a third-party antivirus disables Microsoft Defender Antivirus](/microsoft-365/security/defender-endpoint/microsoft-defender-antivirus-compatibility). However, **Windows Security** still runs, shows its icon in the taskbar, and displays information about the other features, such as Windows Defender SmartScreen and Windows Firewall. From 4f1c020710a726a13b0af0663a3386fc6b81569b Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Thu, 27 Jun 2024 16:16:12 -0600 Subject: [PATCH 155/354] Add new layout for DO configuration considerations --- .../do/delivery-optimization-endpoints.md | 2 +- .../images/do-setup-allow-communication.png | Bin 0 -> 45549 bytes .../do/images/do-setup-connected-cache.png | Bin 0 -> 17078 bytes .../do/images/do-setup-device-counts.png | Bin 0 -> 38723 bytes .../deployment/do/images/do-setup-full.png | Bin 0 -> 133468 bytes .../images/do-setup-improve-efficiencies.png | Bin 0 -> 13944 bytes .../do/images/do-setup-network-topology.png | Bin 0 -> 64370 bytes .../do/images/do-setup-presence.png | Bin 0 -> 29520 bytes .../do/images/do-setup-system-resources.png | Bin 0 -> 30121 bytes .../waas-delivery-optimization-configure.md | 237 ++++++++++++++++++ 10 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 windows/deployment/do/images/do-setup-allow-communication.png create mode 100644 windows/deployment/do/images/do-setup-connected-cache.png create mode 100644 windows/deployment/do/images/do-setup-device-counts.png create mode 100644 windows/deployment/do/images/do-setup-full.png create mode 100644 windows/deployment/do/images/do-setup-improve-efficiencies.png create mode 100644 windows/deployment/do/images/do-setup-network-topology.png create mode 100644 windows/deployment/do/images/do-setup-presence.png create mode 100644 windows/deployment/do/images/do-setup-system-resources.png create mode 100644 windows/deployment/do/waas-delivery-optimization-configure.md diff --git a/windows/deployment/do/delivery-optimization-endpoints.md b/windows/deployment/do/delivery-optimization-endpoints.md index 782b1650f6..aa1c2a6abf 100644 --- a/windows/deployment/do/delivery-optimization-endpoints.md +++ b/windows/deployment/do/delivery-optimization-endpoints.md @@ -31,7 +31,7 @@ Use the table below to reference any particular content types or services endpoi | *.delivery.mp.microsoft.com | HTTP / 80 | Edge Browser | [Complete list](/deployedge/microsoft-edge-security-endpoints) of endpoints for Edge Browser. | Both | | *.officecdn.microsoft.com.edgesuite.net, *.officecdn.microsoft.com, *.cdn.office.net | HTTP / 80 | Office CDN updates | [Complete list](/office365/enterprise/office-365-endpoints) of endpoints for Office CDN updates. | Both | | *.manage.microsoft.com, *.swda01.manage.microsoft.com, *.swda02.manage.microsoft.com, *.swdb01.manage.microsoft.com, *.swdb02.manage.microsoft.com, *.swdc01.manage.microsoft.com, *.swdc02.manage.microsoft.com, *.swdd01.manage.microsoft.com, *.swdd02.manage.microsoft.com, *.swda01-mscdn.manage.microsoft.com, *.swda02-mscdn.manage.microsoft.com, *.swdb01-mscdn.manage.microsoft.com, *.swdb02-mscdn.manage.microsoft.com, *.swdc01-mscdn.manage.microsoft.com, *.swdc02-mscdn.manage.microsoft.com, *.swdd01-mscdn.manage.microsoft.com, *.swdd02-mscdn.manage.microsoft.com | HTTP / 80
    HTTPs / 443 | Intune Win32 Apps | [Complete list](/mem/intune/fundamentals/intune-endpoints) of endpoints for Intune Win32 Apps updates. | Both | -| *.statics.teams.cdn.office.net | HTTP / 80
    HTTPs / 443 | Teams | | Both | +| *.statics.teams.cdn.office.net | HTTP / 80
    HTTPs / 443 | Teams | Future support is planned for peering and Connected Cache | TBD | | *.assets1.xboxlive.com, *.assets2.xboxlive.com, *.dlassets.xboxlive.com, *.dlassets2.xboxlive.com, *.d1.xboxlive.com, *.d2.xboxlive.com, *.assets.xbox.com, *.xbl-dlassets-origin.xboxlive.com, *.assets-origin.xboxlive.com, *.xvcb1.xboxlive.com, *.xvcb2.xboxlive.com, *.xvcf1.xboxlive.com, *.xvcf2.xboxlive.com | HTTP / 80 | Xbox | | Both | | *.tlu.dl.adu.microsoft.com, *.nlu.dl.adu.microsoft.com, *.dcsfe.prod.adu.microsoft.com | HTTP / 80 | Device Update | [Complete list](/azure/iot-hub-device-update/) of endpoints for Device Update updates. | Both | | *.do.dsp.mp.microsoft.com | HTTP / 80
    HTTPs / 443 | Microsoft Connected Cache -> Delivery Optimization Services communication | [Complete list](../do/waas-delivery-optimization-faq.yml) of endpoints for Delivery Optimization only. | Connected Cache Managed in Azure | diff --git a/windows/deployment/do/images/do-setup-allow-communication.png b/windows/deployment/do/images/do-setup-allow-communication.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9a61ec798e441e6190a4ef80300bf89493faad GIT binary patch literal 45549 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�Ai>XYl@Pm>y1UUbal5D)uCrbSjUH;ykaAWYvF zip8I;6h1Ss@g>`rQB6`9eRm9)!x4lyA_=j1 zrj=nDipLSne&KePkxzHhS*1pNx78qgS@ZrVdLY#{6lpLf%|wIS`G_#-kNP9P;O1+3 z%;7y4zsWE4l<a*;DlaWTU) zVoBUBjDN$tMR0>%T#$hCG}>t)jgE>Neit;Ea4yA}9$R}i=jHvhuOF0zj4(i^Z=eVt z7#MRSu!^M7PL`RvK-nRkIAQ%uCdiHYiE@)S)HHF;b z;`)=6^E;BQwa^vqxtT$!@=L|&HA}Ul`(4rU-4N&JQNS^K(9niQMG#K-56EG{F7^ zECnc297K8QpBFV);3mVN9AGY*ri46%>603EK4V)0qKpPrL1bjlKr;@)4)Vl;P7!?O z0D=YrIl<16XKQ-UeF)?T#ZY!iD+ydDu~vorhxS{^X8vcv0P1x~yAJ69zWR^C-#~Pw zf<*@e68r&7i9!3Owe<8bwGKsk9f5RS+BfN`PQ>5Xha~&}E>#BaZcwGz7z5<=L8Cet z)_=G9MMnMKLcJg`{?_}>|L@>K_-qN>f9=siTIPW@Ch!5oI|KQzN)rmzN(B4F^&rZ| z2d+4QWt)OgD`O7+l7#hT(#mumr*!Eyo#Kol@^HfJejPppf;RG3lh|Qze(>-EUs0kM zc*ncm!e%gwVh#A+i@zYJRKKjThC=Mgiyi_IQ0}V=}ZetG8&abvd*0>B6J*IAZhx z2$8Rn&SEm`d3B>=u>XHD=8{o$!E|5$!6<p7{J9M7I&@ literal 0 HcmV?d00001 diff --git a/windows/deployment/do/images/do-setup-connected-cache.png b/windows/deployment/do/images/do-setup-connected-cache.png new file mode 100644 index 0000000000000000000000000000000000000000..0be545ead164efa5d39c846b46a2a366f8f05566 GIT binary patch literal 17078 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 XDeb+fA|5OHmy^d&AItge;!(+35U4VNhV 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

    FToXuttYr@K@UcKNk?Cm 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�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

    }Oy=Drr;E>h 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 literal 0 HcmV?d00001 diff --git a/windows/deployment/do/images/do-setup-improve-efficiencies.png b/windows/deployment/do/images/do-setup-improve-efficiencies.png new file mode 100644 index 0000000000000000000000000000000000000000..cacd46e6a2e7b7006d911a0ad80f760f72092b51 GIT binary patch literal 13944 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≀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
  1. **Hardware-level security** - Credential Guard uses hardware platform security features (such as Secure Boot and virtualization) to help protect derived domain credentials and other secrets.
  2. **Virtualization-based security** - Windows services that access derived domain credentials and other secrets run in a virtualized, protected environment that is isolated.
  3. **Improved protection against persistent threats** - Credential Guard works with other technologies (for example, Device Guard) to help provide further protection against attacks, no matter how persistent.
  4. **Improved manageability** - Credential Guard can be managed through Group Policy, Windows Management Instrumentation (WMI), or Windows PowerShell.

    For more information, see [Protect derived domain credentials with Credential Guard](/windows/security/identity-protection/credential-guard/credential-guard).

    *Credential Guard requires
    • UEFI 2.3.1 or greater with Trusted Boot
    • Virtualization Extensions such as Intel VT-x, AMD-V, and SLAT must be enabled
    • x64 version of Windows
    • IOMMU, such as Intel VT-d, AMD-Vi
    • BIOS Lockdown
    • TPM 2.0 recommended for device health attestation (uses software if TPM 2.0 not present)*
    | |Device Guard|This feature is a combination of hardware and software security features that allows only trusted applications to run on a device. Even if an attacker manages to get control of the Windows kernel, they're much less likely to run executable code. Device Guard can use virtualization-based security (VBS) in Windows Enterprise edition to isolate the Code Integrity service from the Windows kernel itself. With VBS, even if malware gains access to the kernel, the effects can be severely limited, because the hypervisor can prevent the malware from executing code.

    Device Guard protects in the following ways:
  5. Helps protect against malware
  6. Helps protect the Windows system core from vulnerability and zero-day exploits
  7. Allows only trusted apps to run

    For more information, see [Introduction to Device Guard](/windows/security/application-security/application-control/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control).| |AppLocker management|This feature helps IT pros determine which applications and files users can run on a device. The applications and files that can be managed include executable files, scripts, Windows Installer files, dynamic-link libraries (DLLs), packaged apps, and packaged app installers.

    For more information, see [AppLocker](/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-overview).| -|Application Virtualization (App-V)|This feature makes applications available to end users without installing the applications directly on users' devices. App-V transforms applications into centrally managed services that are never installed and don't conflict with other applications. This feature also helps ensure that applications are kept current with the latest security updates.

    For more information, see [Getting started with App-V for Windows client](/windows/application-management/app-v/appv-getting-started).| +|Application Virtualization (App-V)|This feature makes applications available to end users without installing the applications directly on users' devices. App-V transforms applications into centrally managed services that are never installed and don't conflict with other applications. This feature also helps ensure that applications are kept current with the latest security updates.

    For more information, see [Getting started with App-V for Windows client](/microsoft-desktop-optimization-pack/app-v/appv-for-windows).| |User Experience Virtualization (UE-V)|With this feature, user-customized Windows and application settings can be captured and stored on a centrally managed network file share.

    When users sign in, their personalized settings are applied to their work session, regardless of which device or virtual desktop infrastructure (VDI) sessions they sign into.

    UE-V provides the following features:
  8. Specify which application and Windows settings synchronize across user devices
  9. Deliver the settings anytime and anywhere users work throughout the enterprise
  10. Create custom templates for line-of-business applications
  11. Recover settings after hardware replacement or upgrade, or after reimaging a virtual machine to its initial state

    For more information, see [User Experience Virtualization (UE-V) overview](/microsoft-desktop-optimization-pack/ue-v/uev-for-windows).| |Managed User Experience|This feature helps customize and lock down a Windows device's user interface to restrict it to a specific task. For example, a device can be configured for a controlled scenario such as a kiosk or classroom device. The user experience would be automatically reset once a user signs off. Access to services such as the Windows Store can also be restricted. For Windows 10, Start layout options can also be managed, such as:
  12. Removing and preventing access to the Shut Down, Restart, Sleep, and Hibernate commands
  13. Removing Log Off (the User tile) from the Start menu
  14. Removing frequent programs from the Start menu
  15. Removing the All Programs list from the Start menu
  16. Preventing users from customizing their Start screen
  17. Forcing Start menu to be either full-screen size or menu size
  18. Preventing changes to Taskbar and Start menu settings| @@ -146,9 +146,9 @@ App-V requires an App-V server infrastructure to support App-V clients. The prim For more information about implementing the App-V server, App-V sequencer, and App-V client, see the following resources: -- [Getting started with App-V for Windows client](/windows/application-management/app-v/appv-getting-started) -- [Deploying the App-V server](/windows/application-management/app-v/appv-deploying-the-appv-server) -- [Deploying the App-V Sequencer and Configuring the Client](/windows/application-management/app-v/appv-deploying-the-appv-sequencer-and-client) +- [Getting started with App-V for Windows client](/microsoft-desktop-optimization-pack/app-v/appv-getting-started) +- [Deploying the App-V server](/microsoft-desktop-optimization-pack/app-v/appv-deploying-the-appv-server) +- [Deploying the App-V Sequencer and Configuring the Client](/microsoft-desktop-optimization-pack/app-v/appv-deploying-the-appv-sequencer-and-client) ### UE-V diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2016.md b/windows/whats-new/ltsc/whats-new-windows-10-2016.md index eb925170d2..22fdf02fce 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2016.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2016.md @@ -39,7 +39,7 @@ Windows ICD now includes simplified workflows for creating provisioning packages >[!IMPORTANT] >Upgrade Readiness will not allow you to assess an upgrade to an LTSC release (LTSC builds are not available as target versions). However, you can enroll devices running LTSC to plan for an upgrade to a General Availability Channel release. -Microsoft developed Upgrade Readiness in response to demand from enterprise customers looking for more direction and details about upgrading to Windows 10. Upgrade Readiness was built taking into account multiple channels of customer feedback, testing, and Microsoft's experience upgrading millions of devices to Windows 10. +Microsoft developed Upgrade Readiness in response to demand from enterprise customers looking for more direction and details about upgrading to Windows 10. Upgrade Readiness was built taking into account multiple channels of customer feedback, testing, and Microsoft's experience upgrading millions of devices to Windows 10. With Windows diagnostic data enabled, Upgrade Readiness collects system, application, and driver data for analysis. We then identify compatibility issues that can block an upgrade and suggest fixes when they're known to Microsoft. @@ -71,7 +71,7 @@ Other changes for Windows Hello in Windows 10 Enterprise LTSC 2016: - Personal (Microsoft account) and corporate (Active Directory or Entra ID) accounts use a single container for keys. - Group Policy settings for managing Windows Hello for Business are now available for both **User Configuration** and **Computer Configuration**. -- Beginning in this version of Windows 10, Windows Hello as a convenience PIN is disabled by default on all domain-joined computers. To enable a convenience PIN, enable the Group Policy setting **Turn on convenience PIN sign-in**. +- Beginning in this version of Windows 10, Windows Hello as a convenience PIN is disabled by default on all domain-joined computers. To enable a convenience PIN, enable the Group Policy setting **Turn on convenience PIN sign-in**. [Learn more about Windows Hello for Business.](/windows/security/identity-protection/hello-for-business/deploy/requirements) @@ -156,17 +156,17 @@ This version of Windows 10, introduces shared PC mode, which optimizes Windows 1 Application Virtualization (App-V) enables organizations to deliver Win32 applications to users as virtual applications. Virtual applications are installed on centrally managed servers and delivered to users as a service - in real time and on as as-needed basis. Users launch virtual applications from familiar access points, including the Microsoft Store, and interact with them as if they were installed locally. -With the release of this version of Windows 10, App-V is included with the Windows 10 for Enterprise edition. If you're new to Windows 10 and App-V or if you're upgrading from a previous version of App-V, you'll need to download, activate, and install server- and client-side components to start delivering virtual applications to users. +With the release of this version of Windows 10, App-V is included with the Windows 10 for Enterprise edition. If you're new to Windows 10 and App-V or if you're upgrading from a previous version of App-V, you'll need to download, activate, and install server- and client-side components to start delivering virtual applications to users. -[Learn how to deliver virtual applications with App-V.](/windows/application-management/app-v/appv-getting-started) +[Learn how to deliver virtual applications with App-V.](/microsoft-desktop-optimization-pack/app-v/appv-getting-started) ### User Experience Virtualization (UE-V) for Windows 10 -Many users customize their settings for Windows and for specific applications. Customizable Windows settings include Microsoft Store appearance, language, background picture, font size, and accent colors. Customizable application settings include language, appearance, behavior, and user interface options. +Many users customize their settings for Windows and for specific applications. Customizable Windows settings include Microsoft Store appearance, language, background picture, font size, and accent colors. Customizable application settings include language, appearance, behavior, and user interface options. With User Experience Virtualization (UE-V), you can capture user-customized Windows and application settings and store them on a centrally managed network file share. When users sign in, their personalized settings are applied to their work session, regardless of which device or virtual desktop infrastructure (VDI) sessions they sign in to. -With the release of this version of Windows 10, UE-V is included with the Windows 10 for Enterprise edition. If you're new to Windows 10 and UE-V or upgrading from a previous version of UE-V, you'll need to download, activate, and install server- and client-side components to start synchronizing user-customized settings across devices. +With the release of this version of Windows 10, UE-V is included with the Windows 10 for Enterprise edition. If you're new to Windows 10 and UE-V or upgrading from a previous version of UE-V, you'll need to download, activate, and install server- and client-side components to start synchronizing user-customized settings across devices. [Learn how to synchronize user-customized settings with UE-V.](/microsoft-desktop-optimization-pack/ue-v/uev-for-windows) diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2019.md b/windows/whats-new/ltsc/whats-new-windows-10-2019.md index 0124fa0995..78cd95c0c9 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2019.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2019.md @@ -484,10 +484,10 @@ Previous versions of the Microsoft Application Virtualization Sequencer (App-V S For more information, see the following articles: -- [Automatically provision your sequencing environment using Microsoft Application Virtualization Sequencer (App-V Sequencer)](/windows/application-management/app-v/appv-auto-provision-a-vm) -- [Automatically sequence multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer)](/windows/application-management/app-v/appv-auto-batch-sequencing) -- [Automatically update multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer)](/windows/application-management/app-v/appv-auto-batch-updating) -- [Automatically cleanup unpublished packages on the App-V client](/windows/application-management/app-v/appv-auto-clean-unpublished-packages) +- [Automatically provision your sequencing environment using Microsoft Application Virtualization Sequencer (App-V Sequencer)](/microsoft-desktop-optimization-pack/app-v/appv-auto-provision-a-vm) +- [Automatically sequence multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer)](/microsoft-desktop-optimization-pack/app-v/appv-auto-batch-sequencing) +- [Automatically update multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer)](/microsoft-desktop-optimization-pack/app-v/appv-auto-batch-updating) +- [Automatically cleanup unpublished packages on the App-V client](/microsoft-desktop-optimization-pack/app-v/appv-auto-clean-unpublished-packages) ### Windows diagnostic data From b541aa8cb5afc40f43b0dee22f49af85527c3a83 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 28 Jun 2024 13:49:23 -0700 Subject: [PATCH 163/354] remove app-v & us-v from docfx --- windows/application-management/docfx.json | 5 ----- windows/configuration/docfx.json | 20 +++----------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/windows/application-management/docfx.json b/windows/application-management/docfx.json index 128c0cfc00..4f5ec979b0 100644 --- a/windows/application-management/docfx.json +++ b/windows/application-management/docfx.json @@ -69,11 +69,6 @@ "Windows 10" ] }, - "fileMetadata": { - "feedback_system": { - "app-v/**/*.*": "None" - } - }, "template": [], "dest": "win-app-management", "markdownEngineName": "markdig" diff --git a/windows/configuration/docfx.json b/windows/configuration/docfx.json index 9cd7b554d8..65d0a53b09 100644 --- a/windows/configuration/docfx.json +++ b/windows/configuration/docfx.json @@ -55,9 +55,9 @@ "titleSuffix": "Configure Windows", "contributors_to_exclude": [ "dstrome2", - "rjagiewich", + "rjagiewich", "American-Dipper", - "claydetels19", + "claydetels19", "jborsecnik", "v-stchambers", "shdyas", @@ -72,9 +72,6 @@ ] }, "fileMetadata": { - "feedback_system": { - "ue-v/**/*.*": "None" - }, "author":{ "accessibility//**/*.md": "paolomatarazzo", "accessibility//**/*.yml": "paolomatarazzo", @@ -96,8 +93,6 @@ "taskbar//**/*.yml": "paolomatarazzo", "tips//**/*.md": "paolomatarazzo", "tips//**/*.yml": "paolomatarazzo", - "ue-v//**/*.md": "aczechowski", - "ue-v//**/*.yml": "aczechowski", "wcd//**/*.md": "vinaypamnani-msft", "wcd//**/*.yml": "vinaypamnani-msft" }, @@ -122,8 +117,6 @@ "taskbar//**/*.yml": "paoloma", "tips//**/*.md": "paoloma", "tips//**/*.yml": "paoloma", - "ue-v//**/*.md": "aaroncz", - "ue-v//**/*.yml": "aaroncz", "wcd//**/*.md": "vinpa", "wcd//**/*.yml": "vinpa" }, @@ -132,20 +125,13 @@ "start//**/*.md": "ericpapa" }, "ms.collection": { - "wcd//**/*.md": "must-keep", - "ue-v//**/*.md": [ - "must-keep", - "tier3" - ] + "wcd//**/*.md": "must-keep" }, "appliesto": { "*/**/*.md": [ "✅ Windows 11", "✅ Windows 10" ], - "ue-v//**/*.md": [ - "✅ Windows 10" - ], "wcd//**/*.md": "" } }, From c2b9c58923760cf830ea70cdc632f2190cc811f9 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 28 Jun 2024 13:51:06 -0700 Subject: [PATCH 164/354] remove uev --- windows/configuration/toc.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/configuration/toc.yml b/windows/configuration/toc.yml index 97c229350a..45b8217fab 100644 --- a/windows/configuration/toc.yml +++ b/windows/configuration/toc.yml @@ -21,5 +21,3 @@ items: href: provisioning-packages/toc.yml - name: Windows Configuration Designer href: wcd/toc.yml -- name: User Experience Virtualization (UE-V) - href: /microsoft-desktop-optimization-pack/ue-v/uev-for-windows \ No newline at end of file From 6aae12f6e92d081ee781e95984dc629835be2fa9 Mon Sep 17 00:00:00 2001 From: Sandeep Deo <38295759+SanDeo-MSFT@users.noreply.github.com> Date: Fri, 28 Jun 2024 15:23:03 -0700 Subject: [PATCH 165/354] Update recovery-process.md --- .../data-protection/bitlocker/recovery-process.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index ea2fd91338..88205440b9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -64,6 +64,9 @@ The following list can be used as a template for creating a recovery process for There are a few Microsoft Entra ID roles that allow a delegated administrator to read BitLocker recovery passwords from the devices in the tenant. While it's common for organizations to use the existing Microsoft Entra ID *[Cloud Device Administrator][ENTRA-2]* or *[Helpdesk Administrator][ENTRA-3]* built-in roles, you can also [create a custom role][ENTRA-5], delegating access to BitLocker keys using the `microsoft.directory/bitlockerKeys/key/read` permission. Roles can be delegated to access BitLocker recovery passwords for devices in specific Administrative Units. +> [!NOTE] +> When devices including [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to joined to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Administrative unit scoped administrators will lose access to BitLocker recovery keys after device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). + The [Microsoft Entra admin center][ENTRA] allows administrators to retrieve BitLocker recovery passwords. To learn more about the process, see [View or copy BitLocker keys][ENTRA-4]. Another option to access BitLocker recovery passwords is to use the Microsoft Graph API, which might be useful for integrated or scripted solutions. For more information about this option, see [Get bitlockerRecoveryKey][GRAPH-1]. In the following example, we use Microsoft Graph PowerShell cmdlet [`Get-MgInformationProtectionBitlockerRecoveryKey`][PS-1] to build a PowerShell function that retrieves recovery passwords from Microsoft Entra ID: From acaa6f221f362bb7b0074b4fee4b665e1a38dda9 Mon Sep 17 00:00:00 2001 From: Sandeep Deo <38295759+SanDeo-MSFT@users.noreply.github.com> Date: Fri, 28 Jun 2024 15:32:39 -0700 Subject: [PATCH 166/354] Update recovery-process.md --- .../data-protection/bitlocker/recovery-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index 88205440b9..aee50a307d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -65,7 +65,7 @@ The following list can be used as a template for creating a recovery process for There are a few Microsoft Entra ID roles that allow a delegated administrator to read BitLocker recovery passwords from the devices in the tenant. While it's common for organizations to use the existing Microsoft Entra ID *[Cloud Device Administrator][ENTRA-2]* or *[Helpdesk Administrator][ENTRA-3]* built-in roles, you can also [create a custom role][ENTRA-5], delegating access to BitLocker keys using the `microsoft.directory/bitlockerKeys/key/read` permission. Roles can be delegated to access BitLocker recovery passwords for devices in specific Administrative Units. > [!NOTE] -> When devices including [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to joined to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Administrative unit scoped administrators will lose access to BitLocker recovery keys after device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). +> When devices including [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to join to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Administrative unit scoped administrators will lose access to BitLocker recovery keys after device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). The [Microsoft Entra admin center][ENTRA] allows administrators to retrieve BitLocker recovery passwords. To learn more about the process, see [View or copy BitLocker keys][ENTRA-4]. Another option to access BitLocker recovery passwords is to use the Microsoft Graph API, which might be useful for integrated or scripted solutions. For more information about this option, see [Get bitlockerRecoveryKey][GRAPH-1]. From 38aff663c0799dd35cd48c291c016a900e609df5 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 22:35:39 -0600 Subject: [PATCH 167/354] Add numbered checklist, remove full setup image, add separate Troubleshoot page --- .../do/deliver-optimization-troubleshoot.md | 87 +++++++++++++++ ....md => delivery-optimization-configure.md} | 99 ++++-------------- .../deployment/do/images/do-setup-full.png | Bin 133468 -> 0 bytes 3 files changed, 106 insertions(+), 80 deletions(-) create mode 100644 windows/deployment/do/deliver-optimization-troubleshoot.md rename windows/deployment/do/{waas-delivery-optimization-configure.md => delivery-optimization-configure.md} (75%) delete mode 100644 windows/deployment/do/images/do-setup-full.png diff --git a/windows/deployment/do/deliver-optimization-troubleshoot.md b/windows/deployment/do/deliver-optimization-troubleshoot.md new file mode 100644 index 0000000000..b47e1eca95 --- /dev/null +++ b/windows/deployment/do/deliver-optimization-troubleshoot.md @@ -0,0 +1,87 @@ +--- +title: Troubleshoot Delivery Optimization +description: In this article, learn how to troubleshoot Delivery Optimization. +ms.service: windows-client +ms.subservice: itpro-updates +ms.topic: how-to +author: cmknox +ms.author: carmenf +ms.reviewer: mstewart +manager: aaroncz +ms.collection: + - tier3 + - essentials-get-started +ms.localizationpriority: medium +appliesto: +- ✅ Windows 11 +- ✅ Windows 10 +- ✅ Delivery Optimization +ms.date: 07/01/2024 +--- + +# Troubleshoot Delivery Optimization + +#### DO Troubleshooter + +[Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: + +* -HealthCheck: Provides an overall check of the device setup to ensure Delivery Optimization communication is possible on the device. +* -P2P: Provides output specific to P2P settings, efficiency, and errors. +* -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. + +### Testing Delivery Optimization + +[Learn more](delivery-optimization-test.md) for guidance on basic testing scenarios to see how Delivery Optimization works. + +### Common problems and solutions + +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 [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, download mode should be 1, 2, or 3. +3. If the download mode 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 **\*.prod.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 **[DODownloadMode](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 nonzero. +4. If the number of peers is zero and **[DODownloadMode](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 aren't reporting the same public IP address, configure **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[DOGroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**. + +> [!NOTE] +> Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of potential peers per file, including which peers are successfully connected and the total bytes sent or received from each peer. + +#### 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're on device with IP 192.168.8.12 and you're trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. When you 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 diff --git a/windows/deployment/do/waas-delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md similarity index 75% rename from windows/deployment/do/waas-delivery-optimization-configure.md rename to windows/deployment/do/delivery-optimization-configure.md index 9a93014d9a..3695c13b12 100644 --- a/windows/deployment/do/waas-delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -1,6 +1,6 @@ --- title: Configure Delivery Optimization for Windows -description: In this article, learn how to set up Delivery Optimization for use by Windows clients in your organization. +description: In this article, learn about the different configuration considerations to optimize Delivery Optimization in your environment. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -23,17 +23,15 @@ ms.date: 07/01/2024 ## Delivery Optimization set up considerations checklist -* Allow Delivery Optimization communication -* Find Delivery Optimization -* Network topology -* Device count -* System resources -* Improve efficiencies -* Connected Cache +1. Allow Delivery Optimization communication +1. Find Delivery Optimization +1. Network topology +1. Device count +1. System resources +1. Improve efficiencies +1. Connected Cache -:::image type="content" source="images/do-setup-full.png" alt-text="Screenshot of the various Delivery Optimization configurations that should be considered to maximize efficiency." lightbox="images/do-setup-full.png"::: - -## Allow DO communication +## 1. Allow DO communication :::image type="content" source="images/do-setup-allow-communication.png" alt-text="Screenshot of the considerations to allow Delivery Optimization communication." lightbox="images/do-setup-allow-communication.png"::: @@ -55,7 +53,7 @@ If you're using a cloud proxy, you should configure it to allow Delivery Optimiz Delivery Optimization requires the use of certain ports to deliver content. Make sure all the [required ports](waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) are open to make Delivery Optimization work seamlessly. -## DO presence +## 2. DO presence :::image type="content" source="images/do-setup-presence.png" alt-text="Screenshot of different product areas where you find Delivery Optimization." lightbox="images/do-setup-presence.png"::: @@ -70,7 +68,7 @@ Delivery Optimization is increasingly found throughout Microsoft products. Learn * [Microsoft Endpoint Configuration Manager (MECM)](https://learn.microsoft.com/mem/intune/configuration/delivery-optimization-windows) * [Autopilot](https://learn.microsoft.com/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. -## Network topology +## 3. Network topology :::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: @@ -107,7 +105,7 @@ There are two valid Download Modes that don't use the peer-to-peer functionality By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. Also related, there's a [DODisallowCacheServerDownloadsOnVPN*](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) policy to prevent downloads from a cache server while on a VPN connection. -## Device counts +## 4. Device counts :::image type="content" source="images/do-setup-device-counts.png" alt-text="Screenshot of Delivery Optimization device count considerations." lightbox="images/do-setup-device-counts.png"::: @@ -121,7 +119,7 @@ Content peering has a limited number of slots available at any given time. By de By default, peer-to-peer capabilities aren't enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [DOMinBatteryPercentageAllowedToUpload](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. -## System resources +## 5. System resources :::image type="content" source="images/do-setup-system-resources.png" alt-text="Screenshot of Delivery Optimization system resources considerations." lightbox="images/do-setup-system-resources.png"::: @@ -139,7 +137,7 @@ Control the minimum amount of RAM (inclusive) allowed to use peer caching, [DOMi In a lab situation, there's typically a set number of devices that are plugged in and have ample free disk space. By increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to 7 or more (up to 30 days), you can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. -## Improve efficiencies +## 6. Improve efficiencies :::image type="content" source="images/do-setup-improve-efficiencies.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiencies.png"::: @@ -153,7 +151,7 @@ Looking to improve efficiency? Some of the most powerful settings you can change > [!NOTE] > Not all content types aren't eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. -## Connected cache +## 7. Connected cache :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: @@ -165,73 +163,14 @@ Looking to improve efficiency? Some of the most powerful settings you can change * [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). * [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. -## Monitor Delivery Optimization and Troubleshooting +## Monitor Delivery Optimization Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you will want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. -### Troubleshooting +## Troubleshoot Delivery Optimization -#### DO Troubleshooter +There could be many different reasons why Delivery Optimization is not working in your environment. [Learn more](elivery-optimization-troubleshoot.md) about the DO Troubleshooter and common problems and solutions to help improve the experience of using Delivery Optimization. -[Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: - -* -HealthCheck: Provides an overall check of the device setup to ensure Delivery Optimization communication is possible on the device. -* -P2P: Provides output specific to P2P settings, efficiency, and errors. -* -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. - -### Testing Delivery Optimization +## Test Delivery Optimization [Learn more](delivery-optimization-test.md) for guidance on basic testing scenarios to see how Delivery Optimization works. - -### Common problems and solutions - -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 [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, download mode should be 1, 2, or 3. -3. If the download mode 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 **\*.prod.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 **[DODownloadMode](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 nonzero. -4. If the number of peers is zero and **[DODownloadMode](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 aren't reporting the same public IP address, configure **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[DOGroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**. - -> [!NOTE] -> Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of potential peers per file, including which peers are successfully connected and the total bytes sent or received from each peer. - -#### 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're on device with IP 192.168.8.12 and you're trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. When you 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 diff --git a/windows/deployment/do/images/do-setup-full.png b/windows/deployment/do/images/do-setup-full.png deleted file mode 100644 index 1cdbdaf0de455899fe20ed683aba1418c64ad742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133468 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

    FToXuttYr@K@UcKNk?Cm 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�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

    }Oy=Drr;E>h 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 From 926e67415c8cbb72c66348198fbf34c4c989bc16 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 22:40:41 -0600 Subject: [PATCH 168/354] fix file name --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 3695c13b12..4822341196 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -169,7 +169,7 @@ Whether you opt for the default Delivery Optimization configurations or tailor t ## Troubleshoot Delivery Optimization -There could be many different reasons why Delivery Optimization is not working in your environment. [Learn more](elivery-optimization-troubleshoot.md) about the DO Troubleshooter and common problems and solutions to help improve the experience of using Delivery Optimization. +There could be many different reasons why Delivery Optimization is not working in your environment. [Learn more](delivery-optimization-troubleshoot.md) about the DO Troubleshooter and common problems and solutions to help improve the experience of using Delivery Optimization. ## Test Delivery Optimization From 8990cdbccbfc7dd304bf0f2bddbff28e5bc1986e Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 22:57:04 -0600 Subject: [PATCH 169/354] Fix links --- .../deployment/do/deliver-optimization-troubleshoot.md | 6 +++--- windows/deployment/do/delivery-optimization-configure.md | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/windows/deployment/do/deliver-optimization-troubleshoot.md b/windows/deployment/do/deliver-optimization-troubleshoot.md index b47e1eca95..3c91b43d83 100644 --- a/windows/deployment/do/deliver-optimization-troubleshoot.md +++ b/windows/deployment/do/deliver-optimization-troubleshoot.md @@ -25,9 +25,9 @@ ms.date: 07/01/2024 [Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: -* -HealthCheck: Provides an overall check of the device setup to ensure Delivery Optimization communication is possible on the device. -* -P2P: Provides output specific to P2P settings, efficiency, and errors. -* -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. +- -HealthCheck: Provides an overall check of the device setup to ensure Delivery Optimization communication is possible on the device. +- -P2P: Provides output specific to P2P settings, efficiency, and errors. +- -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. ### Testing Delivery Optimization diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 4822341196..21efa3ba70 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -64,9 +64,11 @@ Use Group Policy or MDM Policies to locate Delivery Optimization settings. Delivery Optimization is increasingly found throughout Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. -* [Microsoft Endpoint Manager (MEM)](https://learn.microsoft.com/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) -* [Microsoft Endpoint Configuration Manager (MECM)](https://learn.microsoft.com/mem/intune/configuration/delivery-optimization-windows) -* [Autopilot](https://learn.microsoft.com/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. +* [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) +* [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) +* [Autopilot](/windows-deployment-scenarios.md#modern-deployment-methods)/[Autopatch](/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. + + ## 3. Network topology From 0bceeffa3143bf5f8f69d88a444a62ee768980e5 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 23:06:34 -0600 Subject: [PATCH 170/354] Fix more links --- windows/deployment/do/delivery-optimization-configure.md | 2 +- ...on-troubleshoot.md => delivery-optimization-troubleshoot.md} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename windows/deployment/do/{deliver-optimization-troubleshoot.md => delivery-optimization-troubleshoot.md} (100%) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 21efa3ba70..8b06ab4d19 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -66,7 +66,7 @@ Delivery Optimization is increasingly found throughout Microsoft products. Learn * [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) * [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) -* [Autopilot](/windows-deployment-scenarios.md#modern-deployment-methods)/[Autopatch](/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. +* [Autopilot](../windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](../windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. diff --git a/windows/deployment/do/deliver-optimization-troubleshoot.md b/windows/deployment/do/delivery-optimization-troubleshoot.md similarity index 100% rename from windows/deployment/do/deliver-optimization-troubleshoot.md rename to windows/deployment/do/delivery-optimization-troubleshoot.md From b03de0333ef92dc6775799617fcffe153ed82d3e Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 23:12:37 -0600 Subject: [PATCH 171/354] Add file extension to remove warning. --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 8b06ab4d19..c071770b24 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -66,7 +66,7 @@ Delivery Optimization is increasingly found throughout Microsoft products. Learn * [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) * [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) -* [Autopilot](../windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](../windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. +* [Autopilot](../windows-deployment-scenarios.md#modern-deployment-methods)/[Autopatch](../windows-autopatch/overview/windows-autopatch-overview.md) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. From 7bbeebebd2211cb9578b050bfdeac5b2b2c4bda5 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 23:17:58 -0600 Subject: [PATCH 172/354] Remove testing duplication blurb --- windows/deployment/do/delivery-optimization-troubleshoot.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-troubleshoot.md b/windows/deployment/do/delivery-optimization-troubleshoot.md index 3c91b43d83..fa0bbb4b01 100644 --- a/windows/deployment/do/delivery-optimization-troubleshoot.md +++ b/windows/deployment/do/delivery-optimization-troubleshoot.md @@ -29,10 +29,6 @@ ms.date: 07/01/2024 - -P2P: Provides output specific to P2P settings, efficiency, and errors. - -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. -### Testing Delivery Optimization - -[Learn more](delivery-optimization-test.md) for guidance on basic testing scenarios to see how Delivery Optimization works. - ### Common problems and solutions This section summarizes common problems and some solutions to try. From c35af955e9651d4d1989def1cf0b2de06abf10c8 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 23:20:40 -0600 Subject: [PATCH 173/354] Syntax --- .../do/delivery-optimization-troubleshoot.md | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-troubleshoot.md b/windows/deployment/do/delivery-optimization-troubleshoot.md index fa0bbb4b01..1c9186808c 100644 --- a/windows/deployment/do/delivery-optimization-troubleshoot.md +++ b/windows/deployment/do/delivery-optimization-troubleshoot.md @@ -21,7 +21,7 @@ ms.date: 07/01/2024 # Troubleshoot Delivery Optimization -#### DO Troubleshooter +## DO Troubleshooter [Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: @@ -29,55 +29,55 @@ ms.date: 07/01/2024 - -P2P: Provides output specific to P2P settings, efficiency, and errors. - -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. -### Common problems and solutions +## Common problems and solutions 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 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. +- 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 +### 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 [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, download mode should be 1, 2, or 3. -3. If the download mode 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 **\*.prod.do.dsp.mp.microsoft.com**. +1. Run `Get-DeliveryOptimizationStatus` from an elevated PowerShell window and observe the [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, download mode should be 1, 2, or 3. +1. If the download mode 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 **\*.prod.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 **[DODownloadMode](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 nonzero. -4. If the number of peers is zero and **[DODownloadMode](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 aren't reporting the same public IP address, configure **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[DOGroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**. +1. Run `Get-DeliveryOptimizationStatus` from an elevated PowerShell window and ensure that **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** is 1 or 2 on both devices. +1. Run `Get-DeliveryOptimizationPerfSnap` from an elevated PowerShell window on the second device. The **NumberOfPeers** field should be nonzero. +1. If the number of peers is zero and **[DODownloadMode](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 aren't reporting the same public IP address, configure **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[DOGroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**. > [!NOTE] > Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of potential peers per file, including which peers are successfully connected and the total bytes sent or received from each peer. -#### Clients aren't able to connect to peers offered by the cloud service +### 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're on device with IP 192.168.8.12 and you're trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. When you see a connection error or a blinking cursor like this /_. The blinking cursor means success. +1. Run the test. For example, if you're on device with IP 192.168.8.12 and you're trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. When you 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 +### 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 +- 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 From 7959a30e81b5defc2b6500fd247545008b969893 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 23:35:09 -0600 Subject: [PATCH 174/354] Add links for index and TOC --- windows/deployment/do/TOC.yml | 8 ++++---- windows/deployment/do/index.yml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/do/TOC.yml b/windows/deployment/do/TOC.yml index f0d64329cb..ed877121e8 100644 --- a/windows/deployment/do/TOC.yml +++ b/windows/deployment/do/TOC.yml @@ -11,8 +11,8 @@ href: waas-delivery-optimization-faq.yml - name: Configure Delivery Optimization for Windows items: - - name: Set up Delivery Optimization for Windows - href: waas-delivery-optimization-setup.md + - name: Delivery Optimization configuration considerations + href: delivery-optimization-configure.md - name: Monitor Delivery Optimization for Windows href: waas-delivery-optimization-monitor.md - name: Configure Delivery Optimization settings using Microsoft Intune @@ -27,8 +27,8 @@ href: delivery-optimization-proxy.md - name: Testing Delivery Optimization href: delivery-optimization-test.md - - name: Delivery Optimization Troubleshooter - href: https://aka.ms/do-fix + - name: Troubleshoot Delivery Optimization + href: delivery-optimization-troubleshoot.md - name: Microsoft Connected Cache items: - name: What is Microsoft Connected Cache? diff --git a/windows/deployment/do/index.yml b/windows/deployment/do/index.yml index d4f3409ae7..96efd3ca0f 100644 --- a/windows/deployment/do/index.yml +++ b/windows/deployment/do/index.yml @@ -42,12 +42,12 @@ landingContent: linkLists: - linkListType: how-to-guide links: - - text: Delivery Optimization recommended settings - url: waas-delivery-optimization-setup.md#recommended-delivery-optimization-settings + - text: Delivery Optimization configuration considerations + url: delivery-optimization-configure.md - text: Monitor Delivery Optimization for Windows url: waas-delivery-optimization-monitor.md - text: Troubleshoot Delivery Optimization - url: waas-delivery-optimization-setup.md#troubleshooting + url: delivery-optimization-troubleshoot.md - text: Delivery Optimization Frequently Asked Questions url: ../do/waas-delivery-optimization-faq.yml - text: Submit feedback From 33b23d0a13e854be2c2bc45bc8ea97384790e26e Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 29 Jun 2024 23:44:15 -0600 Subject: [PATCH 175/354] More TOC updates --- windows/deployment/do/TOC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/TOC.yml b/windows/deployment/do/TOC.yml index ed877121e8..fe1b2a0cf3 100644 --- a/windows/deployment/do/TOC.yml +++ b/windows/deployment/do/TOC.yml @@ -15,6 +15,8 @@ href: delivery-optimization-configure.md - name: Monitor Delivery Optimization for Windows href: waas-delivery-optimization-monitor.md + - name: Troubleshoot Delivery Optimization + href: delivery-optimization-troubleshoot.md - name: Configure Delivery Optimization settings using Microsoft Intune href: /mem/intune/configuration/delivery-optimization-windows - name: Resources for Delivery Optimization @@ -27,8 +29,6 @@ href: delivery-optimization-proxy.md - name: Testing Delivery Optimization href: delivery-optimization-test.md - - name: Troubleshoot Delivery Optimization - href: delivery-optimization-troubleshoot.md - name: Microsoft Connected Cache items: - name: What is Microsoft Connected Cache? From 7730b540f7cfa963fe8fe04e449a906412ac1a2d Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Mon, 1 Jul 2024 09:46:22 -0700 Subject: [PATCH 176/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index cc8bcdaca8..486c52e3e7 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -557,7 +557,7 @@ Foreach ($IMAGE in $WINPE_IMAGES) { # Save setuphost.exe for later use. This will address possible binary mismatch with the version in the main OS \sources folder # This is only required starting with Windows 11 version 24H2 $TEMP = Get-WindowsImage -ImagePath $MEDIA_NEW_PATH"\sources\boot.wim" -Index $IMAGE.ImageIndex - if ($TEMP.Version -ge "10.0.26100") { + if ([System.Version]$TEMP.Version -ge [System.Version]"10.0.26100") { Copy-Item -Path $WINPE_MOUNT"\sources\setuphost.exe" -Destination $WORKING_PATH"\setuphost.exe" -Force -ErrorAction stop | Out-Null } From d4439c8a1472581227a021394a2f95c23307009b Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Mon, 1 Jul 2024 11:01:21 -0600 Subject: [PATCH 177/354] Client Tools freshenss --- .../client-tools/add-remove-hide-features.md | 16 +---- .../administrative-tools-in-windows.md | 59 +++++++----------- ...t-removal-policy-external-storage-media.md | 9 ++- .../client-tools/connect-to-remote-aadj-pc.md | 10 +-- .../images/change-def-rem-policy-2.png | Bin 162864 -> 24847 bytes .../images/settings-page-visibility-gp.png | Bin 31593 -> 39196 bytes ...e-device-installation-with-group-policy.md | 2 +- .../manage-settings-app-with-group-policy.md | 2 +- .../client-tools/mandatory-user-profile.md | 13 ++-- .../client-tools/quick-assist.md | 5 +- .../client-management/client-tools/toc.yml | 4 +- .../client-tools/windows-libraries.md | 4 +- .../client-tools/windows-version-search.md | 4 +- 13 files changed, 47 insertions(+), 81 deletions(-) diff --git a/windows/client-management/client-tools/add-remove-hide-features.md b/windows/client-management/client-tools/add-remove-hide-features.md index 4fa8c60998..92fa8aaf85 100644 --- a/windows/client-management/client-tools/add-remove-hide-features.md +++ b/windows/client-management/client-tools/add-remove-hide-features.md @@ -1,19 +1,9 @@ --- title: Add, remove, or hide Windows features description: Learn how to add or remove Windows optional features using the Optional features page in the Settings app. Also see the group policy objects (GPO) and MDM policies that show or hide Windows Features in the Settings app. Use Windows PowerShell to show or hide specific features in Windows Features. -author: aczechowski -ms.author: aaroncz -manager: aaroncz -ms.date: 03/28/2024 +ms.date: 07/01/2024 ms.topic: how-to -ms.service: windows-client -ms.subservice: itpro-apps -ms.localizationpriority: medium -ms.collection: tier2 zone_pivot_groups: windows-versions-11-10 -appliesto: - - ✅ Windows 11 - - ✅ Windows 10 --- # Add, remove, or hide Windows features @@ -29,7 +19,7 @@ Open the **Optional features** pane in the **Settings** app by selecting the fol > [!div class="nextstepaction"] > [Optional features](ms-settings:optionalfeatures) -or +Or 1. Right-click on the **Start** menu and select **Run**. @@ -41,7 +31,7 @@ or and then select **OK**. -or +Or ::: zone pivot="windows-11" diff --git a/windows/client-management/client-tools/administrative-tools-in-windows.md b/windows/client-management/client-tools/administrative-tools-in-windows.md index 1e319e16a4..63b3fbd65c 100644 --- a/windows/client-management/client-tools/administrative-tools-in-windows.md +++ b/windows/client-management/client-tools/administrative-tools-in-windows.md @@ -1,18 +1,26 @@ --- -title: Windows Tools/Administrative Tools +title: Windows Tools description: The folders for Windows Tools and Administrative Tools are folders in the Control Panel that contain tools for system administrators and advanced users. -ms.localizationpriority: medium -ms.date: 08/10/2023 +ms.date: 07/01/2024 ms.topic: conceptual -ms.collection: -- highpri -- tier2 -- essentials-manage +zone_pivot_groups: windows-versions-11-10 --- -# Windows Tools/Administrative Tools +# Windows Tools -**Windows Tools** is a folder in the Windows 11 Control Panel. **Administrative Tools** is a folder in the Windows 10 Control Panel. These folders contain tools for system administrators and advanced users. +::: zone pivot="windows-11" + +**Windows Tools** is a folder in the Windows 11 Control Panel. This folder contains tools for system administrators and advanced users. + +::: zone-end + +::: zone pivot="windows-10" + +**Administrative Tools** is a folder in the Windows 10 Control Panel. This folder contains tools for system administrators and advanced users. + +::: zone-end + +::: zone pivot="windows-11" ## Windows Tools folder @@ -24,6 +32,10 @@ The tools in the folder might vary depending on which edition of Windows you use :::image type="content" source="images/win11-windows-tools.png" alt-text="Screenshot of the contents of the Windows Tools folder in Windows 11." lightbox="images/win11-windows-tools.png"::: +::: zone-end + +::: zone pivot="windows-10" + ## Administrative Tools folder The following graphic shows the **Administrative Tools** folder in Windows 10: @@ -34,34 +46,7 @@ The tools in the folder might vary depending on which edition of Windows you use ![Screenshot of the contents of the Administrative Tools folder in Windows 10.](images/admin-tools-folder.png) -## Tools - -The tools are located in the folder `C:\Windows\System32\` or its subfolders. - -These tools were included in previous versions of Windows. The associated documentation for each tool can help you use them. The following list provides links to documentation for each tool. - -- [Component Services](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731901(v=ws.11)) -- [Computer Management](https://support.microsoft.com/topic/how-to-use-computer-management-in-windows-xp-d5872f93-4498-f4dd-3a34-36d6f569924f) -- [Defragment and Optimize Drives](https://support.microsoft.com/windows/ways-to-improve-your-computer-s-performance-c6018c78-0edd-a71a-7040-02267d68ea90) -- [Disk Cleanup](https://support.microsoft.com/windows/disk-cleanup-in-windows-8a96ff42-5751-39ad-23d6-434b4d5b9a68) -- [Event Viewer](/previous-versions/windows/it-pro/windows-2000-server/cc938674(v=technet.10)) -- [iSCSI Initiator](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee338476(v=ws.10)) -- [Local Security Policy](/previous-versions/tn-archive/dd277395(v=technet.10)) -- [ODBC Data Sources](/sql/odbc/admin/odbc-data-source-administrator) -- [Performance Monitor](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc749115(v=ws.11)) -- [Print Management](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731857(v=ws.11)) -- [Recovery Drive](https://support.microsoft.com/windows/create-a-recovery-drive-abb4691b-5324-6d4a-8766-73fab304c246) -- [Registry Editor](/windows/win32/sysinfo/registry) -- [Resource Monitor](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd883276(v=ws.10)) -- [Services](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772408(v=ws.11)) -- [System Configuration](/troubleshoot/windows-client/performance/system-configuration-utility-troubleshoot-configuration-errors) -- [System Information](/previous-versions/windows/it-pro/windows-2000-server/cc957818(v=technet.10)) -- [Task Scheduler](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766428(v=ws.11)) -- [Windows Firewall with Advanced Security](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc754274(v=ws.11)) -- [Windows Memory Diagnostic](/previous-versions/technet-magazine/cc745953(v=msdn.10)) - -> [!TIP] -> If the linked content in this list doesn't provide the information you need to use that tool, send feedback with the **This page** link in the **Feedback** section at the bottom of this article. +::: zone-end ## Related articles diff --git a/windows/client-management/client-tools/change-default-removal-policy-external-storage-media.md b/windows/client-management/client-tools/change-default-removal-policy-external-storage-media.md index 685f872e8a..725c23927a 100644 --- a/windows/client-management/client-tools/change-default-removal-policy-external-storage-media.md +++ b/windows/client-management/client-tools/change-default-removal-policy-external-storage-media.md @@ -1,12 +1,11 @@ --- title: Windows default media removal policy -description: In Windows 10 and later, the default removal policy for external storage media changed from Better performance to Quick removal. -ms.date: 08/10/2023 +description: Manage default media removal policy in Windows. +ms.date: 07/01/2024 ms.topic: conceptual -ms.localizationpriority: medium --- -# Change in default removal policy for external storage media in Windows +# Manage default media removal policy Windows defines two main policies, **Quick removal** and **Better performance**, that control how the system interacts with external storage devices such as USB thumb drives or Thunderbolt-enabled external drives. Beginning in Windows 10 version 1809, the default policy is **Quick removal**. In earlier versions of Windows, the default policy was **Better performance**. @@ -16,7 +15,7 @@ You can change the policy setting for each external device, and the policy that You can use the storage device policy setting to change the manner in which Windows manages storage devices to better meet your needs. The policy settings have the following effects: -- **Quick removal**: This policy manages storage operations in a manner that keeps the device ready to remove at any time. You can remove the device without using the Safely Remove Hardware process. However, to do this, Windows can't cache disk write operations. This may degrade system performance. +- **Quick removal**: This policy manages storage operations in a manner that keeps the device ready to remove at any time. You can remove the device without using the Safely Remove Hardware process. However, to do this, Windows can't cache disk write operations. This can degrade system performance. - **Better performance**: This policy manages storage operations in a manner that improves system performance. When this policy is in effect, Windows can cache write operations to the external device. However, you must use the Safely Remove Hardware process to remove the external drive. The Safely Remove Hardware process protects the integrity of data on the device by making sure that all cached operations finish. > [!IMPORTANT] diff --git a/windows/client-management/client-tools/connect-to-remote-aadj-pc.md b/windows/client-management/client-tools/connect-to-remote-aadj-pc.md index b47fad81ee..c08492c201 100644 --- a/windows/client-management/client-tools/connect-to-remote-aadj-pc.md +++ b/windows/client-management/client-tools/connect-to-remote-aadj-pc.md @@ -2,7 +2,7 @@ title: Connect to remote Microsoft Entra joined device description: Learn how to use Remote Desktop Connection to connect to a Microsoft Entra joined device. ms.localizationpriority: medium -ms.date: 08/10/2023 +ms.date: 07/01/2024 ms.topic: conceptual ms.collection: - highpri @@ -14,18 +14,16 @@ ms.collection: Windows supports remote connections to devices joined to Active Directory s well as devices joined to Microsoft Entra ID using Remote Desktop Protocol (RDP). - Starting in Windows 10, version 1809, you can [use biometrics to authenticate to a remote desktop session](/windows/whats-new/whats-new-windows-10-version-1809#remote-desktop-with-biometrics). -- Starting in Windows 10/11, with 2022-10 update installed, you can [use Microsoft Entra authentication to connect to the remote Microsoft Entra device](#connect-with-azure-ad-authentication). +- Starting in Windows 10/11, with 2022-10 update installed, you can [use Microsoft Entra authentication to connect to the remote Microsoft Entra device](#connect-with-microsoft-entra-authentication). ## Prerequisites - Both devices (local and remote) must be running a supported version of Windows. - Remote device must have the **Connect to and use this PC from another device using the Remote Desktop app** option selected under **Settings** > **System** > **Remote Desktop**. - - It's recommended to select **Require devices to use Network Level Authentication to connect** option. + - Select **Require devices to use Network Level Authentication to connect** option is recommended. - If the user who joined the device to Microsoft Entra ID is the only one who is going to connect remotely, no other configuration is needed. To allow more users or groups to connect to the device remotely, you must [add users to the Remote Desktop Users group](#add-users-to-remote-desktop-users-group) on the remote device. - Ensure [Remote Credential Guard](/windows/access-protection/remote-credential-guard) is turned off on the device you're using to connect to the remote device. - - ## Connect with Microsoft Entra authentication Microsoft Entra authentication can be used on the following operating systems for both the local and remote device: @@ -64,8 +62,6 @@ The Windows lock screen in the remote session doesn't support Microsoft Entra au Disconnecting the session also ensures that when the connection is relaunched after a period of inactivity, Microsoft Entra ID reevaluates the applicable conditional access policies. - - ## Connect without Microsoft Entra authentication By default, RDP doesn't use Microsoft Entra authentication, even if the remote PC supports it. This method allows you to connect to the remote Microsoft Entra joined device from: diff --git a/windows/client-management/client-tools/images/change-def-rem-policy-2.png b/windows/client-management/client-tools/images/change-def-rem-policy-2.png index d05d5dd16fdb519e8668975b2123c6ee1e6ee14d..d99919de15171c5b310832fcd3af2ad365a91813 100644 GIT binary patch literal 24847 zcmb5VXH-*N+b*hr0-}PT0i}cvDn&qg6;Kov#6~A{LZP-i345&Ye1S>cWHj zx=&A?Ivq#*VVKU+uEgKI_<{C!+ViQN_Nihl&myhC;B@Elol~dE;4FtWXJ~EaH}_3F zPo28heDXVufqb_=b;>&Lf$p8>zE-OZlqyN%7wdIL^gWQhN&J8(Oj9#6W6&FWH#TSd z!)LWz0f_fdtkuPc@9)B#m~zH=hD9$uXV`HSV)YAAd#SCk#a?6aCBii#TBoONHj_&NzwXZ~qD>E*H4k+*S0S*veGKdnlcUeCX{AQJ+9Q#@SC0@cu3LM% zS-e+|-fzj*cy>rKMp*?etKzR{hp$c@UkG0zvmcBJqK=ASH&8o@AW76lt6n4=b~xM0 ziQaEb(nXPqAYXM8*xTVp3-J8>SaX;cdOu299blNmrtPZIC}_$t;&bU>iQch%bIie@VS;fIP)!8|Ic$DK zQ_a+rwVBGgH=4K>DZe!gm_U?yj#ePG7kEY0*uwpV+I8B-oZ^HEb9RTy^sxp*vrcVL z;v1O>8A9QQOaif|Q42!U2Tmi~%|}R{L!A2)x`+fFkRZ&KzLZ0>FM<>%<;#nC=g@P3 zVlIc;qZ~usHyYs~DyJs)sFY**fxG7o_*nx9tWjB6S)as>bahe1=;?fJ)NcfITKY9r z68#prkD^J(J>b00ny=p0rA4*UId`cf%B2xr#h{C>FgED@P``XKTt0_iH%2|@h5`)H3q>qJ z0^5bM!G!tF9)~dvUAy1juL?WcFlvrRDGzQN#zZB}*;#|0?MLrqw3Y9LQH!o;-f9zN zy|sS@uqFsHw|b{xs&zIiIG+PIb|#ADjEB`b-(FkmFiFsObvq6{oO@9juS}1&_WcX= z-)SAf*n>4uBh77OdaIr8v*zggAuNoI%prRmT5hwZUEg#j-by&-lz}yiu$T@lU`o}h zPTux|OA3ISZLw~Ae?Ml9-v)7e2!)doi)8S$gxV8-ZqOg^IlGtxld% ze%9Q-mJf=gu;x}kgz<)r$7Cv7EzU)-PC#M||I>6HRazpCVaMPIr=QX_BEYO-LLVfp z_tjd&*xwDCd6$ixagJgpkDhVh{Bj`w=2GLNlv4ZO9;w&OJ8^dBhpuvIUTfAme%t#r zV>Ooxd`BnCjzP_8>R(pt<$5)CbTE6h!|$S!2F{~!5}*a_Za@gFgvBtT>kWf=_N!2(I-ve9V5ld>(euwX zT~=lPVIaua+$ycK;povKE9dJU&DC)S)Rhpa-B0aqOr1NG7bQGlxZzI~(F|LRunop$ zj&PB47UvJIGL3$;e021FPQi7bPW~@&?Cqs^VEe($2R_ck5xxCQb&Ze33Z-WncaS|F zTgL&M(meOfv~J+*pKPe@2NhP-Sm!|DZLz!k1OOw3(Hddil_TSe2+Ta?KM9QOSkgG# zjAa##>>k_H@a*bU;z1*%kxs`S@rrgfT{nXH{d|E#smoc_EGW@(^&b)eRyh18+YWm3 zVm&07=X&rIGXrOm2x~o3J4^a9`km((DC88l?!G4{Pn&E*rF(FB*6A7$6Bkg&n45Mc zz{RUka&%N*t5ee2^(Kv)D@J>iCKViUJ~(1!lx+K`rET*x-m#Fi(-$!|-}ZK8Y+hMW z6k!bhHR4X2S{g9JB?|Mlv}!haOi|-yTT@z+RssxV{R8-xE8i1QgBB~-jCdq3w&D{L z&fbO-mK6`4%B#G4Hi8ZjF!jEa;l1SB>bMo{O-_j_>fKkIp_WfxQCKeGY@PgZp6K>T zDYxcBG8Y>+oEiNsEEarvwDT=I8)M;&fgT_<@VsjSpKQj>{b@gXTp02|VMw{XM}6t1Oqz(=i0$Ww{X~|FJQ=!C6 z1^u?2Zf)F^TlzqC;O*gFjOI}n!>|D-gcisiSD^q zG@Q;DSANfR7+9vc7Ut`Fk*bZQy5bMr831x*J6D5iNAiIA*7>%LO(`wTfcpbPVHr}O z@9|AS#_`VaS0FP|glS>JuK7M^JbQZ_#HNTNr9QgdF++Kgg4PezHow+*ca(pr{~n<^ zd}TQK`V48?Mi;3kaLw*6e}wKbIvN1*#HJ`b2W+!j`_=XXk^1W}7=~UVHRoU>i z(KiYT!TYV-d6J*SpvUkg+4{r} zCUEE?p-QihrIhZ8mS2e~Bw3u{biO}O6_dLQlGiwLSkWOQMvx^wyeholK$`%;M?4Lyz6dQ@VshrBo zsj;Sza|G7aNc-MH+h-N2Sgwa94CS}l6T;h;9ugquJ9q0IfiA7U{6jqVvrU+Zy96P<0XzrE9MJ2FX>B)A(WEzhQ*WOmQx|?1?J$B$UA+08YN&iq zcs&Zf`TZ!RyS9~s-J+01mr6c4p9pvzYdj+SJ4AQD$5eNgms8002SZhBRxa)_ItmUTJQg0Udfc3yCpe)}cHRA2#^sXMYen+5p4DX# zy2jJ6nFz5+7&#v{s`RGmUeu=OduYV2d*W}uknQVzMI0II`DG6_%?f+XgcQPzv#AY1 z%=U?#QX+9AyJx$0{qq5dGk5=U^LP($On0z09aL6V@oZ&a1rWd(oOPNqL7lnP_qaB3@||B1ooh6YdMFivxx3P9Yf(}97kD{9HK6tM*ewp>k0@Qt^w2}^$bKJr z2k>_9PgPMfPL&otVm}ruGIylTHD=JIKg;8u`LR{iZhBlDQAvK zanhXBr1Sc9zi{ik49t1u6%6m}pNfW1>4#ERZ#Z{xu&6KQahYZN-)NdGEnR0t0#ko* zCh(oNT6lSRyKk1K94NHw_olwn{=YBt9g+UV;PLpoy@!}1k@;En^Zd@b@?W=74R1Ib zJrpxD)r3B%d^OvP9y@wlE{*WMR?_toB`GFt3kS@8^1rhlXRcZ`hnhsi4r^(ri)3fX z)~u`ole~*zT7f(kO;a^*w*5GlshRQw1$=d`)Oz8wEUR86w1Pr*pd-b26geKj3R+mZ zVK9rU!+9t0zI8jcF&|Xz$!}A7d=F!~m|-`oWLmd0>@Ageyf}X)Is-jVs;h=r$_V`{ z91q=sI@vky`^j_}aH&SfvY4yfaT3cSWgIwHq2>M2T?!px{i*yXC%3473Y9hH0fOMk z>3{B&p~H+#g%Dc$`^kg#8g<{n+5Kl?jH7Cl?P?^&QQ0eUm=4KolHlcAfnN&R>I)(n zDZ1W1S=nfnpL?EN2Lvu&Cw)MA87JA^_4Swtw!ji0F9))lhfI@;W<#MqUE%U(E-mvL zo+Ss}%-LGk#6D@-xKD3IC}5A?`q>UE45fmZTKFW}&nAA?mqcq^hFT83a3i!O(V(smSqQ2_{;EQtBWo(M#NRKs2) zc|qyw{;ir>(%-4jSWK*K=PC@bT@otP>Nnt7W5Ysa*f#SFIjHa^phf;O1K;T$gt{4> z=|144UsGn=`!s{R5zG73BRQX(!Bvgj3RSg-W{cdQctbjxoNtQuA+_?1jpqb!9Rr@o zBL?XzH_p*=gPj|Kg-)@FlHnZ)$@_Bn>^m%$q}6YsJ++yZ-p6%VG~gblCfc(Gnf1zw zHl9)|V^MfSS(*dKi+7+8`nr;R^ zx4yU(%bli$4=Sp4+q15dvP?&P<4hWGw&G7~ga6iC{??(YRXM{(?+)Hw|&de&iZ z+M;{iMWMI#DunHP2t`EMR^{$`71#q!+oL7#PSlzIis)oaiH1L&sn5wqLj*GddD0$_ zz#nIfa?u2OX5$2zF)v zf9V@E^AquuZbVq&Kzn|PWzkE*lNUi04`CDMKk+5bFbM0ZJ>N#@)?-E$WbwXF6%$=6EQw3+k}3?6&x zdpCkR?Uej|k6S9^4D5N!;<4R`y4b1IRUCQn1|1Ds z|IA0UhB&EP%`yuZ2va%Q<@<%>(1)GquBT%*HbtCk=Oj?h@tP95J`?XDQDq`@Aj7EJ zWSi63A{6DW4SZ~7U7O#|o@;c94d5{}Kx6#oGFkfz_asphouZ~EI<~Nk98`=f~*Q3TPw=#K+ zG`*4xb!==ow8P^wqZ#O2Plrm8B|<2=Uh5UT$d*RgfOBc+qjS_!Y*igWS@qlK`UiD= zR~l5pAo`I188lo&C3v9Z&Eayk^`(o;>BA2?_6i%!MK1*;JIr>29wxKY05R_hZR+xj zO*%lP(q7K4+=fg7DZlNR37=ewS(2^gnOm~iKbHUocg!L*bxX*<28h&57;Z3X_q_0h z0LzbrzN2$4io3iq&Kfx54T0JNV$UmDjAZ&KMe8N`oJ)Ur!k<1ZTV|^fW`UMV=@P+( zJ6DFj$-JOzBm#ZOz5QWqwsbrHMpgYHam+AA_6}M!#Uq_4!q(74L!MS0BN?`WSp&67 zN@=5x{SWbc@{g=Wa>Q$CZ2cXMaylAyih}Jm!LO(eQ}2xCT&StKqRrF`FEZp;L{V9; zI}@rGdCBovY}(N_wG8EF(e#V@eD|ax)B@jpQ%XKUKJWM;*IE5s`44^&`|Rnd zxqGe1rsCOTFz_<*Y1Uy)P{kPli>AoE{W9I(CCdp2{T_;Q5>hqgzH{cYxucZ<%KB^@ zZXWhKZOCBE1L1=3%=jQDWEH_I5Zg5*8mHp-?&c)uYmDPa%}nt}-aS@M0}0!~oNN$* zA7klW^F6Dgwcf0nwaYCy~un%FS$h5Nn~wr$unrGgpYCtT^D*=~5Z!J63C zh`c2C#@%=~%dWiVJ}8Glu;n#wl%a3`d|n{k0SXZW*{qRP&rZN#faKSk4GyZ%G^>$c zu(MAa+?rejB@TrEHKS7Mjkv73{)`xsJVlBdiA-DI2KIkD_tQz;MZQ46(HW#fj(*Dcxuh+u}Z7xw5{7vLc2FrnlpNLh1xQ*}m) z8S`ihS)+cxp5?VqBY0QgUsNHINU(sn(GEddKLs&Z`opRJGXZj$IZ7Hbr&~u!vIHjnY5A3NP+LfKL)!C*yJsXRI+w1=ewp3Fw-B!J^8q{?vCwI!60qF z-RDouu6_HEbQ4r6&YPM%>|JBwlJYO}1ZChn&9Yv5e}JyXr8JUZ%R zIPg6mvHl{jOCtP0i#C9Cz-EkjrdFSj&vvZyu8CE{Ob(0P5t*d~)rGezt1=!*CGCj! z%qEcFEHlJZsv(J(6<;Lo5nNbWl_QRRa<0+U_Il(zAtGQv&= z5M#2$85>hIebBxCXbOuXpN|kwH1y;i2UqpT#2R6E{oE!gEqxw*-m4%X@8+4;+r6Jv z7>%mzgHbQ~z9XKH_a(ic^OYL&;9*@;NW-_Z8{dYOQ&yKuK6$3L<=UH~Cp%lwQ+10F z(Vk3h9XRDaZ8eJ7HMSWX?JF{Y$G_jc^=LwA7%^`r?reXsKs+HSB}1$p`N!O$zKKr} z!yJaB!|OoOQ^^ts-c)e3nNt^Fgsj~h!GZ|t{Yi0Lk%8Q1T+}7{md5PN_YlA`_qMso zd8m~V`H$J#_A*nxZ+BX?ZG8xv%9pwW5GFj1AHZY+=k$#+mA zI<~uG`R=E{<{=OVwAj44^_OpSJ9amCuCN4Cwkfws3^Z3YBCQ5I{41lAl<05V!Dp!o7NmJ z{;7+iQu|m9v@`jYYJ4p;zjZXZJD*4HCDme~B4Z!NM}so@18ORTMsO%_&^1p6mH8ir z_*zy;|8Y3A44xR; zYn_BAgbD|q1%IH=nqu5__Vyn1{zpjzeo=EJF2=!J0jcmMgWs}HBs|g19RG#kcH5iU zw>DFG!N(ql9(53(K(%6Ezdd-C4hi||3A!M?w`=JyUF9vzJyzA-^Ve@_a2W7>sgsIB z^e**q`SJPJRECXSQ&Qa9cm;LqO3%bvwVBC_%}3x7`8e{Y{d>5gE($9wu!Q3x-PmWdJQ(7TPs{~+jxWaAHRqA zSg+>J?ITc8mvbQGJjNvl^t6_PU3t%OI}q{OE5!j5irt`9W*kADyQBj2pAt9*Zdr8` z=51u{Ze6F_@A!B5REk&YU#D!Pk9<&@usyQ(;g;QK{a%EKr)zx?&_%#|TMuapv^W2t z^rz1HA>b6t^{kSKAl3On;PwDa!Oi#aPVKiFY&vfz$Oo04YyIjG3uEP}gyALB}z`w9EwHe&f zSVHPf{0;AIF=+W|IkA}M-%P8Tc9f#F|3r_y1HY1Lf_9I1N_2dCO(_~SZ@89^4_g?J zCRTi$&+SGHt98$gOL7)jL7xH5T0HC&u#IabQ@4tUdvD)on-+M%066TEI^9RIYNk-Uwa(fGql1)h`#q`89 zVxYp$gyRq@&-n6-?(^G%9{_XuZ24O}e!ma=b+?jtAI{M!DtnjCZyR!0%N}l`v3Nz- z%Q(4#!f9*S_?R`DsY#J3ql0FfzagLvCs~H8Ds4ET)wYLloa8|3ZQ5-vn(E_26YU#q`- zsF4y3KD=UfnkI7Str^Y*W_!u@)-GD#;cs0=2&L2p>1SOBwOxC%d*D~c8oN4yACc+_ z1I!Mza5fqkw3Q+pw`E_xZlZ_(>K14?hBA$(Vl`mHbt+dAOBz}=-BJ=6gXVo+2U$?0 zR95!ir$H4_De$XN0vYoVtsGQ(UFYQwq-8~zk;L@o?+Lqvbj=p))dP2v4a?RLG*2gp zv-tS(-NE8Lfy(Kz!9?I5RE={uVI<;HqS*0TNWolV^^r0D-bBey z)@uc?#m0k1cq(`1fJXB3U)EAH(8VS>vyEi^*r1rBtN8jNXfK!i0FVN*+Hf|CJjA7S zIJsfvh!Ld9qe-#E3iy0DloamVSe05yUR3$`t>O$9i#W*{_ngWd6zeZhpy6ym#}c$P zGJ~JlAze0~uTCLt_;bk`-=rlI9%JAtupXT=&utCUg}hgXGRX1Z-K{eqdcqN*tz%To zh(OT6lqdST(k!K=@V}N4Ju0Qd_X0npc_VfEv8NgShv1#(oEmoifoU03os^(Q1)h}e z9wnexRhbnv8m6EZW1XXiy4&MQAEUY;`hUC^?Uw9nxHPi~@oYCO!;bI43Z(a=S0+eo zG5s>e1=h4V%`W!u+eKy^6UUoBpx(&hCfFys(~FUtP!E)UyQj}%S54hDaA6GiHbCxY ziKX~JDy2*_cM$Obu2v%7h39$^x|7al4=5A{w`Nvs8H?)=g|Eo30m5be!fICWx;oclIsx+acW-w z$ys(L=k*xx&812N%9AfsOvJhO0mTUW0IoU8ImYN|Z|Bou4+UuIGCov8{Hghc_ez^s z*$%T)Ntp!EVX9O>b%#|0xwB^Qj$xeyQhLFl9L?5k!A28kB?8AOTPuq^L&3#}cWc>- zth}8LCx&oW?kI{q9LHX2Jrk=)*(sy$i@o=1;9k?kcr2c{1$jy;@}Cg4o7P&ZA-eq= z=+aEl-h>Yx01fAZPR%($mG$vgY)ft}u||Zl<>)f!#U!R^DWPhEoAS4?)qPY`IV9oO507sHefCp}QGp`p1ATGoaFwsGf=a zHGk>^w6>W@*1}I$+1&^@s?#R9hz}133Cp_}%cN{#?b2e5*HvML>IX%rk#aU4!f@a| zmt(nW*FA(%8yTRzbB{Uif`pRu7kAvu92gud!TD_jVNnW9>jqRFl)PRHdoXCsLS(iL zhmbdo2CB*-5^JRW%c)e^6zE2pl_Pa^InJczl5yH^l|WsY5E;gx3U{8ys(;Ef;Eg8E zjz9iHpwH~lfE$%Q5DLvGZj+p;*`%~n{-}K|9?tXyT6(xtjrcb}h=d`4_IYjE*1QV- z;V?K+JkfnGDrvoEHA$ir_Y(C7Ol90BlZ!!6hxQn}-lXx6_3!_yw{1B?x#aPa*EX~f zOeBa1)v5IziE*%AiSuh-au4jv*gk!rPGCRBLyebsH@{Z9-Is9t5o0~|nO%)h+gCW_ z)sGUKm`i~y0{*!SefO4Uyp70*ArVToT4loj5Xr(?iMd8l36k7Qi~r< z3N43-&~DNFT;JlJdIP)EsNKM_i!-r@^S0K|f!*>)Jk8La1kf@^7F$m6zqs800O|g1 zwAwS<-$b?D3}F+bN!tl{_y6+He_*};aVImJVJlQR@QZJM#^m#H-`SW}(l7{te5J!T z!Xgl|;JD1ut~$9HJM&c<>byzAZa(j~DWc-(j<-_L7J(~vz=vBtsO>BpO&UVE>gq*z zXUlil9B(Fek(B`P>olJc-lD-T&q+=l9QoMGL_Ti?mv$QRa(z;c48m)NM~sXzydQq% z+te{h9w`Y=5C!_0Y%LOqS1X%}aMZKyGq)ta zIpmZ|b|#bnD1Ag_bL$vkgmft@;wI;!+`e&@`eB;H!6y-U^WQF-lYCzLJET!oo2@^{ zc>4sX{CtgmtbIbDqpc!ZJ3Pj|0HIZ@aeQkdukV1tcJi|j)w;y8zX?xaJ{8;~3P zsv{*FD8%~mK~D%hfq+@rNIa#k#o2S{De3kW>>bmFdE zqg(q;-_0G86h)z?lCs}1STlh^6&o9}?dDxNc$HY85oyU(*6RwUYpnX2LY6G7T?O?s zM2QVkaB^{}v$zSr?JGm!?zzS$@lX>4)ZLn|GksSqE|lxw%1gF75~sGSFzouA7 zeuM-j!r$3FK^AIRdyTQwG-E4?v5C<+J`?(`n-mRoyYzU=qi{5vbLpbyq|=DiMq)+J zK>Tf2J~rb3x;t66k38>nv|!w*p={h8FU8p23BMORU;nKf;vnEYMFJ3PwoF8V+yUC* z^0Y|IW4&Ro*pTkDuX<>YlGRQQ=U0fiP1J6aOM#ab4Ja=Yph@~k!S~>Qi2wg+&|uEu ziI4vQ41%q9KOU7_*dLjYzDW5~6)!(J{Gnl9Mr|A~318-;K0W%38yk__WhE*!C}E*$ z4~SUz96#O=_WRtOD(N0UFUzJ1m*~S3rE9RkK9J2esG*U6!>yJ27Hy$ zm+BP@HsvwyQp1X3`_CECIop|vJ;V0gFc^Aa$-n&8hHvGHs+Yw7%KrI|0?(5co88xD z|CS9oA5lCkWVV$ulnig$H!*Czf5NPw5iERQby7nE`W98H!bF}*X>1Q$CD)hZ4)P<&*yP>9joGGxGn= z^GoPfMt;<+lzC9Y7F<@CN$jCDLa7#wAAAN}eQS0@4Y&KZl=aN`yEBdT(x5Qv#=l zP?j+6+@Y%#EUrN^f}%@y15mkL#tIX_eDrMO2@+rwou$#PAcKeSM2*lHwVA?=SMk4b z7v0Yb`Ze57gy6`tgMRhQoc%M(cfFCU5>8O{*ce2FCUI<3^ychOB7E71$4eFG1F8Fq zsmeXbRfd!OO_x$thj@bw`1Se01Os+yAF(Mbznnp4#;r{Ce=_{#740@l#kKZ}s|1mi z*v-%NcB6P{>XbI-L66Vh-ZW7b%vTxQPrBySO3t%)qLuY(GgXd7@#XgL7ni2v8L6VU(f%lu^NXvr*eB2IRK4TKow^vinpB zw)nk!!GEn_dTtW+@Si!jSWoW$Z<)IRT4(M%?Vv|dbH3aa8a;QtOE#%hkPTIVROu|A)pqjbj=Ek^q8w1)WQ*6})AXJwK9sC~`h5kb zu>8T*#c?|&_CrT$T%UzE1>BYr>tbL9@As(p=UqS7!j|={gRujQs-4e?_5rAl*6hon zTr@@03`}|sn06-+a`Nkj-S8q-*~i5lxLJmu{@2pAhA`{G z9vRWNyXhV5?L&w1lhVhJ%P7wflHR{1S+7tK%&y@ds??KQ_dL8ed^+(v0f=t9VYQ^a z2K^lBwephe+#O4S-P)qfN{dUgnx&Hfq!*g*Bvu{w>_H00L1?h)`-bDWpILw%J#!7$ z5NHO|a16*V z$;bW7GZ9JD(YL>ETes)u=g2dVemf;fzBQw4&g7YdRI%*!E^^;~T(ZVVOuilq{e8D5 ziUY9s>pqV4*m3LE?`a=#=lJh{O9gte%RNyx%Gjo+UX0#l9WKu)MQ)62U~blC^X}wX zkifm;QC8a=-MFQPk*al?8yttew-w#ihBv*?KQ&$z{%i<-l%|DTcd6gLTjZJ=_1CIK zTpplrmDWdhkHwjeWpw;o(9%1Q|Fs{REW8P(%8m{1y!RnHRpj?Q?b!f}_8fOtnbb0VMjZ(@q_i8i{33vUA-nElSmu&SJ zsP^0n_3P*;aHpV}uHAm=P!%j5{A;VlwXA%Yk3?jhV>Xw1zH64Z87wXR2vp3jJE$n> zf&HlIW5RE?&}VC+UiS6?@}q~Md|bL+;*;ZEZCK81D`JX1Xu>5wR$lka5=s4o&2IV` zlnW1C)Y{EK3=)BXpB`^8?pq-I8Y}_}VKq$MoDB`+gP*=ra9sE;7|&hHEv$ zuE-TY>^QCIeCUDb%#S7{2KpSyw3N9M2|o;u%r$i})outES&ZbtqRi089ES3zrQb=u z>cSyxE;RGbvgr20Rle7qQ+vmbmgdRB{+!S!+TSu0uKkm8JBmKyAO5Ic8qeGUyM=6f zdvphVVU$y#g)D1IS2Gh?pe>?g#7w|(E`Qh|{T*VRPo{A!9$J?(cvNO=`>mtUv&VQZDswi1cZ(Ng9=~*<|9V$f77{Y2ALf? zxXz~*Epk?tp$829x?Eq#HGV!+(yKX}QB^5@O@~Rq|1(3Mww(Y(qSiYV@;vI-$VO8) z6$hkr9~7)QcI0pB&HqGY!JdPqfts$>_xGZiN>!zZI)KJ$T3@Fxty;pC!iFWH$^Cu)0g*|BZZw zN&Wh~N8P{jauR>O;_gJkz)EtWBzYP*+u1r=dYzi2Kq9Kr%KC}4G6W6mXy9cQmaHBu zK#*C{B7T(%+C#SCxo)uD(Ul!T@5_CV|bg!e_{BS|MD-v;6G%T|6h$rnj=y;RQ92zxPJez zZ=$tNm^Urr|2AxeI8G9762Do#Cyg;PY{hw_(deHXyj%C*=gtbpIa}E<)9RPB$d<<5 z`9Jz=(e;Kc&~|+OUl)CMox!8~97lWOq(Pa_EeLRJ9iU3%P~HK1K3Q2^0Z_s`Gm<@N zHO;j(&an8kYSVm^5H|DXd%|qO(G%3>pHP#P^_0~F6&vedSK%c6k9R#^L^-*Qzi6pg zqEUogMY!X&PywaJD+4T`gI`8NtV%z$&^~`x>&j{(W;4I#ulm$eb<-k<`f1C&iwk7-nlz7Y!!C@X>vE#jW$)o=XDPpw*ZtI zDbT3a6|hXtVxnej*#M;#O^a8IG@VTS&9EAXOWnoJ*@y^yaXsh27IUUGXif_-l{t4~Rb}Rkcly7+3 z3m;8wlt{U^HT|DDpHcLWb+v8P;x#%cd(On%@Nlh>neCv#l##ZeWG7w_Ey5 z$b;!32-&7Hznh$*Y6hLZ%(i;l^cLDL#%81+G*9fV6!RiVp6_OtA6xw>q4*zTkpfjG z#6K&y)%!z(idFKeIYCRW0wl#laQZY9AWwBiy&jn^9eDjml59ZopovLtE4!DEaf6n( zdu83*J^Q$dJr4-}>z;>;UU@O9rf5Xw#f%cJLRT_G>AEX~?g5Lh-*AsltI3MKDb+?r zI(pi65j3I8;yh0>Amz!yz|Ui|$jJJO|62?^`g5fVd8sqO%0>j{&@dnwxF#5a^G7NL zcL5p>hW$=U2a42-50gF&lpIYk0XhfT1eHM{+@+5fVJQC8D8Gbc_o){z)n8iolnHZJ zg%fvPmb7)i!mVPTt?TvoydMu#YzyDJG$sGiGdq+`ESOdu6iaMgs9-W+c*q#>bygn1 zW_#0!ZiH^*pn0X^l;NeuXMN9^ThQ#6wKM;t6#r90PK@MtA zXj+%H$lg9!@R;AXT+1W;EuZjJoFV~kDUO|d`^-IY_V8}`BK=`z!xOb3W7MK+Q;?)w z8(2M7d&k;^gUQP9?iLTrZl@WSN6&ta0Oaf>9<{OG8SPM5@}ehu68l9aR{TmT<#g9G%BaJ||JuT4(A@811^KBp#uWq@ym;)??fwzExu^D$>CwD4{-D zB;W8zsqHBu9X1I+uy70%<+~|00R7k!myuu7Z5k`L5@q++dyUa<7}G^|m~SwY&@Q9} zGm*D~^H@IpkP1Y#msL9gYW*99DHy3F7VJTkC)8|woUURD?)qnwt+Od7`tDDw-#1NH z^Vhk);#rWsHK9GBKP+uOT0b0FLM zeETx+_!X_}Ph*(SVCIwWEAhKxYzdxqg$QYBvdXkpb_Eff_4&M+(v4Ck0cQ(|^-t0k z;uPykO-*5;VVI4h$3yaG#{%>%i9zvT9XBw#d$D1BG~U$}ub>&DOvk%DkPn#%OQ74c zgRLkMd&bU{2_|XXh|Shoxj4QieA5q`T}8V21Msx`H!X2};YQ<=R>X*1!ucJGE?@hw z%Dpo#-Q3v#O`Ys4;_YbL1#io}&Gsi%w%mc%04Z{2ROT{1@!;nYV!>VbXPVw${40$l z89e=lZ$@`jcN`zSV9M70ggE^iS~$7U?{psWOeFT#h25J@aAT8|G0ZHccq|!>9Dagz zbeFoRir+0S<|21-VE*PxuWa~5@S+dX6xN}(muxFffU|X#+92ImQ+t9?7^BB-y*X~7 zscq&pbcxkC5h%fz%(~pkLI;R3Lr_Ww0L4FJeAZ3Wj3E2v z&(mH{Q_+l{t5sGI((BA1V9qmiX3w=xa0QCh_HFpKYkGSC=`l2p>pL$g*Khqw6x&UE znrH`^#)8s(sA+5u&U)|9`R8#K2tbv<%ukuhQfRX~eg7PSJdoeF{DbH3a!*z~6RBAEWA(EIv8sxw4!A1H3jz1C z&az$nz9cseo4F~5eW=JH%%&ZCFDx!_hIIXf56+gZ3a7O&oE z+U5&2Z!oNTJWo15=AUsNyP7GLaM!;$ARxtjqSJK9m~U}J)Yxg1?5Esmf|Zrller2R ziFJs_?ts14I6JDlWeu^8;XGbr5a~Vhp$dt_fv9 z7dcCXmyfb5FezRVRo(^=*~=ASUE!{euqp*|ai$$373W(=3uqYwJ&$;jhF8iQL7BT? z8*s*p_1su`(cp!WJ!s9OBk@idn9#ZOF|~{p-eD97Dh|*T2k)Y=pK$;Y;+R$$>ioGe zzw}De>}A@Ml9B73NKq&CF(OhtK5HEUhPZ&G^_&y^9y#gCy68bYcSZHeP~t&R?2Fy0 z5ItEur%3sBd8Rs&@A7WNxs&}NpDQR@V|^{$GxBzX(nKxdYb3WrK&l`QRJEILdL?-I zAr_R1PzXTY9Xr=)^m%(%Ty)PLB*=|-^do2z>$-uXFHK_ENA$)rvr^4f%e%os<|zm4 zF^#f`b}k}Y>#L?~t9AdlT?Hg06$t8bdqImzk()X@#VVa1TbUQC%H&NAAm$*rJ<1K7 z)PB+YGHBgyc2y|7QmCe?=LFc+DCfQD)Q~C{A5&>mr6C%%Qka#P8=bsYx$WUn!DHU< zoSO{}h^zuHb1&A!)CMCv zj3e0Zv+iqE4z5~zMz|J%LusGn*}oK2?&P{TG|!PxHsfFgPw3b4`l}%Qj-@lFwz5c9 z0lI8aKUr1d%Y9PeV?U$)mvBCgX*SCEZAZv5C$?g?Qn)ma|VZ*SLoLtYR}>@P&Ob zDa^RMefbsN7L7B}QMeu9Akz1^`)8Y_UZHNSS95CnyztaRdr$WNQhnosaY8Fk+IBn3 zTw%6U(|o(hD^ZJZ)p?YAQRMYm^H$XL;PVWO&MQJIxS&fqvnH(_l{b)npfH~8+=L9h zM4#68vO8*)XTh^`Gs?xDZEX;4R*?jsUisl?E4l3LTD2GZ++}XZdPPu_lpau2L~8ta zWYNps5-DYddW~)Aw)IkoXVE_x`sg32*)aw?xVm_`1#mapgSVKF4gvV#(aBgDOJGA) z1OdAIG1WAqV=gpw3d>&U%eV zgh(o^Q0U|;*+ZhRXegbyZH_1az$Cum6Tk6Y^+)GNeW`5^r`VWA(|SHm{T~rD{%)Ghm?v^Gzsqh*BzfZYf?` z)CuC%UvV*XuCStZktWF|Sn8ANk`B|4?`fwFXmzdUeb+VW>V*78)Aw&xw%*_LI!4Yr zG%(RvcdZO$4wvH@t_adrBvwRXowwT<=_iZNCTCz`7dS3Pv|O7Y{qEWPLNMkI*SmfdNJAL<#-4VpxDPcB2V#%PHFf$*{lIcVyr zU^D@NqEQ|tdtNTvL!Dg!FBeJ?NzQ}ZuHn?Lmt9fz|I~J!QB7vu+5r_26vYAzQdF8F z5`#`KAb~*?MT&gmP^3f%kQqq;gLDF-f(p_EDH9+nSZ1i9BvLa1Nyr3((nAnbN`w$8 zA+%8L3G>yv*1do3x<6QpyyTqslzsNu``ORlgdj7_BW^Q&Fwb4$$xPcUKi*0;ljPG6 zt1wa_>oa;$3-KJ@d}@v@VQ{jBJk7&qx8{#IqTyr=FfFnUVbf2g?V8jZI%v7zvAce7 zQm@{pjW|(bf7R%DbXo)RXhXHieyWej!rO>xIc#svkhjAJmh%2yD};^uL<#mOw$?y} ztVjM{g>2)^z>&X)qhQ#%(#CUFq$VCh(sBi0JVCQC$9H6De=I%gB04zJHE%X9I0Sdo z(^LsEeZ!T>Iq7z!rpE;kVZv&tx8DFI6z79!4tzLTqg?FIC6BzP_-l8HVSPb{$bLE* zlhswZYbRJQM@mVLLzq971#>Xf9Z_Tk8B#^Tkjj#*$f${<(-jkdj=%ln_#X!QsO4Dc ze%h-F6XD@ZZD+ATkb|nz4gAd%AZ8bXn1} z^RWXfmJ4t=1^)r_1`FHH2PSC4qhK8n4ux22s$GX#lFq;13CY$8NQV|%eTsHm8Q_gN zJ~zhnCu6U?V=qJV4v>BFdgAtQSs;|p_3-5MvP%5tU^!{RF(8kI8Hi|{C>L)x)ORp$ z%vbkbKO)22_{+63HCPcWhlxi5xdKS!sIF57hc|i-1LW>-%L3F>ij!Y9`@HHzuKq|# z8L%KI4TJm|a08atm#A|>mnTpxoS)obvI3Y{*kQ{L=3G{t_oE5U_Tc>ia!16un^#(% zzy)pC`z(7Gw?cvJW6C8Y?eP+Wt^Q_bUrCs1hJngodpGfzH`#lERC{8TK*+({1R)KVU3w)07zKAXp^^WEo*+Sud4Bc43_bXdYeSO%Q~)^bUrtF#;JzRk zhC8<*K~h@uVsFg=YQk?z^RLX@qvq0yZBlCmDTr?ult7^qa8Tp^7v~Xk6lAF!FWdR# z`j3h`^7T^>9m$iqw0%LpE^Phf=a&R2HWJfs`<5m|cRBMQFupC}UBQ+))l`gbUWf?I!(EN`=cYDnfAgx5J zBaOnaXp<9m&x9?L(oV8H!isO0Il7&3C10Mr7b_=?zwZI!zCXC=7bQ&SjqLu)oqiK~ z4$o*I@+*HwUH_+J%1{J!9#7Q1i^FnbpO-(syyirA?uFp~78~8x)oJXZ{8wuMYk~D` z=p$mmBU5eGuNob-U#Fob0hH+_=izCaX}&6p7F3xcbIUw52Cw!)oY!7f&K5nW=vc1o zDI#^QdjVpf(E~+gnh#S7dQ}1f-JFesIvfg1_-$X8Mbs&mh>9N?phm)#so-nhUs%hy z`o4#nkj}fQe(sRd(yw1hokUI{K2Nu|^6!vPDO?V$tqkofV!ZejL?=6Igg$f;Oe4F8l?{EgBZW{EH?Ph1QcuNq+@ zLQ6#ted27g%uBCG<=oxZYVb}Gaq~@{UGbb{W!!yxE&XeQy3jhkHXZlY%&lMUc}$_( zJX}8&S`Krz-P@j+6gyn35b+h$t5GT9&%z6l709#6PpEN0CHDG7 z5<%@b8+&ywHwnZq23F7bKD=vxwWu!ct=Kf7zL+bsv{b$zg?LTd7MFO&-Lg_{XXsNN z#7%$g>e|EJ^|Su_U6vo}{~)JWdjD$8~=#YGi2lQNEt*`}QBccj*r8)Pr^wQkN3HhSz`2;T9JD z?a!&79KS5;;kvuLQsR^axadCxaT#sjalK>;IKhWnH4JBENyUdDCC(f<2y8W?6~efh~o~)m&s+?yZ=rc4=@F&H#qA} z+Nr-|LlwiedYnmHy>uYoyRwcta}&Wsf79}}A&zs!7N4_kxWAd%7-?{_@0`KSMdWhc zz%Hx|d~qQZ+(@$%o(siXLRZbFEKv7G9>^M|7M`k4qTM^8Rwws0IFGUzx*W|O@VZ?L z&1@$oJ`=7oA00?yu3RuZ<$J3bC(c!+_&eRahAU;fo>H_W%;d^63Vht5^Kc^^FY+a1 zsuTT_T*Pq4coo<`9|>&?q@bw}_U7+O@(Cqwd&Y(8{eTM|kK#Z0hWvt9S=~O^F(cGf zW^ud8Bw}EjRw(0!=hR>D!Jkf4h4;T9+2~z)(%6Ltc2an5yRhL!z~nwRr$%C)iTir* z7O>?rEZk~SJ)d#!qG5S6r0-}0fYT?Mf2sX#5C1-J>;Drw*m3jLl+p}8f^p(MGe;#} z+9y|MNf_Zj7&dybHf?I5gCuir$}auL;pE8D-nD)k6(oDnf#K%ZhF`UTo8hw~R)3mC zw%n5SmRrwYR+zti%Twf(9LL+caTyn7;yt#wgMtqkBfCB_>sP zVs&BmR1ad_Ct;Su`+X4tSkZIw$Y=mq>W0o7HmYayIXZm{hDG8K0$z&;Lm4+Or1=cN zCjAVz&%t8!ryq}~Z+dP_<#B^5YR8QE@aou&F6GzkXvQUYivB0uZ?-C=@hQaNf zY@E1xqFO;Ffv-CSX6BRjxHrA_6UNfgpFE%Xjx+$z* zDbbE?@ndi^-w}K@r!slW@g1!HAZ^Mf;6;1NflAM|p<9mqL?+i8-hXf#mKy-EkrZ4G2oJ@=kYOeXC7L)|%>vu4ceEdsH(EzIv(!IP|km);t+> zev}oY8oWJD1Xu0KQK#|WB-Mi9?1fX|HPtThO#-*!RvE6d+BR$o6U&FfcZx4O9KAi} zX!VIqAvNlp0J4tVHrS3cm)n`Z z9;;osfKdKYqkdqTl{Ki0A046(0Cn_;!eTZck+rMW`N8qiEc}%tCfyB)ijk14L2_ex zLl4(mhtlZABV+NVbb*qA@i)_n?LbMim?_4W=au7zy#cNs30&`t}kmzubaY)Pb zsTYZM2uHYJ368or4Y%H(z?;s!oio5^<%)DtR-Vsf20Nlvc7j-S#^D7Ie?$9jr5Coz zus)Tq_l+0N&4yqjhC-Oit!+wuHEPTf#P?taHdYIN1UnFu>f--YfOYPGy)Li}@s)rQ zZQMu`e?lH3N*O~;4;A?|F#C67A=5{jdr{==T-BcmxnfeWJ<=}{NA^fIwzeDA20j7~ z)1Ju%j>wd)#D2YE<*Djt1*Bq9?`J|%j|<)07k>nNcu6sC#<$VA7jWIXsv7Dq)3bNG z_6BjIvP+l}S)H4IwTjkGeK7dL*yrGo$AM6_zJEXz07k$WX9h_ub5GMvTQRqo|9npS zaiu9g2x|aWg;+iG*3au+U&kX3@(!+NnOzY4$rv$$(cq zv{0)g$#!oc1HSfhQWi30E6(TjR$X{(zj*1{BLM?su=l&s4{iL`p(2dQ<&7IMzUA}J zEQVSGZc70EgT0bTN6h+xXNtM=TMZYUboWQo9q2<>$zvAo+wm!89h`STzF(pU8_!1M z$MnSAbcd)U0eS`jKn=xK)pf4@vDne<6^ma`Pf%qE>2EsVE9`CDU3pZ}!a4D-%?8~! zDWpG1N#N@#W};)(n)16(qh#{_g;3yn3oKzeET#*6bOoA*m}D4chH^A|;ywR`Ry+j6 z2eLdr2xqdcUun#;VdLvdBnl}!k7Bf;hYi6`4*ELZKVj`1U4$)7# z5C-{p6SUbjAYsHPdRKz|>l%_~{I2gjPA3^GQ%F(J|I+`{Bmd!hb_N zGQ;uSn`<;|Dt_$6(=~{Re!bONQ@D?j)vBY58dwci-Gm9!@_KSgqvgdXO^{JBey+$( z+yDV{h-F`o^bcj$ksGrISHqw3jJXlR=f;W`$sXgPDd|mkA@XaVFOfg&qr`E|^Q?QV zkRZ`HBz%Ld9ldH<2y0ZYekHk`$b^9JLh_fVc=xP9cpv}Sm5Zre85_0nzT2sT&gpT9 zf9ywS1Hb|tZmqHGtXfpr#(fHq1qSSf)f$F{D+8~74seM|cMbUDmf-a8NF*-=S<@#D z@mCd{Q{%qI24|icO6ifP9kyY>-OirA0pG43h%UNcr-HX|6`UuJy3lZvFhe8y1~^2= zVz(T!q3_mby@S4mqRq5P_9MShG{Mu2yDQR#`h(-{NNyg2%O7xLPswm{=%1s!fIlHty zW%;CQ`YDWbTfEQDguz=iA*Dz=b~by`eSsy>Mom1kqW~6r+3`u3~M_OU9Si za2d&^&Cz;G|=J{47vs4HG!5!4Q2XOQrXwC*ikj z5F4AXB?6K`^F-xq+jirYcUiz`6mL;8H$@+{L;{^+7StY;kf*Wq_LXE0kKl@%pObe( z=e3pm>~qnavvtf7@;AFxlqwUTQzqt~xj^2E8I7e>r&#iOa=s4@ZPQ?fAf1nJ;5941}Y_s~1 zV(aa`81(0ee#;&(jST_S139%CkR{ms=8kgXglbMazY&XfW@is_Z;3pezX~v_5>YB{ z$5E4}_wx?;RVFRZt-mSjX(*X+s82eO zZna(;RmHjPN8<*0Mq*0B%xWT>%=T9$UG%3did?6g$$GD?8bR4FaEC0`MN|4~ZcV=c z3ch7)Q*h>an2r@xErIgA&3N!oR*x;C0;Zv-zZeWoWP8ddk)D1E#>E%=MLDywgd(ly zi^4nm3R*KojUT|ZI_fbEg(obZs?QbY7*IqA=j2+(EelIYc2B+V1C6aPI8$*&HpBc^ zCEsp;5P$H2t5ICoWVlA!+26&VfrDn2X+_pQ1t&WmLAs?ROmOHD&<0<3d8k@M8y)Wu zR~wTZ>+PwaXa8Viamt>2pe0R)m)TxCM$Ez!iL9LV(dR`s#&r9t@QbNsm2H?B0e*DU z;ln^$u1L?p%-_neDhRi~E0l9B&u3^mjkU>`EBYsBX{#F(WZh;hKM47)k%Pm?}lfpN;`PVK5{k01Mk z6-3rY9|3`q0Ssq|53t5fII=%;Y_RWEG%I8Z#7L9|^ct3?|;sU6S>vb7h$#0 z>FMGo7}=*T7nn58beP3$ref=a)3MkGf)>S#h5J5hL0zQ6-xh&VZ=2~f7(|z8Z2dKR zNfm+iFMq{7b)uvs(9;8~Z>{cMrAtaK{ErdQ{|Jx%pFeojZhao}3&`VfP5O7BjCMgs z0)p{>sIucZhf8XukaGT;XZ3G|d;TB)qJKhC5a>+!A$V-IG#HU?x}MQ(wj{H{!t#H9 zZQ)kjhvO20oP|6p)7(S!=apmN_tETzrid3{nuJy!b+!HTrGV(FrF>U)gAkAPZ4Psf zHfEiE@p!(R5VktYNCXv+sd|WwtCl6VnD&h!+)HOTH_<_g`H0< zLA9nIrS^J_gwdC&-}!Hhj(j>2*jcmOjJ#~``@SCfrfVIfJ?&jNGZ7^!LfT56sT_-S z+j#7B&l)fU@AQ2iG5273Jak>#G|o~;{}|jZsW@~GVP~AJbQV1E1)~%snQ4IPf_yo} zi?=={s$>&?9#YmyeO;CvyZmsx{i5t>g`fR>NpB!Bl&skLe!^NabSNB65*D+Fn+;jN zE4Ch07`)WBViiha*46_-@A>knH{ly}2^DDOoL3Y=*rC7U$YJb&1ARKg!5AuRVA(TI7UyGB{&? z>@wb8&!76thOB?zG~dI(M?CqHGv`$%_jpSw$*L0!dF+0S*43Sdd$XQsr3R)o`F(4x z`HN@WX)K=>xUJY-%CimDuB0ual{1Q3;Jn|pz;RgnuFZ6;oY;s`cj}?tvDQW1*i|qw+xVEHdUE) zBQ0ucXyZc5H~1>eigji9`qs{c6U7`q1VJXMhav*q95~229yyJ^G;gi>Dj!_$fSA!( ztQDIfFIKx){krsHQGL-x&8M>_skrx)4kPF2V;(-|<;*CR8qd?C)DV^%DfSW8n{z6% z)+96mv4FjQV%|wKTvo8}L`z0uttrrpJ(L$MJ9^CQ;HJ>6D?M2MHb5Ty5Vzi;!iuPL z)w|&nPs~Gzk?xyaEyXAq#VqkZ(PBDl1RE>jd7^AVIBI6YU?v7~L_=3?^~YnY)Qq2p z9%Y!@xr?5I1MG}MY>Y9we%!GxP0Y9Sy{oYAvQ^>OAY$4aI?|8Vfvlhgo-Wilx*Eoh){iHw) zLoAR|4iML-&?f0J7l)f7I&-q(t%24#Vr8vqkAHtWfx1FqSV;6x)7`%4&|!QiI4)TY zFP92B+~kvhirJxnxE}K{Rwf~jz-0(rw7A({XCq`ihC&g zov16-wDswsXS#dANaQ{;r5}!fYB!MesgCvHC861d(2K`0qLzkz^+P(Hovx-jyM?nL z2aPi7c}+5j8{$f(LAm*Pb8~|nXV{#wME+__E$0!KfE>?#a|6eWdm-l5CHMe|c+Dp$C<4UO2Cn0!CX znAlhlCQ-qEvP=quhKq|EMCM>@4A2Sj`zP034V|6uQh?#1A;B4Bz(47Kf)~H?@bpB2 z`mfotE+KN*zrWT>36UZKe~VE*x1-9IZ$i33+BH%;CMk;7#J9*44`fDMI+FE zA_@>P25ro%sj0z|8+U~s;@Kv5KpzGB_n3_DOUSLAol$&Mk9t6vVCB>E^QwA!8;gsJ zpIHE15O@HGe?zZnWKN(gA_vY_6DU1B{p8eCVEp}?p^=f1mse+AUS2~3is+Xs ztOH^zROSY$xpxm;ckGW-o@+pxX6?!|11aLZuOTUzORwSUMkb4mt*xz%O=Wrc>D3iP zjPEcIgnve_);9Cv%N0!A382=Xn@TX&t7FJ_|Lxk?&=9DU5c9aU0RLMZm^gh$IZ3?> z3ky3tJEy0otE<|wt%0py#lZB2lK}zbf;5A!Fb;@L^!Gf+O$wtCk{sg$T z@bJJc<(dASmX>BeE@XJ|{LFcr{`mNd@!6Q3)l0`v9zP~3YJO=ckP*b7hl|1QgYf6J z=TLeE64bh?-wu-3rzk7uT*fyjrq&p3|2Y6(Q)$uUGp9aQ{J zUca;fLblf&lzsGXX2AM}$YBD%d%-Na^Sfz@Xzz`tyLeg*0d`=Z5EM(@_yOcQNZScXl$;~mJW<_7Xm{6d00P~)n0US5b5IROTU^Gyc*Z<}^KaYBxJ~=5L$Lk%b zk;g~^a@fqwnCMrtm5I^ogUChbg9x>5^WP)`ksUWV{&Y<7iShf9u90TrT>LO7bn+=WaeM;SGLTDRw2?hQu=rM71F*N=%0 zg}y=znPX_w!t|JcX=4!(U>y^rrs};`ar?$^{T5_Y&-2y~R8QeQ8$Vb;YcvT2e_LfW zH-##sIYtvgG#vlD0>b}*g3<+!e@TJ|pLtco_|gEf{t5#1f!t=$)X{r8img~cyYF5U z+A@~;^b?@*CoJ_j6Vx)$GkDi?N z=tjW$?_5yl{_S|Y&QLz9LsbXPH+=;XvG{L%-D3>Y)XtKZMzSlt_LVE}O>3ItEIUY} z5aM`UJ6DDFK0HOmUmQdJ{H0%ye^n&z=`IWB5k4EZ_Uxs$PfJ#yF-_}&8ONtX!3-^4 z*($~f&Ou&pd^vv_{m*=KKC3SE-g@Q*4KD~}wnKnEe>eHAKAJKT_1{vsY%9oYm(ckJ zKTMHa`@+-`#P|M%g5dm+9&8IL;M44w+X+8)eF=+!SBzG%hg!Rk_x+#zfSRfTW28IDjO zc6`*MDn8b57RH;LTzzMSHvxj57Xwj`k*RmcQ*2652Xt( zH8Upd>$z4@8U!&lX3$g>`?se50uYgcv4nosPK~lhg0h*!3hzIwK-UcW)wL|Jl$D;0 zit$yRYiZ+wUkS|cECAwm?};21?*DRm62no(KmY-;+2(SAjhjIze8u0Mp=7`bjE!@D z7^37Exc~kIuVr{~B}I5l!ReXcvJV^QagCYvwXCtG>>-hJtd+?UqB7DI++u8D5}%25eH5J7j?&3|x}+A1j3KV=;eh?uCDu)NyiGNXd_fuf^^ zMvqUk^V-njU_KR&JZKOzYh-yV;F3^(>?5~8j$~`4f`o#3CH4X_e8ND@n^P1xc_l6d z(gP=vOs>rl5SrF|r)nL{<>Go^u`Mj|$1#KTy)uxaKxA z*;@R>_ja!Ss}Kc${}eFhxA_^~HoBl@Vd~b{($$2gVveSrg^6=6rg3s|c|stp1K+^f z!p+Y(5A!&`HYdQ&+1A_|rFEV0t_{$bX;}Kh)OA4&|<) z$Tl?3Rc3wi+<=wty9e9Ql^L&)>Ah;}4`EfLa6bHk-JZFU+JBP}BoNU7ekrY#cLda|;U_ z0^D7#kfHo$DqjRZi=Ww`0l7ff?Dz&K^tAo;1V@DUNL*mGS(%A(LBD-+>T>2}5b3XV zHhl;BUy9mh>UKUq{bxp3Uc_v6FmgZiF>|sp&o3_VY@sB(=zE1|@*Sz`0on$l1hhR< z1Tut>SH&GSr?z)Mf~Rbmx5;^(Fg&>c9rl`S&IFnlAh10Fgjq)(;m@Uoy??Au^Zh zOMP@8yWLCq5VV`vw5_h|{~RVVPLjcjW>LJ;{F|n-_;WVDzdzrYcosSvs>Uj}Z{cPx zTidGxL@jGy`Eyq25 z3)rN{Ecd>(p{}tIQczY@c9QT}Y#*By?VR48n2em7n27$W)T{W=1#C5c>+sw0 z2uSYjo=?T0<%EDgX34}YJp=i1K~1TrmzojY)H>#B2;rY_k)>@o#_d&&2zP8zyQ;gm zj043*oe46*j&SC=1KmUCpZZ|P-^kSrdG{p27;I5Xrdb=@qrHRDTOg3!JBo3kq}%z2 z=SgvlYaJdMG|&C%T~3AwSo(BhBBmX~DndJXM<;V>DW%Vsg=>Q<=FtNjy`&$S;^=T` z2dnq!?du$8Q4pvZ2&5U-kM0?}clEo^nPIUO3rfewT_-C7UsPn+s2=b42!0F_ssZ4b zxn>TYbPtWirA5Y-X9)FPqPFhkrd4N_+7#EcrFG_H_M?K})+u534qJEXITCpp;=x0=ws6BWPGR8n zna$Vti)NC7t(mbw=_fazoMlc{IlRZVXme!Dubi;_e9RnD_z0cZ-S_d%&(}Q+SyIi^ zeG%b5a&XJ=N-F|m_LsI^-b>2A-t6RYxy8i9u*8^7z0YUgCaM@hDJjF42#Q^xXzWf( zTi-^adhj9@G*D$5LZ zmXIM|Vbwd6_Ydb}l~n_xw8PyEkz=Ym8>dsQ=xbzTrEK0G&4AmFVa%K;loQ!FB}c*5 z2iA&>=)nB?&|r6ZoJKEbdVkC;sc0&~_WHa)PVbV{#xm4nZO`P401R3N!y*-D>Mfs5 zjRwrn%cI>)C8pYA-!Xh6#vZXPdo znOYw%Ikw#EKB21eac9;i5@Uj)( z3tT#NS57jjAaKR+rvST!BrPv39yD%q*z< zdvjwj>22jcqn{is#zd;RIi#EzGRMz*q;^k7v#AIB=1!0u4zee{<@V!`B@CFAK6TL? zAh91Awo~3Qm_dZ$BvM8BMmM5W8Q4w#MpsPAFHL)dwRC!GCM(A;bCZ#psDy}iH6=DO zT4;vineTml$o>`$>QCluCSBI(JjZSk;Z9?Z#sUjqDN8He%SkRYFgwcNTx#R&#MHva z@Y~qp!NOPB+HQD@IAEei_h`)R6P6%5Kvq>>VH4otW9Ot91gTkD{&F;Pb2BtFba1e; za&RlG>8NOc@lliX)Oj*|+WupxV9)TpxVXZ_%ft(DM0!@Ca+lD>hevnJVcpc!==vl( zDHo9EYw2S9)49B*0R=yGb&WgJBNXH4P+h%;J@|_Sc^RLEURrJ-|L4oaGp;&gvWLd0 zF8ygdK54Qml!9G4!3ECw)!Dg)y{(m9WmTD_&DAA-7T!6|=>;}6o|a}d1U&r|{Ukg* zobxXPgjhPd>Pq>)F|Mvn{%&H!I_3sj_q()^M<;zd{`iO~Sr@%8$&>zlGeu->E|qdQ z-_{xnine`VP*%dl$Z8x>nc1ib2fTZ)lpQzz)~s8b)Mb!}j$qt-9uBP8RkBu$U_KXT=LF0&D|)?dMxWda{{0#p|1A$6Gu1E0f;z z;tD$}7b6$Dt~-5i5TdI<$>}JCJIS0%?x-1gu_sRl{~zV4>;Cf)O~4}waw`{b9|Zqb zHD~}6dga5lI3`ke=IcYD@x&8CPEMUBpN`M$xRSQ8q@tptq@t$srOEVy2jck@GXV~E z=}4NC3@#E9DiSI(ViLN*&$VqXRc2^)njESJUTca6N4l4W*pCeIH&0~dfcu4{{r$qh zL9w9y1F&jcBwlZEMO9Q)5VXM{wAhh#i%9Cpavw@kA-Sigdch|rbZ3a`Khb>N_@ThW z{RKH))t5H@W*WmFHOF^|yX9*`^NoE;61l`M5I*=;%2}z1a2yh3=;#Nv4yK+wVCeE2 zVWMw)kH&vOS+fF9SL?8bRL#W>Gg4Z%x@R<$;|vd&!`ye=4l&Qz=O4Q!`p?IJm`v*i zAbiDb$$qHIL970pCKI=%z(`j7d0X3s?eHa}tS{&Er9pn4^Be(6Uq#!8a*wZ?mVYpGb*vMG_E!-wKO?! zw@%{G175wqpE$o>*<6G^aYCMfUKmD-jA>}~R`^&R1?jgE3*>mXjvu<8Apb)&d!jNj zIyy2cMuO84w@Q{q7id*gwXe?sjN5$)SzNl-=-I+FsfC*}JB0Dh=!Xoh8)>VD54Qfz zV>!0;t@3Vu{%rp2D)#E-(~nE@#uuKfg#^c&4%L?R&idwNRo>K#T}M&vGb_RM^Xq=z zFhN@}D8xD-B_ueQ@f5nYf+}w<{3E=?ebb_%KVp6l;!D+H479L*cF%}z1i*`*mQW_> z&7B!7t-J_Pp*)_j+BX6}WEwL_f3WPvVFz>vbM%!O* zFg<$|F_~yD8Gvag&rsjg=4%f68;pdEG2@T~cj~F9xA6YB3%11K?+xth zC}=K`+t5=Vl$u)`S6dil)?4T4-33BpzzY+Ih4tA9daCEX0xWSLPA&a2<}A&6?1hXM zJBVCkX|corRs1*|lLj|jjy?z+o%@|2`*#W|ID|m0mhkN7?da^xVqR1PCyWdpmk5@W zj*<|RkPt8umC~A%bZmX4O$_DkSH1Umw#dFPIfikA=did+AhKMc+KwhNN|KA3fLgrP z%l|WQ*Zxz!;s6jkfk6@uPV9SJ*kNmHr!zQ(iajs8=a*Mqm{yl3M@?Dn1w{iL5y?yn zkQP*es^YTvy6Q4+u#y1gsgtl4dmH>#JE6X9<+?Fy$#81sPg$Q-$55f$!1m9@;#^G* zZg?tS4_lQVKWtUhn17ME^xegm*~hHAyd&wK2)Kz(7;AG!06#U>Y%#O4v9Pf-u`TRr zpcb!Epa1YWFq4kUr6gh5GDs1ez{|rmxt}BwGg$xp4k4tkRxlwlwF}S;WICUOk}D7h z5KB)H-Vmzx4GDos8gj-7La4EuwOva94$ZvwGfTGm>zm@yEY=59WWs{Ah2wf%R^%S#YWgoC@?D0@V>3?GOe8+P%&kQhzpSvRfQOIKDVTIIxi|@g`;8vS<32w{i&R5 z-<)R=+y-j7g5{tnD%_)326YV+R(r8Bp7-Y>L7#hG`C;fVh#srEusAHQtSm1mh7`Xo zxnd=9y}f(>PXX?&353?XTBFM`*NtmIn5=EVn6}Z4_8O-saO`IUXn!AqF%idpGd#=* z!!ElUFFM4w=4-fLW{h&&Wr{5&z>%hef-EJm6+W*yvVIe56i~H}qkrg=iu?dlcUpGc zJsSWjqN66QOC_R3qM`xs3xe9-`X? zQ3KeN85f<+)K-t&E#!tVZ#C&%^QHY4lh&vNXX$0caAG0Bwgb1-M1A}k}?~V`6!S^4ZUvLn1pu6 z9r!T1`m~*;h$*~B__ZMWM^ex5D=kj?VZCBHRH5?E2;^uq{aTTFVq&2h?^1nI0jKPr zJ$Iqw(!IW%CtOlhUe^n?yXleTF|R2HdlyqvQ%iR-v1EmHcY1DQd@;GvTuFSlA*0N-#WUUO97K-;Cbp2=4w9JRz=f@Nd+-unox}z z#-=JTv9k`1$mB)!Z3(mBL(HsaGAw%q17IWz?1$y~v^LoBOxQ8#p^u8pI094S1Uj0U zsamOc$5%G?_E-4XIA;VW)|NFF)Ujcl#Z*#~lC|b3l~)g~X!lvnJ$?3)gtTxpkt`ps zuv4|jdoX;h_jZOx{-J0JIFnVE&CmFeK0V0QIZ ze>iQ3&Fu9}lJz=mrG$t3^RPa7;k0u=;EnkFfbl=bpg=deAcY>nffsj!c-$JpsTLp= zJs~C4=plwT=v${Kq{RlTeV(*jq+0zsm!>BEoR)>Njmv0##=1L%wNR(K@mJBo@z%)7 z^ixtf*AOdLd65!*2`MFxN83$GQA%hGV zWuO@vf$u@-Fc){X-b!t1-zz5Cw~y=0Talmt>@F5mnGA#l40hzmpwGrePR#v5QzPAh zzTNC^))B&8K1M?=GcHXtD-YgQ`+NH?0~e{sB`YUAVrp6RIz&JKFDtBQs?O807&gi? z+~uN^Cc#NRZ8;o8F`~j#opoOL%$kNqaFXdejI0~<3Zm>~G2+m2@u!b0KUdH|4oFdP zb}pmG4Ldc#IVLUQ*&MBJ&K8dEhe~X;p2O1)oHI?8r=~tHvc;I8(c*Y5KK1P>Og9h6(*u3nIw^gl|J^d*wg>ehNmmu5Y1m* z+A17SrxTQecV&a3yl$IZpY3o<^PHOMu^}@niC0%w{;h;glDiC2Gx$S%Dt|0YgxGOk z--_-~dHFrEQxeCUjtvdX)Raq}X>s7qr+9I3zr!;pG%M-NUWSl{sp;>={Ls{ue`@IA z9KrI4(&dgx`!hRuYTYapUotbXVM&pL2a1u~q*8XU7!|AR=%#pj_%Jmw-SMI&TRENX zc}Q8^!Z93e%HS)P^+~wqnv!*g%k#`>)9oCR8LDVuyM)LrO#Nl6 zQ=Fo-$4a-g&Db3$xv-<3@Df=SUbkC=Dmxx|h2X?UA0eKjfvSp9SO&x~ZchL!O;wz= z35qztX?Ux=%&EcQ1_}cFmRj;RN_bZ13Tu1wE$Is>6BU1CtAQEbJg-i!eXsmD86gg4 zNl}&Xd(PMP`HzG{bwzdc{dl9THjv=e!C?kGr!>6?r>(~iQs(+G_!xG(6#EUIG^MS% zmhSo>pMV>Z-h!TZFf;z{vPr?$$UjQV`c6aMCd`MxD{jioEO#Km+WEY zW+GEFV7Bg$K#(mioj#Qwq4cFQZG+}*xZBGo?W%{bc*95N@zQY(AVNP&RPw%KC{rf> zHS~V8aS<|qH+g8!l{7Vvf3W85P+jo-{Sb3m`ePcFmbPHuQ~5VWfSw^>s_!uKw{E7Q zTWHR&tEn$8K^f{|+JeGDTDiUe1cFc5a#XKk+72kU{n$_ektx2s?z^e;kx~T4jvVA} zkEF;b=^1`Tgs}Aqo1j40mt=!SB&l)A6&}qty>7=lcWqmZtJg7N?*AK_nfLqWxe^#4 z5cMS}-+N{UzI?`$ZDA_lQzLgL46jUOan^oJGX&*#?s`x|QH<~bYz9Bz$vwt?}n*cM$ooz~_QOG3V&Y#COJS!3!nW{<3sQG8! z4=-itQprcneRZSY9k;Y=wKBcCyBot>p|tk;`ki#b-b*YjD<{kE(?V3r#c~V}LjRKB z5zE2)?d7HI)m@n-JglAzjI`yC0Qa~^3rv&3+`_5;v=|4Ej};tO%W{|!Nlum*X29nV}(u=?o4)sDu}I~ULn7p;d?-I zHw^}G)l9JYg0&zfXFuIJxs`C?I3$oMr1Ry%D1k1{Tv>s?Urk4JV%*?X$S4DD1 z?sqZYP!@Ur|} z7*~W=0vs7({^bBfJ5v%p76}ZE3>e@s>eot$YZJW7P9Xz-&4AZx@yz`^(p{%t7?0e; z;=)9>?jJ4`$A<^q0ja~?>>kDI&!RkK@U=W`+0lQkPOx4P|JONnSbz710-Xi^EP~il zCn3pYfBaRGitpDFW#;WrJ-e_L7N01&eQui8kp0XF3gK4GABCBYlaryBdVFzZXI|HZJhD0%TfC>M`*-RKUho5> z^P-3oj4#`y>GM_oxoL1e{fL^G7!}k66?H#xA2ebzMfvs6b8)Czw^0cLg)JhQgL|iX zh~^|oaj~U&R`20H6O{o6n8}MdEFd#g@UHRa``YX+%I4xvuh|sjidPMd_OZRm2&X#a zewPu-5lF3#k16M=hZ_0`feu9a=y7>@d2u-rF$RhJn^X1Meqv11+Geldt;AlkXSxK$ zd4ufzAF|$Y!~2LYP?xs*(#aak9(nC$#waB6$inOye&s%#w8=7uzttABu(Y&-1217{ zXdv&d!$J8_6O)Wc(Hwl1S()ILs4^whmG?~ccToVylr*D5gzh(5o)E0AJY&HjiHfVV zgr2a}Sn_kqM}|9SzX26AVYVxSRAxyU8mx7-jC{;2>zkXJTkDI9EL_v8OB=cwI&bG= zrffzb1EIZNsQvjU>bY3cN}6v*eiFXwfHDhB)y^$Bx_)SY=5Z=RGf&lcgaX;#0f}RO zT5y>5lc??sapDRx4Ux3ec=crp69>nZ)`Ra8~073GxWB)kiL<4cw1+*@X$u z4-)2Ydp6brIKY+tbwyZ|2;+O_;q3G4mz7axNk>Cf7kd$d+*24S7EytVAkuU|@-5)U zuR}dbYP5mv^!CrRmrI@+`G&b2M@+4-_0AV5fTacK0w2NtUxX%S7gmkV$+k0_zfuwo zK%t2W)9sDzhH%;jTEOx~&kSVO6|O;m!(=mN5ZJ;Xtd@E`({-xJal)Te-DT#sRPP5= zUilybDqIHb9E>cCJUxsH0`p5V>IMrsj_>|7cufAOqfHo94h^)ze49wwnTbK2lXd|Z zleNeyBidU&5c|JOy^U*Iy2|KlF56;biz!j?=`TM6>k$TwQ}QgQ)5pJ4r}~2X{{IpY zTuRR125gpL3ma6`0Jb zQqmOUISCxy(aYUdL$dvZ-%Pw-nCDlg4f}hqSt1q%1qi&=YbmNnq7q#&iUNw4yF7W% zX)^)7dH{^v;Mbvu%=?M-$@rC;1ssD6dTMDIH*7Q{BrKE{)}D44*et_i+iIHesY&XS z6S}f0D#WjHm#GSy5=tBYyxypdKA>e z)J$#NIJif(lW;9^hZJ40u`$3fyDB;8a!<0o=YoP7pqkNJVA5$Lw+>P?5Zy}&OC`_Y zLV66go#@|jnJ)fRp(xzgPy|VEO(tOC1PS7}B`(Ai>%FUyG1&y-%m7w9dNF zhq1F$D;COE%j19Dn~5;syOc^fwu>{yPbz#)E?ntBm&@DUbm^?<%BS3pi6=Yp#J0W8 zYy?>0^KAqFC34C9nT&~5Su3shPnJ~@epm-T72H#mmZ8F9QVjj+SZ^pG&YO0Qq{;|o z);1m#qqJC_?^H2QNy&TIJhuLnr36<-jZk#Rac~ocx47xv+-(4tbgu{Qkts3kj>%S-Z3-TTk6T?=j&nm&%P;08d?|uQLrFYq+S$AM_rtCHI$`X(jacD zSSY#ecU49B?vDL(qhZS1yrY0ShOU@Vu=l`iaFK*hXjCmBGOq7206$EQ7Q>1Nh4K-< zY2)U|%gHZmdk}tMe317bp{c{+2tGazn)n-R_j)%o3yr0B9aVW($7@%0fPuESs+ak3 z-O5U|N#xZ`@e;qitgrX-EZ!zS=fC8u0qA=aAD_hJiqCZ@^%dSZyG=7$7~mLEHRYc@ z+-z}zxN{ulNR4RwTQiBzvy1=B;O^4h3|SfKM@}L6G^rqXs61KMWLX3+%~Z!7g%RNME~Qic zEz1}U#fX>I5(lx=Z8gAeSn*(yv_j zk+Po~?NSm_(titgKRy|xw_E;xpZ?Ze4WsnVMl5;csJ>93gY%zbeZ(D@Xqyn{(;a1G z!d*Bb^u#7Mrl$I?A&K$`8wQdpo^%TSxM)I32FYD%fO`@g6%VeoXbcWqN91fd>Y)J7 z%g-}Z+GM(3GT%8R>^kLy*;xjfd5cs!KAmsRT+88vK!^M$D+)tEjN}ewJ?w^dOd>0h zxR^~~xw*Sz;WPJw%n=iQet$@L04{Mx*n98vt?^H}3tYn=vT8K3ia1i)1pl50w@feMICPuZ8yY8P24VL$!aTLBowS`nG$BMRNRm6%?iujRsAM6_1+3?`y-C> z=8GNZA3<7CmCg0#s(LMTwIpL^6dH5gKS|_vS2E!R-s;(TwBsCfv(QqITzZAKCYPoZ z#>H?5LREC826%VTLHLlkNHQHiQIH{f@IoStuVOx6e=hR-K_Yx)rt|@Dc@T7;Uh7s+1gg-q9>Y`(B)*5#4*$%vmZw9;VIW=9=WN`UZ_C9~c2 z^V1T=NQ#;qr(^jr6Dtmk-uFE|;v0?U%|9i-y<@W>L0)=s4&k}u2{y1m)AGB3#hjcx z`EaX^Z(HO8h?e-LiU;EgOpd1Jd3jWK9+lr4%M*R^UUmunt2^?lE$?Zc>QOxJ}HRLceZ*NnV@`8i387(|sY3QHKKc8P5u|1TP zbcEFDsJQ7PE2d;h)IB>kb=iLJ4pER&P*4;QlH|_+V)Ick&~xHjkB*I8d$#d1V!*6j z5?|6`Sa;nwI%0bA(BkS?-ALXqqL~!CHlm~c*h{`TwXX2O$3HmOXX?1GcQ*01buX;i ziE8J8L4x8Udk;`XHa6x(ejnJ4k!b24Ks6yfP(2U4HODw)@4SL`t6L#+a7R-QTS;%T znfr0;7TT6XMy&IDcn1kgJHy}v%F8n=HaI>Nl9iH*46LmDXyAM^xIEm8hDQsZ=))Q+ z+BSNowIFP z6)d;CF$)F8cScCyE1d8fASS*2I=lM%>MZVCUmTB11^kVl^CBR|%`{PU1|8C{RURHX z8d~(I2E_xrF?0WPUwHS>_xzmRb~~HYB@(ck~JFtG7K)vb7*zVqrT~CX1cfUK=%P9)v1^(7^7?zNdk)t{Pytycq z@!bEFgclnU1i+J_c1~v?o+THg1=jHM|DQm}>7KyF)!Cx#45%#!mhf?c_UZer{G$QdUw{a{3Z<$h~tLYjdr!4%Zj8ERnfw zAnk0Ov`RZ_@25vSBbTLT?#52`8QtFx%=FkcD3xe9IT{B1UEDl#v--b(-&W@qd%A&} zu-wUvKY+p2>>(2i_X`b%9ha6cAm^ATCLK1nn3@)vo29TKE zMz|SK-XV^m0Z!53>*N#n9K@$jitRmyq)L?ym2C^L&fh?yjyO7{E2Z6qj+& zN(_K+9jX1}dc|D=kz7*D{qy#_;Rp49ZqgGeq7TH{*qH8;n}pfo+n=CT3pWA3>Fe4c z4M#O^x&}fi-EXvXpt?CaxOKe>%8!EH-S6CQ>!07vt7sPZ*tk|>(h5ajpanRhjUs!aIm~_C(VczMRqoOIm%f!c`k)@S}iUOkn zAM2qXuh!AZiIBg02l9nLhWKb~X+RU= zn6rqv+G~d^SJFlkU%`Qxea@hS1gVKhiu^>hD~EFtX=fCy$guM2-TRGyokAVxxdf?$ z69C@lKa4LnBlSDHA^Uq10qXlXUY=ohYiny`=T3^L5T}oALrx8tfD0Hr=K0bVsAlaA zT4-;i9D_g5G~ux>;y869EH>1Jtbse+-s)}07EF*K-ZP21I{J>}0FZ~(!P&3C>e8?=9uj{b8};j*uXwejZ2MLh+5$1{kr7iPz8z4rB$`MqAT z)kRRoaGd>mg-5t2ti=GN@`DfR5BAqu&8NTb7NG0npr$L;8SNPGs6Z>IRO|aeMCc;Y zBm2R!?Hc3*Y-aMz2PLWl+4;Po_rnYt=d`zGVn}>vNuM{eJ01q+Rjhy87w64wkJ{kD zV}L;x_i8i@k>7)jgenZle?cBMv|Uu6?q^fGV^l zkiPHyz;!8rBF!RMqp!MFjUR{|_!nGx9*yy-HxR8bDI(l-rdsQXAdR<;942EMxY%(> zP#-H%F>|qu5JhFRpZ<_~ub-_`D{`|F`{Px~!VFJ9OYOI^C=hB%C_TmrfF63hc*wwO zYqpXEVF_^Gqncb0O_yzb%!s(x`L!W|$hLV_S!&5_h$usr`t4wW%Kg9t*FbS@4H}-l z!_nV|Pt5LPFxKt2P!VXjMYD6|W#tJT#+fr?>E1Mbq|bLkR9E(c^xx)&>WK?lwfjCTD1SG zwSUx*1mtI1;7&o(YaIx;dkWHP1L)dE1-whiZ+gAP!0kFPbJn%$p-Bu5q;9lS}FdncmlupofG{`Gz;e+73 zU&MzxJ>-!1^$P?tKa9V0}7R2wMR;%yY!r)~spZf-vw6cpe4kR*HD|2tYo0S?^b zI0x8a>Z^G4*NE#j7I(NpvVG@ccgc z95WSQ{7ml&w_^Z?`~&if+ArV8ZsygT6w$`o%L|t;lbG-YLi&oKZhS z#J|Z}-|}TwTvGCXsbf+9pVYDcNM__<@q+(YVnK4y#Qy)a%s>?d{3C}UvQveD{x^n= zGUESo&&UAEd6{GBiJ0nhk!@@IXe#rwcZCJxy;}T`-!AY~z4qY~PgZ1Zh08u4 zKeTA+UbfN*=8M`Iu8Zx)C^n~i;zYj}o#?;mFMaovx{*^=Oz2=ZY^RGXO>G66XtM9t zbAB*Qba&xB*AP|pT$77)`txpnuh7uhEpFxAl};yo!h>{Fl*o1)U6*5XW_^8ykMX7E z7X6z+x0A8GmelK-Wna`vB^8z`_imis-FwZ-d5#*4xp&F8t`BU9SG)6t&YcI(BSBXF z5o88j7VWD8$m#515cP=LnqFnxDe8)e886Ey16elxPp7`g_8I^cp3QP-Cdi0meyhIZ zT&%923jhRylm&k3Dma~c`|l_G<+xx*Qq%x5_WY)0sCg(t1^$zY#XR;&?5SGc8}YRg z_Y(QPrTPl_?rqDpA9;kK5KXlwhE6!aVUP3-*bBOAWQlE>x{;l8TFXEqxVXLB(h!i^ z4KFtp<rG)U((F145&n zSN^#EQyO5NV)oYFv8s)I)~Da=Q*MQm-tI|}%Xa@DyuJKjKwV+Fe#+kG!d8 zV^+%vQWmsXxBVJExwv?l-G}9jL;H;qW?j%&>cuH9vpliN*3Hhw%(${Rv&+IH7}gKa z#lym~J+s5o#TDlX{6~nid`Tu_6jMv}H&DFOf1r>`)2?>qEbBfZ%#M-}9%P;8-*7t( zN`hp-_&!`=P+;Utv`Mspn+=TR?;@)qJ9rtI9C#;2s)Qt@EZqk9 ztV;gnUDiGjOC*8yDttGc?_>iG&0`NGvDsg&5`p!`wi5?9ElttWd0CiK1)CrTK_K;Lh+ zQNr!j@7`|!_BT24d-tlPx^6>K1pE?UV|ySv7(bTNh~FnAD~xA$dffDAc@c~8$6r$f(l)Zg(*lE9&ziTP z6xZ{?LIYvb2KVU(VXv#B8_;t>2soE=WoEuiU}05Em?IK(Y#8Sfop*&_?Bb*n3RrF0 zI6gU$htxjypPjFyQWCJ!;7rpM;MZV%pM9CsGOv}vz;MD~(dL%=0o@VDadkeabEC+( zEU--JU*TxF<7@(-7omJ(KNH!s13m->S-F2hezb%U?Yw2_}QkZ{X#}Yc0yJro-7R;3I)or8RzOmvMJv`@r&l;LRHE3cPi(` zB3=D3-{~sP8^c?wlQNUex@QKW>ykcV4)_xFwaxhKuHZ&uP3@?VG|^~?fZWRvi7aTWamoTzPgL^z8+|9NCs(w|Z-|QG@SNU10mZBz>r4q8Da02$CD?TqdGV@|5*kUgFzo}6n{a!qr;j$x_R(^+pE9% z)FjK!`%#JQAJ{}Mu&v$tLxxEsgBxjs802Mdm8IT6PbYk(j7X;AYMm=A?^@SIRcpM13PAW~e6( zMgc!y`U}%W58$$PhwH?qqzx?VXTwufu1E349FZH!wevi<2&HugsalB!Pt3=ahb_;$f&MdDfBF+cM+aQJPUfG3 z)a@-806JT8B?Rc`=vZQO75&6NUNgdc0i6dKGZ)xrq3KeL`NjpQTUkxDPXCCVjK?D< z{0-~&=>y*2W^A0>Rn+a)da?|LLvL)Q^OYipm^k+?o|dC7xlY;c-G-oj-|ZzD6r;|? zDEigd0m>BKm-c*W%?k?~q0pb$L+(!qgKA2ClvIyUGn7axwhs|DiS^ceyU_NW}^wE3ixIcrs})3GQ%{r2DoctNt!az zMm;uvTaOr61@tOXs5NP+om}TACD6xe3Jm6eq%2|(Xstym9KoFE#} z|6%PNza#&iXyKVm>`d%rV%xTD+qN@tCbsR4oe4U&ZA@(2x&8e;Z=Tn8-G89h>T^zg zs`jp3yC4bp7qiGz2(K;;LJkR`JZ}>f9ozUGx*vP8O^}$nYyk|9qGwDC{!K3ku1iltZ`@R{^w$l7{bA7Tyc`)@wQt4m*7Ef=1Mj`yuzP zunND_vd=?DyMg$JT2`DKa1c}9KWO~tk$rKRXK0iH|F}lYGSwb6XZWX9MZdkA!$)DX z_ZB9~+}!Sy>d48rb9N%B?3=6Cd8oo7B$$~hw>-3GWIKtaCF~&gDkbHwet*`A2~6eC zKu{wMo#ORoW#MJ>`T*h|Apt(#lxPvR>JReYwl_&YRjn_DEjx_w{G)PqMnJ0mu66JJ zuug#B<;wMQBHm&kJ`kzzV|?rFSdws!CWc}Ak*nyZ_jJ^vu> z<-()wbkvcSN8PGas0g^AyujQ_$%iH_V!QfaOP2b(J$^iv17?%4rt&WP=M{!f;aMsq zq=agmA8bCr0|A$mv79WMm1QvG|4s}ObYc@%5%Tw$RPqBRP0=4ACeveAtP~a)<=BuY;C%8VqQ*G=Z zj2}M~Dk4X9p+_OTG|UXTLL*>N(Sh{%2+i$h2gQ#H6qXVN#9u@T;@(D9tANBb!l}U; zGk$rNQVrwMl7hkWq|7jFX{A|qvccZni{~}JT6cpPmSzP-TdWhJ!Tx9UQU>{ zp!SKg^9Rw|mk?l@XPZ?3h~Sx!U$yqIKt9upZ5E+Uop^{zzsfJe`U6+sFpUd=d3)C5 zFYiP7%wb{W`0R5xoVCOiwDy?C;_QaBY<}`_*2_-pum1&I=p=byQWPoz8@k#e!Uszw zE(2bT+=Dx7O0t@JT)%n^{NF_kQ{eBrL%G|m{igGwE&6<(nQcQGF)J;bs}){wxyiU? zjWmsA_Bh%q1|b_hKDrb#GdsV%o(l-e@`8F=k`Fpf9x|@#hH^}PwU_T85%r@x+J0J! zMyy=_TOT7EP%%v<;gcSH%R<`OTV329q?GPou@v#qk<$`e-`;rm=q1f|7Y`yL&FJV4 zG5CAOc2kJ%>Skr#a)BJliHRzS^8#^~@P^i5(yyCGimL3)F-BuaN8bp3vhEzqmhkR63S8 z^oVKjU>x;nm06>qo1bu4Sb7L7_Ob))skBFe;K%hxfaEsE$m{Whqn?_Vp2^$DS1n<8 zj(sjbVN^FvJ0zK^#jFE1}DN=j8VwOWJj+~nlsSaM?Gow*X3#Kc5XQ`5P*IfXp_!J7ZzSHLxX zy%eY!SxG}lDG3s#hlUQ0f~MjsH4LhF*w{c42P1Ryp`M<6004`S@XHNuIa5NqmiOAt z!woXa$=&&;H90+_1?tE~%x0l-t9?I-l=Mwa(h+^`W?0 zy1|+Hq(hLKzc)E~KX#x{mh%th!hrES-y zbUw>YGR~x;z3z{NRHcw!DLw@1W_06mygn{F+Ho8;iMr9ELI0sqij0w&`RAX!fB->D zOUmc=mKMk=aPx&CD{JdMO&%7O9}ObpnK8uOQS4!{8ZijDynt>gkmfl$8My zSTYi!5~W53&kZ-5_kCBny!d&zc7XCK8%x}+Ynj%(##BWd;!#oZUl!jHmTS3a3H z;C>_B6^MW{v!BOFBth1}eX_Row{bJ$ZJhtKm|HvL;o)B6mN--oM4t~W7>;w=#x+2S zB?wk$|7>9X&sAv9Jh>+@@VkV>aDO<`+v_V>zaWg`;Y0=tFE4MlrKp&g!$#}uzkf&= z-|x=P&#$kq1jjhNq96mR3fi?l1BBE^n_cY{~^ffpid#2)X2A*88@AEnCtbTP^1rN}CEh<1Ic zzQMFmUDud}MCx^|&#xL<+oCpy2TAWdUO5cyZbEr7dX{5$MzG50XO*Mf#DM`8QoXyL z$w3%OFDxsGU#YhdU?y7fRuE#%`x-xgf%)F|`5&Ykh-cI3jJVIFEu=ES(Pd|SsW`5qF!`%)Pu%4dJOVv76RaH|{ zQ&CYXx<%auvk5BcB7FlzUTx?qAq7wVn`+{Sz9xQm`}MQ2OR0~sxi@0xTwUd%qf@D+ zkC(YqqY<&Gsj;zJQcZ(0^CTB)W)NZ!FE1|;p$Bg0{ctLk3^vBaT$F?RRYlx0Zsg%O z}>+Tk5X?76&pVX1H7uQ-*J)HLIfy%^NiG?19w-eI_7u(vxG2bh@4EiDXH41q0q z);4xk)$|Nhbd;2ov~+go4#!yb47GqM2I>miDm*=`&=_V(kG|$l%lKw?YD+=N;6vzCMC!Zpilv~DkdvC%wC}&4O}xwN>uYlx z{Jg<@Wn6!`mp5nEwzhH?GOEicCy?fPWYRp_xK^#&@Pbt;Ud1f}*zWqtK8-h|!EP9Q)&ajM_%3B+`JCe+#E%%1=nhJ@&=u$;hi-Rmi^`fc?84} zUmn-Pjxy#cw9hx(NNj}X2jU_D54bovS2VTKGt$xTNiPppa@uSAN5}fczzp~1>Kdj_ zYP70trFe|1$iJP|2kO<=)t~03HguYh{3;q6==)XBOOTGa6uz}R()@Nrw$jrQz(rd% zXYP&!^=e+QGZxgCX>AO46m%6Ua?H}_5Vgmqh7JKwK$b$kG~GSlW(9qPgn(OFn6#bL zweVPG^}P??v^%wj4A9HAl^XJGdFa9W?$-hog4bJnR9zpBnW-@;Q7=!ON!n=y)ZnEoc#sfAhulKuMaU6;r+8Z5oVuP`5scKiJtqlEolRTHzFpJoC% zer<(imG6BoB;t_n3et7m^#*)eZbPFBLsMIyA2w!mZWTE^9;m2SYn?7fk9x@yz~S8D z1zM4r)B6z}E+H>wl$Q8{fo_5%6`#;3>(+uiL4I>I2m@3}0qx2nE^=QR~X$ikJn39AiV z4X<+aE^=B!yXA<9zBH_V1c{MaQ4CjHthAy_z9VZ%b5(UUn_9_=l5KE8UV0R zrJKv@(Fx~cJ5o8>`R}+`-Sac5E5_bk=t8|l+tLN;E&_XnldGbYTMO8U3p8- zki?=)PzrChzOG4~*koAZVzt_lys)^4?ja=&G|Y)sc4p;Kcd_>iQiAiuR?f_}ct8y1 z>9WZ1P~#pNRxS%q3&(%{r$^rt*jmW^(D1~u)8Iz&)P}S|V#d0{&_1qw=e6B-i}aWC;NCB1bYsuFxh54pIObs20G82ly&PsJ#Gr2k4R z6BhHp_xE>@ZD0CWU|^u-!!tJ&5`pjABOL%TBq=NF4Gw01o14DIr4!|XS`t@%d1)t< zW;Ms*00R377E94nTuRw_ga(VRs$Y8h?$p!F-5SP^qy!+TC6DOkw|rJU_;eAvig+=b z)VZSaox+Ik;>zKe1~vlA1(1^{AWBtIX5{<;WJiGb5z#w%_AygyPkj=|oz3g!@#!0& zc6&eGcT*p`f$J_Cq8gNWs&I$8qY_khcGJOJ@dTB9Z+aVo={oA!>KA_W&KxdsBKtpzOPhMG6Mqx$r$}*&Q{z>$NQ|VpO(Fnlhi>gIJ%b?IyQDnh$n;=6^uRhzl{Q;^+Z0tL87zBZ_*$-~o8 zT6#E)T7dAtmz{lSy!PoPlb#bRCx=j4Dnutng)p5Ap24YhKNwVKw$iqbCQGnrLdICm zEfkZaJ~kst#x0(arL(#)M#(Rf6{qyaVCS$S5GgL74)O0|a;nBZUjp)8NuTSP&kyj{ zXUgQsuw}_{(RQ2a*o% z&ghPT@61#&Dh@maOqRRFWz=NfllrUY3e+f@S%m{*G&hz8iFkE`GlZ4b$eX^I+}S#w zddWBVNsC*+9Uf|%vrM|SLSP-(cUMsPdCBX9M(YpM5@FbWI}HzW*z5+7j!X|DJ&wu< z$w)WZM9myTQ6mKvcToqrc(~TWI>*~|dB@{rIcda(3hEws8bcgfZ_ZVR$oMW4-FT2(Z&k{2}l z)JcEnf{Z|HfpSzJ9;x;!l1trxy}W@ zxVpNYo}C5eFz5q8-Yg(Mp{>~y`}d-`S{gnRFLJowoY-}DW@{eZ&it~v*4nacQm9pB zTIe4yiL!QxjQlKZ6F!Z7?P;!!)9g4F4voYxz}clT6E{MFcc;`yY0lm6wbJKmTzm`q zdcMGYeuf#ACgHP+zVd^&6t!>#>|Nl0sRFD%F~OL*S6ZW zy1JTAmzUv9|IR<%)aAU2l|Lc#;G_wnZYiKL=NAXtTj&vbC-Ob-S;8;Ww&9xm5C|yt^j&*iWeXSknwE>xX%8)e^LiJ(Pg4!f z&hs;xjo+uXr%>JiCXX#*O(z9y$x(fSOqZZvVQ-z;$1_~{R6 z+@s_2g&FACF?1pzG(NTB`jeBHc^BjZ`?L4%Xc`F~{+m=(WF*L`W2@bbM*Vf>e4|Z8 zOpJ_+%gfFVA^m838^q3SA00v24%u2%Re#3vHX_&73H#c;qDktLmr~?%YBla$Nfh{V z15-AR9;@>+NzsYf`4RhjkSOL7txbwK%f%4n)C5ce!<=q1eWUxpr2o!^@tX%0;XkCP zx&8e~06n9GkKDkI`A$D76P1>(6?3mGGq!+3uJZbgHcEP{b?xwSY5j^Ia$aTZ#Ira$xcOBNKY4{}WojV#@mqfb!RQYdS4R$5 zB$Xdp`BiqBD5Z23gupvviYITyl^&Q3(j> z$;rdi1kkL9T|f^5bYGAQFUvT>ugc7KGwyKB?A zy#Zu1Cje?1n4G($clm8OpV&Muge`ermxKHR{Z>rab>`SC%Z^urMoH)t!+ez)cb}-# z9+OAdDpT6BLPHqe+!w*bT-Bk|xy|Hz8%SArDDaC1xI>=6jj}cYj6Sk8^NU@zP^*mu z!QpjUO0dGOe97uIJZ+uuzyX=}Ag zhAqU#uDVn!ta5o#u>)LWrH%K~Yyz?e{tQ(0l(YUQn;DrmopT<^N2wfWnBO0#O|Vou z1Ys=dH-Z!29qx?v9$0ln2(SfO>4n7$E__J{Q+r-;wdcYWO%q|u_pbYMMX)z7qm6k+ z#hPtVWj5LF(_5S@voPfrgT<1jD}w9x^Vh~6o8{@MM5wRb&!&_+Scd(SSegZK0A{Y@Btun z+L!k}Xl8dE`ZrHzO7x4f*sRvX;R-NKD~*Vj3d+yqv>|bcK?b*yng^01>UF_bWKgF8 zvDr19ot?3z@KBLzk;7`UFL;EAv4Ci+`)}a4nH%qSRi|%C_sr@?sN)k&$ZXy#(J&MZ8%30zHA%5hb!mTW!Bqj9M|ya9X+Nd1eCDkk;H9gFMks+W zXfXV&6Jj@GiHdF+JLs!8TJn}|x#YN`=+!3q)X2F{cD?GVhC0zQ*D6eD2X+ou_i0&T z;dDEFRZ+6I+fljg@p$p!>I-#d>ZazGQjQP0T;Aj`L3iX=HXJpq!Jr%>*)Xxx|8aKG z3J+@+kf~Era_PJ$I?}-3h`;O84!ZpIwc0Z<7;)lH*liLd>&U~*SQoJP((0LW#aF8r zp1R~?py#$^ZZ6DVY`D+Ncd5-a(-NPJVq5jgV}haq>%%>LG36PqK9jbO))EdY11m#I zQ!}Mno@^05hQ8EO!iF)pI+#pWRyJCemzEat^3q-_14Qj3O2itBUwNXrjS2>aW+cg6 zudFv6K15{10#vefZwpHkNcIf8nsNX8%=eO~^nl2y$Vk}yAW&TExQ(Ru#f?5DKO$;vL zLoa#Zs^fY|S)3%%{80z8@?&3G)=+=wQwp}bIUobn7L*m%Avb;3tjq`0Rh1StxOoCh zT$`G^x;lLfVO_#cAXCdC2`Q|1;0W3PDNqk|NbqjSY5QhJ0S|DIaN`x!)ay{fSq zL#}IWg?5GnDZ%XR?I*Z+pLKCbNRS5`EvAhLvU}9Uo{z9~w7vbu=GFS2-PI}Z2)+=_ zBaIyhG?ZK4-^E6USusH%-p902hUlB-+}4)9u5NZ(T3Qt3yOOr{+Wh?8>IVb#7jM2- zSqINL&KVB{MwfT)%U4LsXz$ixW>{B7`SkQRP{Y#K;s07m`N_AWGpv)#+x~lO^8rx3 zh{DRgbcvarlr{HtNV0g=+?f*h
    !zxKJoYRS5thG4Vnk#SdyY@;+QEjKi`^-oX7 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%0D@&@wzp5!~DQjpOY%I^SGIvX3%%-sD$t|F? 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 YB{GHhP<)3TSOX(3{Xwcm!Z`T90F67)DF6Tf diff --git a/windows/client-management/client-tools/images/settings-page-visibility-gp.png b/windows/client-management/client-tools/images/settings-page-visibility-gp.png index 198fc83a7c517c7d093ef173dbb0b4f63bf9eec6..eabe085176c4fc46ee09e70507cc7a1a341714ad 100644 GIT binary patch literal 39196 zcmdqIcT|&E|1ZjnBX+PMO~@#s2rAMAgp8sfU3w=YRY1THLg=xejI=0-C{;i}2n6Yn zP*fyQdXEGWMk53g2vR~!LX!Ky%=^A`?z!iz-?{6qyUx9Tuvkx$z4v#2>*rgZN7t=P z_U)G0Eg~Ya&-B_ATM?0;F~DE!PEp_!@Ggbpz`vhhwkDTFF#Sj8frnrGFIip^5vf7# z*|@PCc;0pUnhQ)sM67f3?6v5u5hq{#GFQ4w?5M@T3zv>OfAjFg*u3e-N~r!16EB*S-mt~xbMD!tmOI{v6Wnic zPTs$B$LGYC&Khst=kzn@BF-?vVv`em%ta^0$7&0oz|j-diykpx2VOZTi`_WQW^*c8 znUpp(y}T@NiCwi+&gQo*4H5ZG({q7*OEz5CHyth{>%?Zne3=$#vxCc2VXEBzrHE

    >q6=q68Uw-~Ua4Z4K-2)I{ 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 literal 64370 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≀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 Jmfy9B_ Date: Wed, 3 Jul 2024 20:20:57 -0600 Subject: [PATCH 186/354] Fix spelling, grammar --- .gitignore | 1 + .../do/delivery-optimization-configure.md | 14 +++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 23057defcc..f770083f1d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ settings.json wdav-pm-sln.csproj wdav-pm-sln.csproj.user wdav-pm-sln.sln +windows/deployment/do/delivery-optimization-configure.md diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index e76d94965e..2b594f19f7 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -71,13 +71,13 @@ Delivery Optimization requires the use of certain ports to deliver content. Make To use Group Policy to manage Delivery Optimization settings you can find them here, -```Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. or MDM Policies to locate Delivery Optimization settings.``` + `Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization` ### MDM Policies Similarly, in MDM, the Delivery Optimization settings are under, -```.Vendor/MSFT/Policy/Config/DeliveryOptimization/.``` + `.Vendor/MSFT/Policy/Config/DeliveryOptimization/` Delivery Optimization can be used with other Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. @@ -100,7 +100,7 @@ Peer groups can be defined in Delivery Optimization using a combination of setti To limit a peer group to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This Download Mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] -> If your network topology is a hub and spoke - consider using Group download mode mode and/or restrict peer selection to the subnet. +> If your network topology is a hub and spoke - consider using Group download mode and/or restrict peer selection to the subnet. ##### Wide area network (WAN) @@ -113,8 +113,7 @@ There are several options for identifying your Group ID using the [DOGroupIDSour > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. > -> > [!NOTE] -> For Configuration Manager users, we recommend to leverage existing [MECM boundary groups](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) to define the peer groups. +> For Configuration Manager users, we recommend leveraging existing [MECM boundary groups](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) to define the peer groups. ##### Restrict peer selection @@ -179,15 +178,12 @@ Looking to improve efficiency? Some of the most powerful settings you can change * Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). > [!NOTE] -> Not all content types are eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. +> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## 7. Connected cache :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: -> [!NOTE] -> When using the Connected Cache dedicated cache solution for your environment there are a handful of policies you should be aware of, some of which have been mentioned throughout this page (denoted with *). - * [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed. * [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. * [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). From 96d1f4bb42e22c21575e6aa7717cbf2c8b953f37 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 20:27:46 -0600 Subject: [PATCH 187/354] remove protected file --- .gitignore | 24 ------------------------ .vscode/settings.json | 5 +++++ 2 files changed, 5 insertions(+), 24 deletions(-) delete mode 100644 .gitignore create mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f770083f1d..0000000000 --- a/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -log/ -xhtml/ -packages/ -obj/ -_site/ -Tools/NuGet/ -.optemp/ -*.db -.DS_Store -*.ini -_themes*/ -common/ -.vscode/ -.openpublishing.build.mdproj -.openpublishing.buildcore.ps1 -packages.config -settings.json - -# User-specific files -.vs/ -wdav-pm-sln.csproj -wdav-pm-sln.csproj.user -wdav-pm-sln.sln -windows/deployment/do/delivery-optimization-configure.md diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..96f70ba055 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "cachehost" + ] +} \ No newline at end of file From 752a1f2553b807a8b81c73f9691534fa8d8d772e Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 20:39:02 -0600 Subject: [PATCH 188/354] test --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 2b594f19f7..fc8064d809 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -91,7 +91,7 @@ Delivery Optimization can be used with other Microsoft products. Learn more abou Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings in use will depend on your desired peer group(s) and your network topology.* -### Peering setup +### P2P setup #### Define peer groups From 38d40772b632d58dce6f3b90ef83f2193aae896b Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 20:45:45 -0600 Subject: [PATCH 189/354] Revert "Fix spelling, grammar" This reverts commit f859fbbd5c6295d280106aa39b04af7faf409799. --- .gitignore | 23 +++++++++++++++++++ .../do/delivery-optimization-configure.md | 14 +++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..23057defcc --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +log/ +xhtml/ +packages/ +obj/ +_site/ +Tools/NuGet/ +.optemp/ +*.db +.DS_Store +*.ini +_themes*/ +common/ +.vscode/ +.openpublishing.build.mdproj +.openpublishing.buildcore.ps1 +packages.config +settings.json + +# User-specific files +.vs/ +wdav-pm-sln.csproj +wdav-pm-sln.csproj.user +wdav-pm-sln.sln diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index fc8064d809..23180eee37 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -71,13 +71,13 @@ Delivery Optimization requires the use of certain ports to deliver content. Make To use Group Policy to manage Delivery Optimization settings you can find them here, - `Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization` +```Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. or MDM Policies to locate Delivery Optimization settings.``` ### MDM Policies Similarly, in MDM, the Delivery Optimization settings are under, - `.Vendor/MSFT/Policy/Config/DeliveryOptimization/` +```.Vendor/MSFT/Policy/Config/DeliveryOptimization/.``` Delivery Optimization can be used with other Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. @@ -100,7 +100,7 @@ Peer groups can be defined in Delivery Optimization using a combination of setti To limit a peer group to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This Download Mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] -> If your network topology is a hub and spoke - consider using Group download mode and/or restrict peer selection to the subnet. +> If your network topology is a hub and spoke - consider using Group download mode mode and/or restrict peer selection to the subnet. ##### Wide area network (WAN) @@ -113,7 +113,8 @@ There are several options for identifying your Group ID using the [DOGroupIDSour > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. > -> For Configuration Manager users, we recommend leveraging existing [MECM boundary groups](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) to define the peer groups. +> > [!NOTE] +> For Configuration Manager users, we recommend to leverage existing [MECM boundary groups](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) to define the peer groups. ##### Restrict peer selection @@ -178,12 +179,15 @@ Looking to improve efficiency? Some of the most powerful settings you can change * Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). > [!NOTE] -> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. +> Not all content types are eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## 7. Connected cache :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: +> [!NOTE] +> When using the Connected Cache dedicated cache solution for your environment there are a handful of policies you should be aware of, some of which have been mentioned throughout this page (denoted with *). + * [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed. * [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. * [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). From 566e0f74582047e933b79939103377fd30a7b4a2 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 20:50:17 -0600 Subject: [PATCH 190/354] Remove json file from PR --- .vscode/settings.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 96f70ba055..0000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "cSpell.words": [ - "cachehost" - ] -} \ No newline at end of file From 1a90c2051d7adc7c9268a1ce48b9b106d08dc0b5 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 20:53:39 -0600 Subject: [PATCH 191/354] Add title back --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 23180eee37..e76d94965e 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -91,7 +91,7 @@ Delivery Optimization can be used with other Microsoft products. Learn more abou Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings in use will depend on your desired peer group(s) and your network topology.* -### P2P setup +### Peering setup #### Define peer groups From 0e555a611b83fcc720dab042320cecb735359e4b Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 21:08:33 -0600 Subject: [PATCH 192/354] More spelling errors --- .../deployment/do/delivery-optimization-configure.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index e76d94965e..3b1fa6d16c 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -71,13 +71,13 @@ Delivery Optimization requires the use of certain ports to deliver content. Make To use Group Policy to manage Delivery Optimization settings you can find them here, -```Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. or MDM Policies to locate Delivery Optimization settings.``` + `Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization` ### MDM Policies Similarly, in MDM, the Delivery Optimization settings are under, -```.Vendor/MSFT/Policy/Config/DeliveryOptimization/.``` + `.Vendor/MSFT/Policy/Config/DeliveryOptimization/` Delivery Optimization can be used with other Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. @@ -100,7 +100,7 @@ Peer groups can be defined in Delivery Optimization using a combination of setti To limit a peer group to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This Download Mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] -> If your network topology is a hub and spoke - consider using Group download mode mode and/or restrict peer selection to the subnet. +> If your network topology is a hub and spoke - consider using Group download mode and/or restrict peer selection to the subnet. ##### Wide area network (WAN) @@ -113,8 +113,7 @@ There are several options for identifying your Group ID using the [DOGroupIDSour > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. > -> > [!NOTE] -> For Configuration Manager users, we recommend to leverage existing [MECM boundary groups](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) to define the peer groups. +> For Configuration Manager users, we recommend to leverage existing [MECM boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management.md##delivery-optimization) to define the peer groups. ##### Restrict peer selection @@ -179,7 +178,7 @@ Looking to improve efficiency? Some of the most powerful settings you can change * Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). > [!NOTE] -> Not all content types are eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. +> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## 7. Connected cache From 5c2aac47e91cb7f83e42540b682e8cac315435eb Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 21:15:42 -0600 Subject: [PATCH 193/354] Fix link --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 3b1fa6d16c..68dfb06058 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -113,7 +113,7 @@ There are several options for identifying your Group ID using the [DOGroupIDSour > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. > -> For Configuration Manager users, we recommend to leverage existing [MECM boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management.md##delivery-optimization) to define the peer groups. +> For Configuration Manager users, we recommend to leverage existing [boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization) to define the peer groups. ##### Restrict peer selection From d6c0375c4c233b970d50a073c8c6ab662b21d292 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 21:26:23 -0600 Subject: [PATCH 194/354] Remove MCC note --- windows/deployment/do/delivery-optimization-configure.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 68dfb06058..d0a52cd38d 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -184,9 +184,6 @@ Looking to improve efficiency? Some of the most powerful settings you can change :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: -> [!NOTE] -> When using the Connected Cache dedicated cache solution for your environment there are a handful of policies you should be aware of, some of which have been mentioned throughout this page (denoted with *). - * [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed. * [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. * [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). From 424ab7e8c21a14f3c36c31f1564ca6d28251a7b8 Mon Sep 17 00:00:00 2001 From: Pawel Lakomski <34425146+pawellakomski@users.noreply.github.com> Date: Thu, 4 Jul 2024 10:49:44 +0200 Subject: [PATCH 195/354] Update windows-subscription-activation.md Incorrectly set comment was visible in the website. --- windows/deployment/windows-subscription-activation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-subscription-activation.md b/windows/deployment/windows-subscription-activation.md index 539f012a42..034308a993 100644 --- a/windows/deployment/windows-subscription-activation.md +++ b/windows/deployment/windows-subscription-activation.md @@ -135,7 +135,7 @@ With Windows Enterprise or Education editions, an organization can benefit from To compare Windows editions and review pricing, see the following sites: -- [Compare Windows editions](https://www.microsoft.com/en-us/windows/business/windows-10-pro-vs-windows-11-pro) - [Enterprise Mobility + Security Pricing Options](https://www.microsoft.com/microsoft-365/enterprise-mobility-security/compare-plans-and-pricing) Benefits of moving to Windows as an online service include: From f818cdc842024f0f075f551156e42888f7fab31e Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sat, 6 Jul 2024 20:33:00 -0600 Subject: [PATCH 196/354] Clean up proxy section, minor grammar updates --- .../do/delivery-optimization-configure.md | 65 ++++++++++-------- .../do/images/do-setup-presence.png | Bin 33727 -> 21663 bytes 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index d0a52cd38d..78bf119824 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -45,13 +45,17 @@ Find out more about the requirements for Firewall, Proxy, and Port settings to e There are service endpoints that you need to permit through your Firewall to communicate with the Delivery Optimization service. Check the [full list](waas-delivery-optimization-faq.yml#what-hostnames-should-i-allow-through-my-firewall-to-support-delivery-optimization) of endpoints to permit. -### Local proxy +### Proxy -When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com), as any altering of the public IP address prevents peering from working properly. For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It’s important to know, Delivery Optimization uses byte range requests, so you’ll want to make sure your proxy allows this capability. [Learn more](delivery-optimization-proxy.md) about Delivery Optimization with a proxy server. +To allow peer-to-peer (P2P) to work properly you need to allow direct calls to the Delivery Optimization service from your devices. When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com). If the calls to the DO service are funneled through your proxy, it will alter the public IP address of the devices, preventing P2P from working properly. -### Cloud proxy +#### Local proxy -To allow peer-to-peer (P2P) to work properly you need to allow direct calls to the Delivery Optimization service from your devices (bypass the *.prod.do.dsp.mp.microsoft.com in your proxy). If the calls to the DO service are funneled through your proxy, it will alter the public IP Address of the devices, preventing P2P from working properly. If you're using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. +For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It’s important to know, Delivery Optimization uses byte range requests, so you’ll want to make sure your proxy allows this capability. [Learn more](delivery-optimization-proxy.md) about using Delivery Optimization with a proxy server. + +#### Cloud proxy + + If you're using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. ### Ports @@ -60,8 +64,8 @@ Delivery Optimization requires the use of certain ports to deliver content. Make | Port | Function | |---------|-------------------| | 7680 | Listen for P2P using TCP/IP | -| 3544 | Uses Teredo to discover and connect to peers across NATs | -| 443 | Used to communicate Delivery Optimization client and service | +| 3544 | Use Teredo to discover and connect to peers across NATs | +| 443 | Use to communicate Delivery Optimization client and service | ## 2. DO presence @@ -69,27 +73,26 @@ Delivery Optimization requires the use of certain ports to deliver content. Make ### Group Policies -To use Group Policy to manage Delivery Optimization settings you can find them here, +Use Group Policy to manage Delivery Optimization settings here, `Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization` ### MDM Policies -Similarly, in MDM, the Delivery Optimization settings are under, +Use MDM to manage Delivery Optimization settings here, `.Vendor/MSFT/Policy/Config/DeliveryOptimization/` -Delivery Optimization can be used with other Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. +Delivery Optimization is integrated with both Microsoft Endpoint Manager and Configuration Manager. * [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) * [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) -* [Autopilot](../windows-deployment-scenarios.md#modern-deployment-methods)/[Autopatch](../windows-autopatch/overview/windows-autopatch-overview.md) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. ## 3. Network topology :::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: -Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings in use will depend on your desired peer group(s) and your network topology.* +Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings used will depend on your desired peer group(s) and your network topology.* ### Peering setup @@ -97,35 +100,35 @@ Peer groups can be defined in Delivery Optimization using a combination of setti ##### Local area network (LAN) -To limit a peer group to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This Download Mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. +To define a peer group limited to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This download mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] > If your network topology is a hub and spoke - consider using Group download mode and/or restrict peer selection to the subnet. ##### Wide area network (WAN) -To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use Download Mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. +To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use download mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. ##### GroupIDSource default behavior -There are several options for identifying your Group ID using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [DOGroupID](waas-delivery-optimization-reference.md#group-id) or [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies aren't set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). More information on all [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting options available. +There are several options for identifying your Group ID using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [DOGroupID](waas-delivery-optimization-reference.md#group-id) or [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies aren't set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). [Learn more](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) about all DOGroupIDSource available options. > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. > -> For Configuration Manager users, we recommend to leverage existing [boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization) to define the peer groups. +> For Configuration Manager users, we recommend leveraging existing [boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization) to define the peer groups. ##### Restrict peer selection -If your environment requires a more granular approach, you can use the Restrict Peer Discovery setting alongside the Download Mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)(Subnet). This setting can be used with any of the peer-related Download Modes (1, 2, or 3). +If your environment requires a more granular approach, you can use the restrict peer discovery setting alongside the download mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection) (Subnet). This setting can be used with any of the peer-related download modes (1, 2, or 3). ### Non-peering options -There are two valid Download Modes that don't use the peer-to-peer functionality to deliver content; Download Modes (0) and (99). Download Mode (0) uses additional metadata provided by the Delivery Optimization cloud services for a peerless, reliable and efficient download experience. Download Mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. +There are two valid download modes that don't use P2P functionality to deliver content; download modes (0) and (99). download mode (0) uses additional metadata provided by the Delivery Optimization services for a peerless, reliable, and efficient download experience. Download mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. ### Peering with VPN -By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. +By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. ## 4. Optimize P2P usage for your organization size @@ -139,13 +142,13 @@ Content peering has a limited number of slots available at any given time. By de ### Mobile devices -By default, peer-to-peer capabilities aren't enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [DOMinBatteryPercentageAllowedToUpload](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. +By default, P2P capabilities aren't enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [DOMinBatteryPercentageAllowedToUpload](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. ## 5. System resources :::image type="content" source="images/do-setup-system-resources.png" alt-text="Screenshot of Delivery Optimization system resources considerations." lightbox="images/do-setup-system-resources.png"::: -There are some Delivery Optimization configurations that can make an impact when ample system resources are available. +There are some Delivery Optimization configurations that can make an impact when various system resources are available. ### Disk size @@ -157,11 +160,11 @@ You can also manage the amount of space the Delivery Optimization cache uses wit ### RAM size -Control the minimum amount of RAM (inclusive) allowed to use peer caching (default is 4 GB), [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). +Control the minimum amount of RAM (inclusive) allowed to use peer caching (default is 4 GB), with [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). -### Large # of devices with idle system resources +### Large number of devices with idle system resources -In an environment with a set number of devices that are plugged in and have ample free disk space try increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) seven or more (up to 30 days). You can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. +In an environment with devices that are plugged in and have ample free disk space try increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to seven or more (up to 30 days). You can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. ## 6. Improve efficiencies @@ -170,29 +173,31 @@ In an environment with a set number of devices that are plugged in and have ampl Looking to improve efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: * Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. -* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). For applicable scenarios (improving efficiency from peers or cache server) a good starting point is 60 seconds for the background settings and 30 seconds for foreground settings. +* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of delay-related policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). To improve efficiencies from peers or a dedicated cache server, a good starting point is 60 seconds for background settings and 30 seconds for foreground settings. ### Bandwidth throttling options -* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth) and [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth). -* Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). +* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) and [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). +* Manage network usage as a percentage or absolute value. These policies include: [DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). > [!NOTE] +> The absolute policies are recommended in low bandwidth environments. +> > Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## 7. Connected cache :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: -* [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed. +* [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* * [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. -* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). +* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve Efficiencies](#6-improve-efficiencies) section above). * [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. ## Summary of basic configuration recommendations | Use case | Policy | Recommended value | -| --- | --- | ------------------------- | +| ----- | ----- | ----------------- | | Use P2P | DownloadMode | 1 or 2 | | Do not use P2P | DownloadMode | 0 | | Number of devices in the organization | MinFileSizeToCache | 1 MB for peer group > 100 devices | @@ -210,4 +215,4 @@ There could be many different reasons why Delivery Optimization is not working i ## Test Delivery Optimization -[Learn more](delivery-optimization-test.md) for guidance on basic testing scenarios to see how Delivery Optimization works. +[Learn more](delivery-optimization-test.md) about guidance on basic testing scenarios to see how Delivery Optimization works. diff --git a/windows/deployment/do/images/do-setup-presence.png b/windows/deployment/do/images/do-setup-presence.png index 85fbf3a7c3565f986e68a4001f4727bbe86e740c..28886ece6e1097edc20da4651fcbd1947670bd8f 100644 GIT binary patch literal 21663 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 Sk{y(PWn=ln(Gv3u5&r-d7Z{8H literal 33727 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 Date: Sat, 6 Jul 2024 22:38:15 -0600 Subject: [PATCH 197/354] Update note --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 78bf119824..b1cc42ba09 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -103,7 +103,7 @@ Peer groups can be defined in Delivery Optimization using a combination of setti To define a peer group limited to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This download mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] -> If your network topology is a hub and spoke - consider using Group download mode and/or restrict peer selection to the subnet. +> Consider using Group download mode and/or limiting peer selection to the subnet if your network topology is a hub and spoke. ##### Wide area network (WAN) From 5e3e82391249d2aba3fd3edfbebe0d8e13c63cce Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 8 Jul 2024 09:47:42 -0400 Subject: [PATCH 198/354] WHFB Azure MFA updates --- .../deploy/hybrid-cert-trust-enroll.md | 2 +- .../deploy/hybrid-cert-trust.md | 8 +++--- .../deploy/hybrid-cloud-kerberos-trust.md | 2 +- .../deploy/hybrid-key-trust-enroll.md | 4 +-- .../hello-for-business/deploy/index.md | 13 +++++++--- .../deploy/on-premises-cert-trust-enroll.md | 2 +- .../deploy/on-premises-key-trust-enroll.md | 2 +- .../hello-for-business/faq.yml | 6 ++--- .../hello-deployment-issues.md | 4 +-- .../hello-errors-during-pin-creation.md | 4 +-- .../hello-hybrid-aadj-sso-cert.md | 4 +-- .../hello-for-business/pin-reset.md | 26 ++++++++++++------- .../hello-for-business/webauthn-apis.md | 25 +++++++++++++----- 13 files changed, 62 insertions(+), 40 deletions(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md index 50ff10820c..046cff4a4d 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md @@ -135,6 +135,6 @@ To better understand the authentication flows, review the following sequence dia -[AZ-4]: /azure/active-directory/devices/troubleshoot-device-dsregcmd +[AZ-4]: /entra/identity/devices/troubleshoot-device-dsregcmd [CSP-1]: /windows/client-management/mdm/passportforwork-csp [MEM-1]: /mem/intune/configuration/custom-settings-configure diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md index bbb9a72759..8b2347f411 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust.md @@ -34,7 +34,7 @@ ms.topic: tutorial ## Federated authentication to Microsoft Entra ID -Windows Hello for Business hybrid certificate trust requires Active Directory to be federated with Microsoft Entra ID using AD FS. You must also configure the AD FS farm to support Azure registered devices. +Windows Hello for Business hybrid certificate trust requires Active Directory to be federated with Microsoft Entra ID using AD FS. You must also configure the AD FS farm to support Microsoft Entra registered devices. If you're new to AD FS and federation services: @@ -82,9 +82,9 @@ During Windows Hello for Business provisioning, users receive a sign-in certific > [Next: configure and validate the Public Key Infrastructure >](hybrid-cert-trust-pki.md) -[AZ-8]: /azure/active-directory/devices/hybrid-azuread-join-plan -[AZ-10]: /azure/active-directory/devices/howto-hybrid-azure-ad-join#federated-domains -[AZ-11]: /azure/active-directory/devices/hybrid-azuread-join-manual +[AZ-8]: /entra/identity/devices/hybrid-join-plan +[AZ-10]: /entra/identity/devices/how-to-hybrid-join#federated-domains +[AZ-11]: /entra/identity/devices/hybrid-join-manual [SER-2]: /windows-server/identity/ad-fs/deployment/deploying-a-federation-server-farm [SER-3]: /windows-server/identity/ad-fs/technical-reference/understanding-key-ad-fs-concepts diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cloud-kerberos-trust.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cloud-kerberos-trust.md index 9af88ba3bf..136b0f615d 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cloud-kerberos-trust.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cloud-kerberos-trust.md @@ -202,7 +202,7 @@ The following scenarios aren't supported using Windows Hello for Business cloud -[AZ-4]: /azure/active-directory/devices/troubleshoot-device-dsregcmd +[AZ-4]: /entra/identity/devices/troubleshoot-device-dsregcmd [CSP-1]: /windows/client-management/mdm/passportforwork-csp [ENTRA-1]: /entra/identity/authentication/howto-authentication-passwordless-security-key-on-premises#install-the-azureadhybridauthenticationmanagement-module [MEM-1]: /mem/intune/configuration/custom-settings-configure diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-key-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-key-trust-enroll.md index 62f5d4401e..de3ffd9240 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-key-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-key-trust-enroll.md @@ -108,7 +108,7 @@ To better understand the authentication flows, review the following sequence dia - [Microsoft Entra join authentication to Active Directory using a key](../how-it-works-authentication.md#microsoft-entra-join-authentication-to-active-directory-using-a-key) -[AZ-4]: /azure/active-directory/devices/troubleshoot-device-dsregcmd -[AZ-5]: /azure/active-directory/connect/active-directory-aadconnectsync-feature-scheduler +[AZ-4]: /entra/identity/devices/troubleshoot-device-dsregcmd +[AZ-5]: /entra/identity/hybrid/connect/how-to-connect-sync-feature-scheduler [CSP-1]: /windows/client-management/mdm/passportforwork-csp [MEM-1]: /mem/intune/configuration/custom-settings-configure diff --git a/windows/security/identity-protection/hello-for-business/deploy/index.md b/windows/security/identity-protection/hello-for-business/deploy/index.md index f5c412fc4f..176e016833 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/index.md +++ b/windows/security/identity-protection/hello-for-business/deploy/index.md @@ -146,7 +146,9 @@ The goal of Windows Hello for Business is to move organizations away from passwo - On-premises deployments must use a multifactor option that can integrate as an AD FS multifactor adapter. Organizations can choose from non-Microsoft options that offer an AD FS MFA adapter. For more information, see [Microsoft and non-Microsoft additional authentication methods][SER-2] > [!IMPORTANT] -> As of July 1, 2019, Microsoft doesn't offer MFA Server for new deployments. New deployments that require multifactor authentication should use cloud-based Microsoft Entra multifactor authentication. Existing deployment where the MFA Server was activated prior to July 1, 2019 can download the latest version, future updates, and generate activation credentials. For more information, see [Getting started with the Azure Multi-Factor Authentication Server][ENTRA-2]. +> Beginning July 1, 2019, Microsoft doesn't offer MFA Server for new deployments. New deployments that require multifactor authentication should use cloud-based Microsoft Entra multifactor authentication. +> +>Beginning September 30, 2024, Azure Multi-Factor Authentication Server deployments will no longer service MFA requests. To ensure uninterrupted authentication services and to remain in a supported state, organizations should [migrate their users' authentication data](/entra/identity/authentication/how-to-migrate-mfa-server-to-mfa-user-authentication) to the cloud-based Azure MFA. || Deployment model | MFA options | |--|--|--| @@ -159,7 +161,6 @@ The goal of Windows Hello for Business is to move organizations away from passwo For more information: - [Configure Microsoft Entra multifactor authentication settings][ENTRA-4] -- [Configure Azure MFA as authentication provider with AD FS][SER-1] - [Manage an external authentication method in Microsoft Entra ID][ENTRA-11] #### MFA and federated authentication @@ -205,6 +206,9 @@ Hybrid and on-premises deployments use directory synchronization, however, each | **Hybrid** | Microsoft Entra Connect Sync| | **On-premises** | Azure MFA server | +> [!IMPORTANT] +>Beginning September 30, 2024, Azure Multi-Factor Authentication Server deployments will no longer service MFA requests. To ensure uninterrupted authentication services and to remain in a supported state, organizations should [migrate their users' authentication data](/entra/identity/authentication/how-to-migrate-mfa-server-to-mfa-user-authentication) to the cloud-based Azure MFA. + ## Device configuration options Windows Hello for Business provides a rich set of granular policy settings. There are two main options to configure Windows Hello for Business: configuration service provider (CSP) and group policy (GPO). @@ -240,6 +244,9 @@ Here are some considerations regarding licensing requirements for cloud services | **🔲** | **On-premises** | Key | Azure MFA, if used as MFA solution | | **🔲** | **On-premises** | Certificate | Azure MFA, if used as MFA solution | +> [!IMPORTANT] +>Beginning September 30, 2024, Azure Multi-Factor Authentication Server deployments will no longer service MFA requests. To ensure uninterrupted authentication services and to remain in a supported state, organizations should [migrate their users' authentication data](/entra/identity/authentication/how-to-migrate-mfa-server-to-mfa-user-authentication) to the cloud-based Azure MFA. + ## Operating System requirements ### Windows requirements @@ -291,7 +298,6 @@ Now that you've read about the different deployment options and requirements, yo [ENTRA-1]: /entra/identity/authentication/concept-mfa-howitworks -[ENTRA-2]: /entra/identity/authentication/howto-mfaserver-deploy [ENTRA-3]: /entra/identity/hybrid/connect/how-to-connect-sync-whatis [ENTRA-4]: /entra/identity/authentication/howto-mfa-mfasettings [ENTRA-5]: /entra/identity/devices/hybrid-join-plan @@ -302,7 +308,6 @@ Now that you've read about the different deployment options and requirements, yo [ENTRA-10]: /entra/identity/hybrid/connect/whatis-fed [ENTRA-11]: /entra/identity/authentication/how-to-authentication-external-method-manage -[SER-1]: /windows-server/identity/ad-fs/operations/configure-ad-fs-2016-and-azure-mfa [SER-2]: /windows-server/identity/ad-fs/operations/configure-additional-authentication-methods-for-ad-fs#microsoft-and-third-party-additional-authentication-methods [KB-1]: https://support.microsoft.com/topic/5010415 diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index ce1d4a781d..8c1de9a2d0 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -86,4 +86,4 @@ To better understand the provisioning flows, review the following sequence diagr - [Provisioning in an on-premises certificate trust deployment model](../how-it-works-provisioning.md#provisioning-in-an-on-premises-certificate-trust-deployment-model) -[AZ-4]: /azure/active-directory/devices/troubleshoot-device-dsregcmd +[AZ-4]: /entra/identity/devices/troubleshoot-device-dsregcmd diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md index 85c263917f..41cea6946f 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-key-trust-enroll.md @@ -62,4 +62,4 @@ To better understand the provisioning flows, review the following sequence diagr - [Provisioning in an on-premises key trust deployment model](../how-it-works-provisioning.md#provisioning-in-an-on-premises-key-trust-deployment-model) -[AZ-4]: /azure/active-directory/devices/troubleshoot-device-dsregcmd +[AZ-4]: /entra/identity/devices/troubleshoot-device-dsregcmd diff --git a/windows/security/identity-protection/hello-for-business/faq.yml b/windows/security/identity-protection/hello-for-business/faq.yml index 217320345b..98723b63f6 100644 --- a/windows/security/identity-protection/hello-for-business/faq.yml +++ b/windows/security/identity-protection/hello-for-business/faq.yml @@ -150,7 +150,7 @@ sections: It's possible to Microsoft Entra register a domain joined device. If the domain joined device has a convenience PIN, sign in with the convenience PIN will no longer work. This configuration isn't supported by Windows Hello for Business. - For more information, see [Microsoft Entra registered devices](/azure/active-directory/devices/concept-azure-ad-register). + For more information, see [Microsoft Entra registered devices](/entra/identity/devices/concept-device-registration). - question: Does Windows Hello for Business work with non-Windows operating systems? answer: | Windows Hello for Business is a feature of the Windows platform. @@ -162,7 +162,7 @@ sections: Windows Hello for Business is two-factor authentication based on the observed authentication factors of: *something you have*, *something you know*, and *something that's part of you*. Windows Hello for Business incorporates two of these factors: something you have (the user's private key protected by the device's security module) and something you know (your PIN). With the proper hardware, you can enhance the user experience by introducing biometrics. By using biometrics, you can replace the "something you know" authentication factor with the "something that is part of you" factor, with the assurances that users can fall back to the "something you know factor". > [!NOTE] - > The Windows Hello for Business key meets Microsoft Entra multifactor authentication (MFA) requirements and reduces the number of MFA prompts users will see when accessing resources. For more information, see [What is a Primary Refresh Token](/azure/active-directory/devices/concept-primary-refresh-token#when-does-a-prt-get-an-mfa-claim). + > The Windows Hello for Business key meets Microsoft Entra multifactor authentication (MFA) requirements and reduces the number of MFA prompts users will see when accessing resources. For more information, see [What is a Primary Refresh Token](/entra/identity/devices/concept-primary-refresh-token#when-does-a-prt-get-an-mfa-claim). - question: Which is a better or more secure for of authentication, key or certificate? answer: | Both types of authentication provide the same security; one is not more secure than the other. @@ -203,7 +203,7 @@ sections: questions: - question: What is Windows Hello for Business cloud Kerberos trust? answer: | - Windows Hello for Business *cloud Kerberos trust* is a *trust model* that enables Windows Hello for Business deployment using the infrastructure introduced for supporting [security key sign-in on Microsoft Entra hybrid joined devices and on-premises resource access on Microsoft Entra joined devices](/azure/active-directory/authentication/howto-authentication-passwordless-security-key-on-premises). Cloud Kerberos trust is the preferred deployment model if you do not need to support certificate authentication scenarios. For more information, see [cloud Kerberos trust deployment](/windows/security/identity-protection/hello-for-business/deploy). + Windows Hello for Business *cloud Kerberos trust* is a *trust model* that enables Windows Hello for Business deployment using the infrastructure introduced for supporting [security key sign-in on Microsoft Entra hybrid joined devices and on-premises resource access on Microsoft Entra joined devices](/entra/identity/authentication/howto-authentication-passwordless-security-key-on-premises). Cloud Kerberos trust is the preferred deployment model if you do not need to support certificate authentication scenarios. For more information, see [cloud Kerberos trust deployment](/windows/security/identity-protection/hello-for-business/deploy). - question: Does Windows Hello for Business cloud Kerberos trust work in my on-premises environment? answer: | This feature doesn't work in a pure on-premises AD domain services environment. diff --git a/windows/security/identity-protection/hello-for-business/hello-deployment-issues.md b/windows/security/identity-protection/hello-for-business/hello-deployment-issues.md index 4f77b96763..e6b79420ad 100644 --- a/windows/security/identity-protection/hello-for-business/hello-deployment-issues.md +++ b/windows/security/identity-protection/hello-for-business/hello-deployment-issues.md @@ -15,7 +15,7 @@ PIN reset on Microsoft Entra joined devices uses a flow called *web sign-in* to ### Identify PIN Reset allowed domains issue -The user can launch the PIN reset flow from the lock screen using the *I forgot my PIN* link in the PIN credential provider. Selecting the link launches a full screen UI for the PIN experience on Microsoft Entra join devices. Typically, the UI displays an Azure authentication page, where the user authenticates using Microsoft Entra credentials and completes MFA. +The user can launch the PIN reset flow from the lock screen using the *I forgot my PIN* link in the PIN credential provider. Selecting the link launches a full screen UI for the PIN experience on Microsoft Entra join devices. Typically, the UI displays an authentication page, where the user authenticates using Microsoft Entra credentials and completes MFA. In federated environments, authentication may be configured to route to AD FS or a non-Microsoft identity provider. If the PIN reset flow is launched and attempts to navigate to a federated identity provider server page, it fails and displays the *We can't open that page right now* error, if the domain for the server page isn't included in an allowlist. @@ -23,7 +23,7 @@ If you're a customer of *Azure US Government* cloud, PIN reset also attempts to ### Resolve PIN Reset allowed domains issue -To resolve the error, you can configure a list of allowed domains for PIN reset using the [ConfigureWebSignInAllowedUrls](/windows/client-management/mdm/policy-csp-authentication#authentication-configurewebsigninallowedurls) policy. For information on how to configure the policy, see [Configure allowed URLs for federated identity providers on Microsoft Entra joined devices](hello-feature-pin-reset.md#configure-allowed-urls-for-federated-identity-providers-on-azure-ad-joined-devices). +To resolve the error, you can configure a list of allowed domains for PIN reset using the [ConfigureWebSignInAllowedUrls](/windows/client-management/mdm/policy-csp-authentication#authentication-configurewebsigninallowedurls) policy. For information on how to configure the policy, see [Configure allowed URLs for federated identity providers on Microsoft Entra joined devices](hello-feature-pin-reset.md#configure-allowed-urls-for-federated-identity-providers-on-microsoft-entra-joined-devices). ## Hybrid key trust sign in broken due to user public key deletion diff --git a/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md b/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md index cfe9d5519f..0e89afb281 100644 --- a/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md +++ b/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md @@ -40,7 +40,7 @@ If the error occurs again, check the error code against the following table to s | 0x80090035 | Policy requires TPM and the device doesn't have TPM. | Change the Windows Hello for Business policy to not require a TPM. | | 0x80090036 | User canceled an interactive dialog. | User is asked to try again. | | 0x801C0003 | User isn't authorized to enroll. | Check if the user has permission to perform the operation​. | -| 0x801C000E | Registration quota reached. | Unjoin some other device that is currently joined using the same account or [increase the maximum number of devices per user](/azure/active-directory/devices/device-management-azure-portal). | +| 0x801C000E | Registration quota reached. | Unjoin some other device that is currently joined using the same account or [increase the maximum number of devices per user](/entra/identity/devices/manage-device-identities). | | 0x801C000F | Operation successful, but the device requires a reboot. | Reboot the device. | | 0x801C0010 | The AIK certificate isn't valid or trusted. | Sign out and then sign in again. | | 0x801C0011 | The attestation statement of the transport key is invalid. | Sign out and then sign in again. | @@ -53,7 +53,7 @@ If the error occurs again, check the error code against the following table to s | 0x801C03EA | Server failed to authorize user or device. | Check if the token is valid and user has permission to register Windows Hello for Business keys. | | 0x801C03EB | Server response http status isn't valid | Sign out and then sign in again. | | 0x801C03EC | Unhandled exception from server. | sign out and then sign in again. | -| 0x801C03ED | Multi-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed.

    -or-

    Token wasn't found in the Authorization header.

    -or-

    Failed to read one or more objects.

    -or-

    The request sent to the server was invalid.

    -or-

    User doesn't have permissions to join to Microsoft Entra ID. | Sign out and then sign in again. If that doesn't resolve the issue, unjoin the device from Azure AD and rejoin.
    Allow user(s) to join to Microsoft Entra ID under Microsoft Entra Device settings. | +| 0x801C03ED | Multi-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed.

    -or-

    Token wasn't found in the Authorization header.

    -or-

    Failed to read one or more objects.

    -or-

    The request sent to the server was invalid.

    -or-

    User doesn't have permissions to join to Microsoft Entra ID. | Sign out and then sign in again. If that doesn't resolve the issue, unjoin the device from Mcirosoft Entra ID and rejoin.
    Allow user(s) to join to Microsoft Entra ID under Microsoft Entra Device settings. | | 0x801C03EE | Attestation failed. | Sign out and then sign in again. | | 0x801C03EF | The AIK certificate is no longer valid. | Sign out and then sign in again. | | 0x801C03F2 | Windows Hello key registration failed. | ERROR_BAD_DIRECTORY_REQUEST. Another object with the same value for property proxyAddresses already exists. To resolve the issue, refer to [Duplicate Attributes Prevent Dirsync](/office365/troubleshoot/administration/duplicate-attributes-prevent-dirsync). Also, if no sync conflict exists, please verify that the "Mail/Email address" in Microsoft Entra ID and the Primary SMTP address are the same in the proxy address. | diff --git a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md index 558d15b2f9..3d2908e78a 100644 --- a/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md +++ b/windows/security/identity-protection/hello-for-business/hello-hybrid-aadj-sso-cert.md @@ -71,7 +71,7 @@ Sign-in to computer running Microsoft Entra Connect with access equivalent to *l 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 [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) -1. Select **Sign in to Graph Explorer** and provide Azure credentials +1. Select **Sign in to Graph Explorer** and provide Microsoft Entra ID credentials > [!NOTE] > To successfully query the Graph API, adequate [permissions](/graph/api/user-get?) must be granted @@ -487,7 +487,7 @@ Certificate enrollment for Microsoft Entra joined devices occurs over the Intern Ideally, you configure your Microsoft Intune SCEP certificate profile to use multiple external NDES URLs. This enables Microsoft Intune to round-robin load balance the certificate requests to identically configured NDES Servers (each NDES server can accommodate approximately 300 concurrent requests). Microsoft Intune sends these requests to Microsoft Entra Application Proxies. -Microsoft Entra Application proxies are serviced by lightweight Application Proxy Connector agents. See [What is Application Proxy](/azure/active-directory/manage-apps/application-proxy#what-is-application-proxy) for more details. These agents are installed on your on-premises, domain joined devices and make authenticated secure outbound connection to Azure, waiting to process requests from Microsoft Entra Application Proxies. You can create connector groups in Microsoft Entra ID to assign specific connectors to service specific applications. +Microsoft Entra Application proxies are serviced by lightweight Application Proxy Connector agents. See [What is Application Proxy](/entra/identity/app-proxy/#what-is-application-proxy) for more details. These agents are installed on your on-premises, domain joined devices and make authenticated secure outbound connection to Azure, waiting to process requests from Microsoft Entra Application Proxies. You can create connector groups in Microsoft Entra ID to assign specific connectors to service specific applications. Connector group automatically round-robin, load balance the Microsoft Entra application proxy requests to the connectors within the assigned connector group. This ensures Windows Hello for Business certificate requests have multiple dedicated Microsoft Entra application proxy connectors exclusively available to satisfy enrollment requests. Load balancing the NDES servers and connectors should ensure users enroll their Windows Hello for Business certificates in a timely manner. diff --git a/windows/security/identity-protection/hello-for-business/pin-reset.md b/windows/security/identity-protection/hello-for-business/pin-reset.md index 816f46365d..aabf1fc5f2 100644 --- a/windows/security/identity-protection/hello-for-business/pin-reset.md +++ b/windows/security/identity-protection/hello-for-business/pin-reset.md @@ -49,7 +49,7 @@ To register the applications, follow these steps: :::row::: :::column span="3"::: - 1. Go to the [Microsoft PIN Reset Service Production website][APP-1], and sign in as at least an [Application Administrator](/entra/identity/role-based-access-control/permissions-reference#application-administrator). Review the permissions requested by the *Microsoft Pin Reset Service Production* application and select **Accept** to give consent to the application to access your organization + 1. Go to the [Microsoft PIN Reset Service Production website][APP-1], and sign in as at least an [Application Administrator][ENT-2]. Review the permissions requested by the *Microsoft Pin Reset Service Production* application and select **Accept** to give consent to the application to access your organization :::column-end::: :::column span="1"::: :::image type="content" alt-text="Screenshot showing the PIN reset service permissions page." source="images/pin-reset/pin-reset-service-prompt.png" lightbox="images/pin-reset/pin-reset-service-prompt.png" border="true"::: @@ -57,7 +57,7 @@ To register the applications, follow these steps: :::row-end::: :::row::: :::column span="3"::: - 2. Go to the [Microsoft PIN Reset Client Production website][APP-2], and sign as at least an [Application Administrator](/entra/identity/role-based-access-control/permissions-reference#application-administrator). Review the permissions requested by the *Microsoft Pin Reset Client Production* application, and select **Next**. + 2. Go to the [Microsoft PIN Reset Client Production website][APP-2], and sign as at least an [Application Administrator][ENT-2]. Review the permissions requested by the *Microsoft Pin Reset Client Production* application, and select **Next**. :::column-end::: :::column span="1"::: :::image type="content" alt-text="Screenshot showing the PIN reset client permissions page." source="images/pin-reset/pin-reset-client-prompt.png" lightbox="images/pin-reset/pin-reset-client-prompt.png" border="true"::: @@ -76,7 +76,7 @@ To register the applications, follow these steps: ### Confirm that the two PIN Reset service principals are registered in your tenant -1. Sign in to the [Microsoft Entra Manager admin center](https://entra.microsoft.com) +1. Sign in to the [Microsoft Entra Manager admin center][ENTRA] 1. Select **Microsoft Entra ID > Applications > Enterprise applications** 1. Search by application name "Microsoft PIN" and verify that both **Microsoft Pin Reset Service Production** and **Microsoft Pin Reset Client Production** are in the list :::image type="content" alt-text="PIN reset service permissions page." source="images/pin-reset/pin-reset-applications.png" lightbox="images/pin-reset/pin-reset-applications-expanded.png"::: @@ -103,7 +103,7 @@ The following instructions provide details how to configure your devices. Select >[!NOTE] > You can also configure PIN recovery from the **Endpoint security** blade: > -> 1. Sign in to the [Microsoft Intune admin center](https://go.microsoft.com/fwlink/?linkid=2109431) +> 1. Sign in to the [Microsoft Intune admin center][INTUNE] > 1. Select **Endpoint security > Account protection > Create Policy** Alternatively, you can configure devices using a [custom policy][INT-1] with the [PassportForWork CSP][CSP-1]. @@ -113,7 +113,7 @@ Alternatively, you can configure devices using a [custom policy][INT-1] with the | `./Vendor/MSFT/Policy/PassportForWork/`*TenantId*`/Policies/EnablePinRecovery`| Boolean | True | >[!NOTE] -> You must replace `TenantId` with the identifier of your Microsoft Entra tenant. To look up your Tenant ID, see [How to find your Microsoft Entra tenant ID](/azure/active-directory/fundamentals/how-to-find-tenant) or try the following, ensuring to sign-in with your organization's account:: +> You must replace `TenantId` with the identifier of your Microsoft Entra tenant. To look up your Tenant ID, see [How to find your Microsoft Entra tenant ID][ENT-3] or try the following, ensuring to sign-in with your organization's account:: ```msgraph-interactive GET https://graph.microsoft.com/v1.0/organization?$select=id @@ -133,7 +133,7 @@ GET https://graph.microsoft.com/v1.0/organization?$select=id #### Confirm that PIN Recovery policy is enforced on the devices -The _PIN reset_ configuration can be viewed by running [**dsregcmd /status**](/azure/active-directory/devices/troubleshoot-device-dsregcmd) from the command line. This state can be found under the output in the user state section as the **CanReset** line item. If **CanReset** reports as DestructiveOnly, then only destructive PIN reset is enabled. If **CanReset** reports DestructiveAndNonDestructive, then nondestructive PIN reset is enabled. +The _PIN reset_ configuration can be viewed by running [**dsregcmd /status**][ENT-4] from the command line. This state can be found under the output in the user state section as the **CanReset** line item. If **CanReset** reports as DestructiveOnly, then only destructive PIN reset is enabled. If **CanReset** reports DestructiveAndNonDestructive, then nondestructive PIN reset is enabled. **Sample User state Output for Destructive PIN Reset** @@ -233,12 +233,18 @@ For Microsoft Entra hybrid joined devices: > [!NOTE] > Key trust on Microsoft Entra hybrid joined devices doesn't support destructive PIN reset from above the Lock Screen. This is due to the sync delay between when a user provisions their Windows Hello for Business credential and being able to use it for sign-in. For this deployment model, you must deploy non-destructive PIN reset for above lock PIN reset to work. -You may find that PIN reset from Settings only works post sign in. Also, the lock screen PIN reset function doesn't work if you have any matching limitation of self-service password reset from the lock screen. For more information, see [Enable Microsoft Entra self-service password reset at the Windows sign-in screen](/azure/active-directory/authentication/howto-sspr-windows#general-limitations). +You may find that PIN reset from Settings only works post sign in. Also, the lock screen PIN reset function doesn't work if you have any matching limitation of self-service password reset from the lock screen. For more information, see [Enable Microsoft Entra self-service password reset at the Windows sign-in screen][ENT-1]. -[CSP-1]: /windows/client-management/mdm/passportforwork-csp -[CSP-2]: /windows/client-management/mdm/policy-csp-authentication#authentication-configurewebsigninallowedurls -[INT-1]: /mem/intune/configuration/settings-catalog [APP-1]: https://login.windows.net/common/oauth2/authorize?response_type=code&client_id=b8456c59-1230-44c7-a4a2-99b085333e84&resource=https%3A%2F%2Fgraph.windows.net&redirect_uri=https%3A%2F%2Fcred.microsoft.com&state=e9191523-6c2f-4f1d-a4f9-c36f26f89df0&prompt=admin_consent [APP-2]: https://login.windows.net/common/oauth2/authorize?response_type=code&client_id=9115dd05-fad5-4f9c-acc7-305d08b1b04e&resource=https%3A%2F%2Fcred.microsoft.com%2F&redirect_uri=ms-appx-web%3A%2F%2FMicrosoft.AAD.BrokerPlugin%2F9115dd05-fad5-4f9c-acc7-305d08b1b04e&state=6765f8c5-f4a7-4029-b667-46a6776ad611&prompt=admin_consent +[CSP-1]: /windows/client-management/mdm/passportforwork-csp +[CSP-2]: /windows/client-management/mdm/policy-csp-authentication#authentication-configurewebsigninallowedurls +[ENT-1]: /entra/identity/authentication/howto-sspr-windows#general-limitations +[ENT-2]: /entra/identity/role-based-access-control/permissions-reference#application-administrator +[ENT-3]: /entra/fundamentals/how-to-find-tenant +[ENT-4]: /entra/identity/devices/troubleshoot-device-dsregcmd +[ENTRA]: https://entra.microsoft.com +[INT-1]: /mem/intune/configuration/settings-catalog +[INTUNE]: https://go.microsoft.com/fwlink/?linkid=2109431 diff --git a/windows/security/identity-protection/hello-for-business/webauthn-apis.md b/windows/security/identity-protection/hello-for-business/webauthn-apis.md index f047719f37..d685983a32 100644 --- a/windows/security/identity-protection/hello-for-business/webauthn-apis.md +++ b/windows/security/identity-protection/hello-for-business/webauthn-apis.md @@ -14,7 +14,7 @@ Starting in **Windows 11, version 22H2**, WebAuthn APIs support ECC algorithms. ## What does this mean? -By using WebAuthn APIs, developer partners and the developer community can use [Windows Hello](./index.md) or [FIDO2 Security Keys](/azure/active-directory/authentication/howto-authentication-passwordless-security-key) to implement passwordless multi-factor authentication for their applications on Windows devices. +By using WebAuthn APIs, developer partners and the developer community can use [Windows Hello](./index.md) or [FIDO2 Security Keys][ENT-1] to implement passwordless multi-factor authentication for their applications on Windows devices. Users of these apps or sites can use any browser that supports WebAuthn APIs for passwordless authentication. Users will have a familiar and consistent experience on Windows, no matter which browser they use. @@ -69,7 +69,7 @@ FIDO2 authenticators have already been implemented and WebAuthn relying parties - Keys for multiple accounts (keys can be stored per relying party) - Client PIN - Location (the authenticator returns a location) -- [Hash-based Message Authentication Code (HMAC)-secret](/dotnet/api/system.security.cryptography.hmac) (enables offline scenarios) +- [Hash-based Message Authentication Code (HMAC)-secret][NET-1] (enables offline scenarios) The following options might be useful in the future, but haven't been observed in the wild yet: @@ -100,15 +100,26 @@ Here's an approximate layout of where the Microsoft bits go: - **WebAuthn client: Microsoft Edge**. Microsoft Edge can handle the user interface for the WebAuthn and CTAP2 features that this article describes. It also supports the AppID extension. Microsoft Edge can interact with both CTAP1 and CTAP2 authenticators. This scope for interaction means that it can create and use both U2F and FIDO2 credentials. However, Microsoft Edge doesn't speak the U2F protocol. Therefore, relying parties must use only the WebAuthn specification. Microsoft Edge on Android doesn't support WebAuthn. > [!NOTE] - > For authoritative information about Microsoft Edge support for WebAuthn and CTAP, see [Legacy Microsoft Edge developer documentation](/microsoft-edge/dev-guide/windows-integration/web-authentication). + > For authoritative information about Microsoft Edge support for WebAuthn and CTAP, see [Legacy Microsoft Edge developer documentation][EDGE-1]. - **Platform: Windows 10, Windows 11**. Windows 10 and Windows 11 host the Win32 Platform WebAuthn APIs. -- **Roaming Authenticators**. You might notice that there's no *Microsoft* roaming authenticator. The reason is because there's already a strong ecosystem of products that specialize in strong authentication, and every customer (whether corporations or individuals) has different requirements for security, ease of use, distribution, and account recovery. For more information on the ever-growing list of FIDO2-certified authenticators, see [FIDO Certified Products](https://fidoalliance.org/certification/fido-certified-products/). The list includes built-in authenticators, roaming authenticators, and even chip manufacturers who have certified designs. +- **Roaming Authenticators**. You might notice that there's no *Microsoft* roaming authenticator. The reason is because there's already a strong ecosystem of products that specialize in strong authentication, and every customer (whether corporations or individuals) has different requirements for security, ease of use, distribution, and account recovery. For more information on the ever-growing list of FIDO2-certified authenticators, see [FIDO Certified Products][EXT-1]. The list includes built-in authenticators, roaming authenticators, and even chip manufacturers who have certified designs. ## Developer references -The WebAuthn APIs are documented in the [Microsoft/webauthn](https://github.com/Microsoft/webauthn) GitHub repo. To understand how FIDO2 authenticators work, review the following two specifications: +The WebAuthn APIs are documented in the [Microsoft/webauthn][EXT-2] GitHub repo. To understand how FIDO2 authenticators work, review the following two specifications: -- [Web Authentication: An API for accessing Public Key Credentials](https://www.w3.org/TR/webauthn/) (available on the W3C site). This document is known as the WebAuthn spec. -- [Client to Authenticator Protocol (CTAP)](https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html). This document is available at the [FIDO Alliance](http://fidoalliance.org/) site, on which hardware and platform teams are working together to solve the problem of FIDO authentication. +- [Web Authentication: An API for accessing Public Key Credentials][EXT-3] (available on the W3C site). This document is known as the WebAuthn spec. +- [Client to Authenticator Protocol (CTAP)][EXT-4]. This document is available at the [FIDO Alliance][EXT-5] site, on which hardware and platform teams are working together to solve the problem of FIDO authentication. + + + +[ENT-1]: /entra/identity/authentication/how-to-enable-passkey-fido2 +[NET-1]: /dotnet/api/system.security.cryptography.hmac +[EDGE-1]: /microsoft-edge/dev-guide/windows-integration/web-authentication +[EXT-1]: https://fidoalliance.org/certification/fido-certified-products/ +[EXT-2]: https://github.com/Microsoft/webauthn +[EXT-3]: https://www.w3.org/TR/webauthn/ +[EXT-4]: https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html +[EXT-5]: http://fidoalliance.org From ef8a0f16c68d1ee44dd26677913862588beb1f77 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 8 Jul 2024 11:15:23 -0400 Subject: [PATCH 199/354] Added recovery password details --- .../bitlocker/operations-guide.md | 30 +++++++++++++++++++ .../bitlocker/recovery-process.md | 9 +++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index 29452a46ea..c41b4ab0cb 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -610,7 +610,37 @@ Once decryption is complete, the drive updates its status in the Control Panel a --- +## Unlock a drive + +If connect a drive as a secondary drive to a device, and you have your BitLocker recovery key, you can unlock a BitLocker-enabled drive by using the following instructions. + +In the next example, the `D` drive is the one to unlock. Select the option that best suits your needs. + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + +```powershell +Unlock-BitLocker -MountPoint D -RecoveryPassword xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx +``` + +For more information, see [Unlock-BitLocker][PS-2] + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +```cmd +manage-bde.exe -unlock D: -recoverypassword xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx +``` + +For more information, see [manage-bde unlock][WINS-1] + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +You can unlock the drive from the Control Panel or from Explorer. After opening the BitLocker Control Panel applet, select the **Unlock drive** option to begin the process. When prompted, enter the 48-digit recovery key. + +--- + [PREV-1]: /previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11) [PS-1]: /powershell/module/bitlocker +[PS-2]: /powershell/module/bitlocker/unlock-bitlocker?view=windowsserver2022-ps +[WINS-1]: /windows-server/administration/windows-commands/manage-bde-unlock \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index aee50a307d..7f22206332 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -2,7 +2,7 @@ title: BitLocker recovery process description: Learn how to obtain BitLocker recovery information for Microsoft Entra joined, Microsoft Entra hybrid joined, and Active Directory joined devices, and how to restore access to a locked drive. ms.topic: how-to -ms.date: 06/18/2024 +ms.date: 07/08/2024 --- # BitLocker recovery process @@ -26,6 +26,13 @@ A recovery key can't be stored in any of the following locations: - The root directory of a nonremovable drive - An encrypted volume +### Self-recovery with recovery password + +If you have access to the recovery key, enter the 48-digits in the preboot recovery screen. + +- If you are having issues entering the recovery password in the preboot recovery screen, or you can no longer boot your device, you can connect the drive to another device as a secondary drive. For more information, see [Unlock a drive](operations-guide.md#unlock-a-drive) +- If unlocking with recovery password doesn't work you can use the [BitLocker Repair tool](#bitlocker-repair-tool) to regain access yo your drive + ### Self-recovery in Microsoft Entra ID If BitLocker recovery keys are stored in Microsoft Entra ID, users can access them using the following URL: https://myaccount.microsoft.com. From the **Devices** tab, users can select a Windows device that they own, and select the option **View BitLocker Keys**. From ec883f83d413dcaa2dbf22f87bc37302bc06e885 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 8 Jul 2024 11:34:17 -0400 Subject: [PATCH 200/354] removes version --- .../data-protection/bitlocker/operations-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index c41b4ab0cb..8ac5689f57 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -642,5 +642,5 @@ You can unlock the drive from the Control Panel or from Explorer. After opening [PREV-1]: /previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11) [PS-1]: /powershell/module/bitlocker -[PS-2]: /powershell/module/bitlocker/unlock-bitlocker?view=windowsserver2022-ps +[PS-2]: /powershell/module/bitlocker/unlock-bitlocker [WINS-1]: /windows-server/administration/windows-commands/manage-bde-unlock \ No newline at end of file From da3a1a997e63512a4ff64d4a11e1707af080324d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 8 Jul 2024 11:42:35 -0400 Subject: [PATCH 201/354] chore: Update BitLocker unlock instructions in operations guide --- .../data-protection/bitlocker/operations-guide.md | 2 +- .../data-protection/bitlocker/recovery-process.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index 8ac5689f57..7bf6e12c5a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -612,7 +612,7 @@ Once decryption is complete, the drive updates its status in the Control Panel a ## Unlock a drive -If connect a drive as a secondary drive to a device, and you have your BitLocker recovery key, you can unlock a BitLocker-enabled drive by using the following instructions. +If you connect a drive as a secondary drive to a device, and you have your BitLocker recovery key, you can unlock a BitLocker-enabled drive by using the following instructions. In the next example, the `D` drive is the one to unlock. Select the option that best suits your needs. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index 7f22206332..d6e0f76716 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -30,7 +30,7 @@ A recovery key can't be stored in any of the following locations: If you have access to the recovery key, enter the 48-digits in the preboot recovery screen. -- If you are having issues entering the recovery password in the preboot recovery screen, or you can no longer boot your device, you can connect the drive to another device as a secondary drive. For more information, see [Unlock a drive](operations-guide.md#unlock-a-drive) +- If you are having issues entering the recovery password in the preboot recovery screen, or you can no longer boot your device, you can connect the drive to another device as a secondary drive. For more information about the unlock process, see [Unlock a drive](operations-guide.md#unlock-a-drive) - If unlocking with recovery password doesn't work you can use the [BitLocker Repair tool](#bitlocker-repair-tool) to regain access yo your drive ### Self-recovery in Microsoft Entra ID From 7bc18d74d30e194e8108c7478d9a21c56ae26346 Mon Sep 17 00:00:00 2001 From: Stacyrch140 <102548089+Stacyrch140@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:15:23 -0400 Subject: [PATCH 202/354] pencil edit --- .../hello-for-business/deploy/hybrid-cert-trust-enroll.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md index 046cff4a4d..e2e4402d37 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/hybrid-cert-trust-enroll.md @@ -37,7 +37,7 @@ Use the following instructions to configure your devices using either Microsoft Windows Hello for Business provisioning performs the initial enrollment of the Windows Hello for Business authentication certificate. This certificate expires based on the duration configured in the Windows Hello for Business *authentication certificate* template. -The process requires no user interaction, provided the user signs-in using Windows Hello for Business. The certificate is renewed in the background before it expires. +The process requires no user interaction, provided the user signs in using Windows Hello for Business. The certificate is renewed in the background before it expires. [!INCLUDE [gpo-settings-1](../../../../../includes/configure/gpo-settings-1.md)] From eb01cee7d91bc2c2ab2aa630b1e3cf38e49d5a2c Mon Sep 17 00:00:00 2001 From: Stacyrch140 <102548089+Stacyrch140@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:16:15 -0400 Subject: [PATCH 203/354] pencil edit --- .../hello-for-business/deploy/on-premises-cert-trust-enroll.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md index 8c1de9a2d0..3a9200db54 100644 --- a/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md +++ b/windows/security/identity-protection/hello-for-business/deploy/on-premises-cert-trust-enroll.md @@ -37,7 +37,7 @@ Follow the instructions below to configure your devices using either Microsoft I Windows Hello for Business provisioning performs the initial enrollment of the Windows Hello for Business authentication certificate. This certificate expires based on the duration configured in the Windows Hello for Business *authentication certificate* template. -The process requires no user interaction, provided the user signs-in using Windows Hello for Business. The certificate is renewed in the background before it expires. +The process requires no user interaction, provided the user signs in using Windows Hello for Business. The certificate is renewed in the background before it expires. [!INCLUDE [gpo-settings-1](../../../../../includes/configure/gpo-settings-1.md)] From 3e827c1506baf1e927fb0215d509e0f491333f31 Mon Sep 17 00:00:00 2001 From: Stacyrch140 <102548089+Stacyrch140@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:17:13 -0400 Subject: [PATCH 204/354] pencil edit --- windows/security/identity-protection/hello-for-business/faq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/faq.yml b/windows/security/identity-protection/hello-for-business/faq.yml index 98723b63f6..fb596103e4 100644 --- a/windows/security/identity-protection/hello-for-business/faq.yml +++ b/windows/security/identity-protection/hello-for-business/faq.yml @@ -213,7 +213,7 @@ sections: - question: Do I need line of sight to a domain controller to use Windows Hello for Business cloud Kerberos trust? answer: | Windows Hello for Business cloud Kerberos trust requires line of sight to a domain controller when: - - a user signs-in for the first time or unlocks with Windows Hello for Business after provisioning + - a user signs in for the first time or unlocks with Windows Hello for Business after provisioning - attempting to access on-premises resources secured by Active Directory - question: Can I use RDP/VDI with Windows Hello for Business cloud Kerberos trust? answer: | From f22ebc4fe2d020739414ea7e7fdfcbf6b0964159 Mon Sep 17 00:00:00 2001 From: Stacyrch140 <102548089+Stacyrch140@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:17:58 -0400 Subject: [PATCH 205/354] pencil edit --- .../hello-for-business/hello-errors-during-pin-creation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md b/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md index 0e89afb281..ef8e864841 100644 --- a/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md +++ b/windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md @@ -53,7 +53,7 @@ If the error occurs again, check the error code against the following table to s | 0x801C03EA | Server failed to authorize user or device. | Check if the token is valid and user has permission to register Windows Hello for Business keys. | | 0x801C03EB | Server response http status isn't valid | Sign out and then sign in again. | | 0x801C03EC | Unhandled exception from server. | sign out and then sign in again. | -| 0x801C03ED | Multi-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed.

    -or-

    Token wasn't found in the Authorization header.

    -or-

    Failed to read one or more objects.

    -or-

    The request sent to the server was invalid.

    -or-

    User doesn't have permissions to join to Microsoft Entra ID. | Sign out and then sign in again. If that doesn't resolve the issue, unjoin the device from Mcirosoft Entra ID and rejoin.
    Allow user(s) to join to Microsoft Entra ID under Microsoft Entra Device settings. | +| 0x801C03ED | Multi-factor authentication is required for a 'ProvisionKey' operation, but wasn't performed.

    -or-

    Token wasn't found in the Authorization header.

    -or-

    Failed to read one or more objects.

    -or-

    The request sent to the server was invalid.

    -or-

    User doesn't have permissions to join to Microsoft Entra ID. | Sign out and then sign in again. If that doesn't resolve the issue, unjoin the device from Microsoft Entra ID and rejoin.
    Allow user(s) to join to Microsoft Entra ID under Microsoft Entra Device settings. | | 0x801C03EE | Attestation failed. | Sign out and then sign in again. | | 0x801C03EF | The AIK certificate is no longer valid. | Sign out and then sign in again. | | 0x801C03F2 | Windows Hello key registration failed. | ERROR_BAD_DIRECTORY_REQUEST. Another object with the same value for property proxyAddresses already exists. To resolve the issue, refer to [Duplicate Attributes Prevent Dirsync](/office365/troubleshoot/administration/duplicate-attributes-prevent-dirsync). Also, if no sync conflict exists, please verify that the "Mail/Email address" in Microsoft Entra ID and the Primary SMTP address are the same in the proxy address. | From 6b576d95499cd639fd27920bea2a15503f1b695d Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Mon, 8 Jul 2024 11:13:59 -0600 Subject: [PATCH 206/354] MDM Freshness --- ...e-active-directory-integration-with-mdm.md | 44 ++++++------------- ...omatic-mdm-enrollment-in-the-new-portal.md | 2 +- ...ollment-using-windows-provisioning-tool.md | 12 ++--- ...ficate-authentication-device-enrollment.md | 2 +- .../certificate-renewal-windows-mdm.md | 8 ++-- windows/client-management/config-lock.md | 4 +- .../declared-configuration-extensibility.md | 6 +-- .../declared-configuration.md | 2 +- .../device-update-management.md | 8 ++-- .../disconnecting-from-mdm-unenrollment.md | 10 ++--- .../enable-admx-backed-policies-in-mdm.md | 2 +- ...device-automatically-using-group-policy.md | 4 +- .../enterprise-app-management.md | 12 ++--- .../esim-enterprise-management.md | 4 +- ...erated-authentication-device-enrollment.md | 14 +++--- ...rver-side-mobile-application-management.md | 6 +-- windows/client-management/index.yml | 2 +- ...-in-your-organization-modern-management.md | 12 ++--- windows/client-management/mdm-collect-logs.md | 4 +- .../mdm-diagnose-enrollment.md | 2 +- .../mdm-enrollment-of-windows-devices.md | 6 +-- windows/client-management/mdm-known-issues.md | 10 ++--- windows/client-management/mdm-overview.md | 4 +- .../mobile-device-enrollment.md | 8 ++-- ...ew-in-windows-mdm-enrollment-management.md | 2 +- .../oma-dm-protocol-support.md | 2 +- ...remise-authentication-device-enrollment.md | 2 +- .../push-notification-windows-mdm.md | 2 +- .../server-requirements-windows-mdm.md | 6 +-- .../structure-of-oma-dm-provisioning-files.md | 2 +- .../understanding-admx-backed-policies.md | 2 +- ...-scripting-with-the-wmi-bridge-provider.md | 2 +- ...and-centennial-app-policy-configuration.md | 2 +- .../windows-mdm-enterprise-settings.md | 14 +++--- .../wmi-providers-supported-in-windows.md | 2 +- 35 files changed, 100 insertions(+), 126 deletions(-) diff --git a/windows/client-management/azure-active-directory-integration-with-mdm.md b/windows/client-management/azure-active-directory-integration-with-mdm.md index 27c5fb235c..eefc2151ab 100644 --- a/windows/client-management/azure-active-directory-integration-with-mdm.md +++ b/windows/client-management/azure-active-directory-integration-with-mdm.md @@ -5,18 +5,18 @@ ms.topic: conceptual ms.collection: - highpri - tier2 -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Microsoft Entra integration with MDM -Microsoft Entra ID is the world's largest enterprise cloud identity management service. It's used by organizations to access Microsoft 365 and business applications from Microsoft and third-party software as a service (SaaS) vendors. Many of the rich Windows experiences for organizational users (such as store access or OS state roaming) use Microsoft Entra ID as the underlying identity infrastructure. Windows integrates with Microsoft Entra ID, allowing devices to be registered in Microsoft Entra ID and enrolled into MDM in an integrated flow. +Microsoft Entra ID is the world's largest enterprise cloud identity management service. It's used by organizations to access Microsoft 365 and business applications from Microsoft and third-party software as a service (SaaS) vendors. Many of the rich Windows experiences for organizational users (such as store access or OS state roaming) use Microsoft Entra ID as the underlying identity infrastructure. Windows integrates with Microsoft Entra ID, allowing devices to be registered in Microsoft Entra ID and enrolled into Mobile Device Management (MDM) in an integrated flow. Once a device is enrolled in MDM, the MDM: - Can enforce compliance with organization policies, add or remove apps, and more. - Can report a device's compliance in Microsoft Entra ID. -- Microsoft Entra ID can allow access to organization resources or applications secured by Microsoft Entra ID to devices that comply with policies. +- Can allow access to organization resources or applications secured by Microsoft Entra ID to devices that comply with policies. To support these rich experiences with their MDM product, MDM vendors can integrate with Microsoft Entra ID. @@ -24,23 +24,21 @@ To support these rich experiences with their MDM product, MDM vendors can integr There are several ways to connect your devices to Microsoft Entra ID: -- [Join device to Microsoft Entra ID](/azure/active-directory/devices/concept-azure-ad-join) -- [Join device to on-premises AD and Microsoft Entra ID](/azure/active-directory/devices/concept-azure-ad-join-hybrid) -- [Add a Microsoft work account to Windows](/azure/active-directory/devices/concept-azure-ad-register) +- [Join device to Microsoft Entra ID](/entra/identity/devices/concept-directory-join) +- [Join device to on-premises AD and Microsoft Entra ID](/entra/identity/devices/concept-hybrid-join) +- [Add a Microsoft work account to Windows](/entra/identity/devices/concept-device-registration) In each scenario, Microsoft Entra authenticates the user and the device. It provides a verified unique device identifier that can be used for MDM enrollment. The enrollment flow provides an opportunity for the MDM service to render its own UI, using a web view. MDM vendors should use the UI to render the Terms of Use (TOU), which can be different for company-owned and bring-your-own-device (BYOD) devices. MDM vendors can also use the web view to render more UI elements, such as asking for a one-time PIN. In Windows 10, the web view during the out-of-the-box scenario is displayed as full-screen by default, providing MDM vendors with the capability to create a seamless edge-to-edge user experience. However, in Windows 11 the web view is rendered within an iframe. It's important that MDM vendors who integrate with Microsoft Entra ID respect the Windows design guidelines. This step includes using a responsive web design and respecting the Windows accessibility guidelines. For example, include the forward and back buttons that are properly wired to the navigation logic. More details are provided later in this article. -For Microsoft Entra enrollment to work for an Active Directory Federated Services (AD FS) backed Microsoft Entra account, you must enable password authentication for the intranet on the ADFS service. For more information, see [Configure Azure MFA as authentication provider with AD FS](/windows-server/identity/ad-fs/operations/configure-ad-fs-and-azure-mfa). +For Microsoft Entra enrollment to work for an Active Directory Federated Services (AD FS) backed Microsoft Entra account, you must enable password authentication for the intranet on the ADFS service. For more information, see [Configure Microsoft Entra multifactor authentication as authentication provider with AD FS](/windows-server/identity/ad-fs/operations/configure-ad-fs-and-azure-mfa). Once a user has a Microsoft Entra account added to Windows and enrolled in MDM, the enrollment can be managed through **Settings** > **Accounts** > **Access work or school**. Device management of either Microsoft Entra join for organization scenarios or BYOD scenarios is similar. > [!NOTE] > Users can't remove the device enrollment through the **Access work or school** user interface because management is tied to the Microsoft Entra ID or work account. -
    - ### MDM endpoints involved in Microsoft Entra integrated enrollment Microsoft Entra MDM enrollment is a two-step process: @@ -64,17 +62,15 @@ To support Microsoft Entra enrollment, MDM vendors must host and expose a **Term The MDM is expected to use this information about the device (Device ID) when reporting device compliance back to Microsoft Entra ID using the [Microsoft Graph API](/azure/active-directory/develop/active-directory-graph-api). A sample for reporting device compliance is provided later in this article. - - ## Make MDM a reliable party of Microsoft Entra ID To participate in the integrated enrollment flow outlined in the previous section, the MDM must consume access tokens issued by Microsoft Entra ID. To report compliance with Microsoft Entra ID, the MDM must authenticate itself to Microsoft Entra ID and obtain authorization in the form of an access token that allows it to invoke the [Microsoft Graph API](/azure/active-directory/develop/active-directory-graph-api). ### Cloud-based MDM -A cloud-based MDM is a SaaS application that provides device management capabilities in the cloud. It's a multi-tenant application. This application is registered with Microsoft Entra ID in the home tenant of the MDM vendor. When an IT admin decides to use this MDM solution, an instance of this application is made visible in the tenant of the customer. +A cloud-based MDM is a SaaS application that provides device management capabilities in the cloud. It's a multitenant application. This application is registered with Microsoft Entra ID in the home tenant of the MDM vendor. When an IT admin decides to use this MDM solution, an instance of this application is made visible in the tenant of the customer. -The MDM vendor must first register the application in their home tenant and mark it as a multi-tenant application. For more information about how to add multi-tenant applications to Microsoft Entra ID, see the [Integrate an app that authenticates users and calls Microsoft Graph using the multi-tenant integration pattern (SaaS)](https://go.microsoft.com/fwlink/p/?LinkId=613661) code sample on GitHub. +The MDM vendor must first register the application in their home tenant and mark it as a multitenant application. For more information about how to add multitenant applications to Microsoft Entra ID, see the [Integrate an app that authenticates users and calls Microsoft Graph using the multitenant integration pattern (SaaS)](https://go.microsoft.com/fwlink/p/?LinkId=613661) code sample on GitHub. > [!NOTE] > For the MDM provider, if you don't have an existing Microsoft Entra tenant with a Microsoft Entra subscription that you manage, follow these step-by-step guides: @@ -82,7 +78,7 @@ The MDM vendor must first register the application in their home tenant and mark > - [Quickstart: Create a new tenant in Microsoft Entra ID](/azure/active-directory/fundamentals/active-directory-access-create-new-tenant) to set up a tenant. > - [Associate or add an Azure subscription to your Microsoft Entra tenant](/azure/active-directory/fundamentals/active-directory-how-subscriptions-associated-directory) to add a subscription, and manage it via the Azure Portal. -The MDM application uses keys to request access tokens from Microsoft Entra ID. These keys are managed within the tenant of the MDM provider and not visible to individual customers. The same key is used by the multi-tenant MDM application to authenticate itself with Microsoft Entra ID, in the customer tenant where the managed device belongs. +The MDM application uses keys to request access tokens from Microsoft Entra ID. These keys are managed within the tenant of the MDM provider and not visible to individual customers. The same key is used by the multitenant MDM application to authenticate itself with Microsoft Entra ID, in the customer tenant where the managed device belongs. > [!NOTE] > All MDM apps must implement Microsoft Entra v2 tokens before we certify that integration works. Due to changes in the Microsoft Entra app platform, using Microsoft Entra v2 tokens is a hard requirement. For more information, see [Microsoft identity platform access tokens](/azure/active-directory/develop/access-tokens#token-formats). @@ -107,8 +103,6 @@ For cloud-based MDM, you can roll over the application keys without requiring a For the on-premises MDM, the Microsoft Entra authentication keys are within the customer tenant and the customer's administrator must roll over the keys. To improve security, provide guidance to customers about rolling over and protecting the keys. - - ## Publish your MDM app to Microsoft Entra app gallery IT administrators use the Microsoft Entra app gallery to add an MDM for their organization to use. The app gallery is a rich store with over 2400 SaaS applications that are integrated with Microsoft Entra ID. @@ -124,7 +118,7 @@ The following table shows the required information to create an entry in the Mic | Item | Description | |---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Application ID** | The client ID of your MDM app that is configured within your tenant. This ID is the unique identifier for your multi-tenant app. | +| **Application ID** | The client ID of your MDM app that is configured within your tenant. This ID is the unique identifier for your multitenant app. | | **Publisher** | A string that identifies the publisher of the app. | | **Application URL** | A URL to the landing page of your app where your administrators can get more information about the MDM app and contains a link to the landing page of your app. This URL isn't used for the actual enrollment. | | **Description** | A brief description of your MDM app, which must be under 255 characters. | @@ -191,7 +185,7 @@ The following claims are expected in the access token passed by Windows to the T |-----------|----------------------------------------------------------------------------------------------| | Object ID | Identifier of the user object corresponding to the authenticated user. | | UPN | A claim containing the user principal name (UPN) of the authenticated user. | -| TID | A claim representing the tenant ID of the tenant. In the example above, it's Fabrikam. | +| TID | A claim representing the tenant ID of the tenant. In the previous example, it's Fabrikam. | | Resource | A sanitized URL representing the MDM application. Example: `https://fabrikam.contosomdm.com` | > [!NOTE] @@ -206,7 +200,7 @@ https://fabrikam.contosomdm.com/TermsOfUse?redirect_uri=ms-appx-web://ContosoMdm Authorization: Bearer eyJ0eXAiOi ``` -The MDM is expected to validate the signature of the access token to ensure it is issued by Microsoft Entra ID and that the recipient is appropriate. +The MDM is expected to validate the signature of the access token to ensure it's issued by Microsoft Entra ID and that the recipient is appropriate. ### Terms of Use content @@ -260,8 +254,6 @@ The following table shows the error codes. | Microsoft Entra token validation failed | 302 | unauthorized_client | unauthorized_client | | internal service error | 302 | server_error | internal service error | - - ## Enrollment protocol with Microsoft Entra ID With Azure integrated MDM enrollment, there's no discovery phase and the discovery URL is directly passed down to the system from Azure. The following table shows the comparison between the traditional and Azure enrollments. @@ -284,8 +276,6 @@ With Azure integrated MDM enrollment, there's no discovery phase and the discove |EnrollmentData Terms of Use binary blob as AdditionalContext for EnrollmentServiceURL|Not supported|Supported|Supported| |CSPs accessible during enrollment|Windows 10 support:
    - DMClient
    - CertificateStore
    - RootCATrustedCertificates
    - ClientCertificateInstall
    - EnterpriseModernAppManagement
    - PassportForWork
    - Policy
    - w7 APPLICATION||| - - ## Management protocol with Microsoft Entra ID There are two different MDM enrollment types that integrate with Microsoft Entra ID, and use Microsoft Entra user and device identities. Depending on the enrollment type, the MDM service may need to manage a single user or multiple users. @@ -318,8 +308,6 @@ There are two different MDM enrollment types that integrate with Microsoft Entra - Use the JWT Token Handler extension for WIF to validate the contents of the access token and extract claims required for use. For more information, see [JwtSecurityTokenHandler Class](/dotnet/api/system.identitymodel.tokens.jwt.jwtsecuritytokenhandler). - Refer to the Microsoft Entra authentication code samples to get a sample for working with access tokens. For an example, see [NativeClient-DotNet](https://go.microsoft.com/fwlink/p/?LinkId=613667). - - ## Device Alert 1224 for Microsoft Entra user token An alert is sent when the DM session starts and there's a Microsoft Entra user logged in. The alert is sent in OMA DM package #1. Here's an example: @@ -372,15 +360,13 @@ Here's an example. ``` - - ## Report device compliance to Microsoft Entra ID Once a device is enrolled with the MDM for management, organization policies configured by the IT administrator are enforced on the device. MDM evaluates the device compliance with configured policies and then reports it to Microsoft Entra ID. This section covers the Graph API call you can use to report a device compliance status to Microsoft Entra ID. For a sample that illustrates how an MDM can obtain an access token using OAuth 2.0 client\_credentials grant type, see [Daemon\_CertificateCredential-DotNet](https://go.microsoft.com/fwlink/p/?LinkId=613822). -- **Cloud-based MDM** - If your product is a cloud-based multi-tenant MDM service, you have a single key configured for your service within your tenant. To obtain authorization, use this key to authenticate the MDM service with Microsoft Entra ID. +- **Cloud-based MDM** - If your product is a cloud-based multitenant MDM service, you have a single key configured for your service within your tenant. To obtain authorization, use this key to authenticate the MDM service with Microsoft Entra ID. - **On-premises MDM** - If your product is an on-premises MDM, customers must configure your product with the key used to authenticate with Microsoft Entra ID. This key configuration is because each on-premises instance of your MDM product has a different tenant-specific key. So, you may need to expose a configuration experience in your MDM product that enables administrators to specify the key to be used to authenticate with Microsoft Entra ID. ### Use Microsoft Graph API @@ -415,8 +401,6 @@ Response: - Success - HTTP 204 with No Content. - Failure/Error - HTTP 404 Not Found. This error may be returned if the specified device or tenant can't be found. - - ## Data loss during unenrollment from Microsoft Entra join When a user is enrolled into MDM through Microsoft Entra join and then disconnects the enrollment, there's no warning that the user will lose Windows Information Protection (WIP) data. The disconnection message doesn't indicate the loss of WIP data. diff --git a/windows/client-management/azure-ad-and-microsoft-intune-automatic-mdm-enrollment-in-the-new-portal.md b/windows/client-management/azure-ad-and-microsoft-intune-automatic-mdm-enrollment-in-the-new-portal.md index ab7c3e0a1c..aca40777f6 100644 --- a/windows/client-management/azure-ad-and-microsoft-intune-automatic-mdm-enrollment-in-the-new-portal.md +++ b/windows/client-management/azure-ad-and-microsoft-intune-automatic-mdm-enrollment-in-the-new-portal.md @@ -2,7 +2,7 @@ title: Automatic MDM enrollment in the Intune admin center description: Automatic MDM enrollment in the Intune admin center ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Automatic MDM enrollment in the Intune admin center diff --git a/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md b/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md index d9938c6409..2b0ca2a334 100644 --- a/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md +++ b/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md @@ -1,13 +1,13 @@ --- title: Bulk enrollment -description: Bulk enrollment is an efficient way to set up a large number of devices to be managed by an MDM server without the need to reimage the devices. +description: Bulk enrollment is an efficient way to set up a large number of devices to manage by an MDM server without the need to reimage the devices. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Bulk enrollment using Windows Configuration Designer -Bulk enrollment is an efficient way to set up a large number of devices to be managed by an MDM server without the need to reimage the devices. You can use the [Provisioning CSP](mdm/provisioning-csp.md) for bulk enrollment, except for the Microsoft Entra join enrollment scenario. +Bulk enrollment is an efficient way to set up a large number of devices to manage by an MDM server without the need to reimage the devices. You can use the [Provisioning CSP](mdm/provisioning-csp.md) for bulk enrollment, except for the Microsoft Entra join enrollment scenario. ## Typical use cases @@ -68,7 +68,7 @@ Using the WCD, create a provisioning package using the enrollment information re ![bulk enrollment screenshot.](images/bulk-enrollment.png) 1. Configure the other settings, such as the Wi-Fi connections so that the device can join a network before joining MDM (for example, **Runtime settings** > **ConnectivityProfiles** > **WLANSetting**). -1. When you're done adding all the settings, on the **File** menu, select **Save**. +1. After adding all the settings, select **Save** on the **File** menu. 1. On the main menu, select **Export** > **Provisioning package**. ![icd menu for export.](images/bulk-enrollment2.png) @@ -120,7 +120,7 @@ Using the WCD, create a provisioning package using the enrollment information re For detailed descriptions of these settings, see [Provisioning CSP](mdm/provisioning-csp.md). 1. Configure the other settings, such as the Wi-Fi connection so that the device can join a network before joining MDM (for example, **Runtime settings** > **ConnectivityProfiles** > **WLANSetting**). -1. When you're done adding all the settings, on the **File** menu, select **Save**. +1. After adding all the settings, select **Save** on the **File** menu. 1. Export and build the package (steps 10-13 in previous section). 1. Apply the package to some test devices and verify that they work. For more information, see [Apply a provisioning package](#apply-a-provisioning-package). 1. Apply the package to your devices. @@ -142,7 +142,7 @@ Using the WCD, create a provisioning package using the enrollment information re - If the provisioning engine receives a failure from a CSP, it retries provisioning three times in a row. - If all immediate attempts fail, a delayed task is launched to try provisioning again later. It will retry four times at a decaying rate of 15 minutes -> 1 hr -> 4 hr -> "Next System Start". These attempts are run from the SYSTEM context. - It also retries the provisioning each time it's launched, if started from somewhere else as well. -- In addition, provisioning will be restarted in the SYSTEM context after a sign in and the [system has been idle](/windows/win32/taskschd/task-idle-conditions). +- In addition, provisioning will be restarted in the SYSTEM context after a sign in and the [system is idle](/windows/win32/taskschd/task-idle-conditions). ## Related articles diff --git a/windows/client-management/certificate-authentication-device-enrollment.md b/windows/client-management/certificate-authentication-device-enrollment.md index e53a80cc55..2cea712e44 100644 --- a/windows/client-management/certificate-authentication-device-enrollment.md +++ b/windows/client-management/certificate-authentication-device-enrollment.md @@ -2,7 +2,7 @@ title: Certificate authentication device enrollment description: This section provides an example of the mobile device enrollment protocol using certificate authentication policy. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Certificate authentication device enrollment diff --git a/windows/client-management/certificate-renewal-windows-mdm.md b/windows/client-management/certificate-renewal-windows-mdm.md index 573cbe71b2..66d42a4d90 100644 --- a/windows/client-management/certificate-renewal-windows-mdm.md +++ b/windows/client-management/certificate-renewal-windows-mdm.md @@ -2,7 +2,7 @@ title: Certificate Renewal description: Learn how to find all the resources that you need to provide continuous access to client certificates. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Certificate Renewal @@ -19,7 +19,7 @@ Windows supports automatic certificate renewal, also known as Renew On Behalf Of > [!NOTE] > Certificate renewal of the enrollment certificate through ROBO is only supported with Microsoft PKI. -Auto certificate renewal is the only supported MDM client certificate renewal method for the device that's enrolled using WAB authentication. Meaning, the AuthPolicy is set to Federated. It also means if the server supports WAB authentication, then the MDM certificate enrollment server MUST also support client TLS to renew the MDM client certificate. +Auto certificate renewal is the only supported MDM client certificate renewal method for a device enrolled using WAB authentication. Meaning, the AuthPolicy is set to Federated. It also means if the server supports WAB authentication, then the MDM certificate enrollment server MUST also support client TLS to renew the MDM client certificate. For Windows devices, during the MDM client certificate enrollment phase or during MDM management section, the enrollment server or MDM server could configure the device to support automatic MDM client certificate renewal using [CertificateStore CSP's](mdm/certificatestore-csp.md) ROBOSupport node under `CertificateStore/My/WSTEP/Renew` URL. @@ -89,7 +89,7 @@ In Windows, the renewal period can only be set during the MDM enrollment phase. For more information about the parameters, see the [CertificateStore configuration service provider](mdm/certificatestore-csp.md). -Unlike manual certificate renewal, the device doesn't perform an automatic MDM client certificate renewal if the certificate is already expired. To make sure the device has enough time to automatically renew, we recommend you set a renewal period a couple months (40-60 days) before the certificate expires. And, set the renewal retry interval to every few days, like every 4-5 days instead of every seven days (weekly). This change increases the chance that the device will try to connect at different days of the week. +Unlike manual certificate renewal, the device doesn't perform an automatic MDM client certificate renewal if the certificate is already expired. To make sure the device has enough time to automatically renew, we recommend you set a renewal period a couple months (40-60 days) before the certificate expires. And, set the renewal retry interval to every few days, like every 4-5 days instead of every seven days (weekly). This change increases the chance that the device tries to connect at different days of the week. ## Certificate renewal response @@ -99,7 +99,7 @@ When RequestType is set to Renew, the web service verifies the following (in add - The client's certificate is in the renewal period - The certificate is issued by the enrollment service - The requester is the same as the requester for initial enrollment -- For standard client's request, the client hasn't been blocked +- For standard client's request, the client isn't blocked After validation is completed, the web service retrieves the PKCS#10 content from the PKCS#7 BinarySecurityToken. The rest is the same as initial enrollment, except that the Provisioning XML only needs to have the new certificate issued by the CA. diff --git a/windows/client-management/config-lock.md b/windows/client-management/config-lock.md index 30b905a41d..f497c86712 100644 --- a/windows/client-management/config-lock.md +++ b/windows/client-management/config-lock.md @@ -2,7 +2,7 @@ title: Secured-core configuration lock description: A secured-core PC (SCPC) feature that prevents configuration drift from secured-core PC features caused by unintentional misconfiguration. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 appliesto: - ✅ Windows 11 --- @@ -63,7 +63,7 @@ The steps to turn on config lock using Microsoft Intune are as follows: Config lock is designed to ensure that a secured-core PC isn't unintentionally misconfigured. You keep the ability to enable or disable SCPC features, for example, firmware protection. You can make these changes with group policies or MDM services like Microsoft Intune. -:::image type="content" source="images/configlock-mem-firmwareprotect.png" alt-text="The Defender Firmware protection setting, with a description of Windows Defender System Guard protects your device from compromised firmware. The setting is set to Off."::: +:::image type="content" source="images/configlock-mem-firmwareprotect.png" alt-text="The Defender Firmware protection setting, with a description of System Guard protects your device from compromised firmware. The setting is set to Off."::: ## FAQ diff --git a/windows/client-management/declared-configuration-extensibility.md b/windows/client-management/declared-configuration-extensibility.md index 3121be77f0..7b1f9991f8 100644 --- a/windows/client-management/declared-configuration-extensibility.md +++ b/windows/client-management/declared-configuration-extensibility.md @@ -1,13 +1,13 @@ --- title: Declared configuration extensibility description: Learn more about declared configuration extensibility through native WMI providers. -ms.date: 09/26/2023 +ms.date: 07/08/2024 ms.topic: how-to --- # Declared configuration extensibility providers -The declared configuration enrollment, which supports the declared configuration client stack, offers extensibility through native WMI providers. This feature instantiates and interfaces with a Windows Management Instrumentation (WMI) provider that has implemented a management infrastructure (MI) interface. The interface must implement GetTargetResource, TestTargetResource, and SetTargetResource methods, and may implement any number of string properties. +The declared configuration enrollment, which supports the declared configuration client stack, offers extensibility through native WMI providers. This feature instantiates and interfaces with a Windows Management Instrumentation (WMI) provider that implements a management infrastructure (MI) interface. The interface must implement GetTargetResource, TestTargetResource, and SetTargetResource methods, and can implement any number of string properties. > [!NOTE] > Only string properties are currently supported by extensibility providers. @@ -51,7 +51,7 @@ uint32 SetTargetResource( To create a native WMI provider, follow the steps outlined in [How to implement an MI provider](/previous-versions/windows/desktop/wmi_v2/how-to-implement-an-mi-provider). These steps include how to generate the source code for an MI interface using the `Convert-MofToProvider.exe` tool to generate the DLL and prepare it for placement. -1. Create a MOF file that defines the schema for the desired state configuration resource including parameters and methods. This file includes the required parameters for the resource. +1. Create a Managed Object Format (MOF) file that defines the schema for the desired state configuration resource including parameters and methods. This file includes the required parameters for the resource. 2. Copy the schema MOF file along with any required files into the provider tools directory, for example: ProviderGenerationTool. 3. Edit the required files and include the correct file names and class names. 4. Invoke the provider generator tool to generate the provider's project files. diff --git a/windows/client-management/declared-configuration.md b/windows/client-management/declared-configuration.md index f655d1ae19..e12a89b7ca 100644 --- a/windows/client-management/declared-configuration.md +++ b/windows/client-management/declared-configuration.md @@ -1,7 +1,7 @@ --- title: Declared configuration protocol description: Learn more about using declared configuration protocol for desired state management of Windows devices. -ms.date: 09/26/2023 +ms.date: 07/08/2024 ms.topic: overview --- diff --git a/windows/client-management/device-update-management.md b/windows/client-management/device-update-management.md index c298893a3a..5f61783f99 100644 --- a/windows/client-management/device-update-management.md +++ b/windows/client-management/device-update-management.md @@ -2,7 +2,7 @@ title: Mobile device management MDM for device updates description: Windows provides several APIs to help mobile device management (MDM) solutions manage updates. Learn how to use these APIs to implement update management. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 ms.collection: - highpri - tier2 @@ -25,7 +25,7 @@ In particular, Windows provides APIs to enable MDMs to: - Enter a per-device update approval list. The list makes sure devices only install updates that are approved and tested. - Approve end-user license agreements (EULAs) for the end user so update deployment can be automated even for updates with EULAs. -This article provides independent software vendors (ISV) with the information they need to implement update management in Windows. For more information, see [Policy CSP - Update](mdm/policy-csp-update.md). +This article provides independent software publishers (ISV) with the information they need to implement update management in Windows. For more information, see [Policy CSP - Update](mdm/policy-csp-update.md). > [!NOTE] > The OMA DM APIs for specifying update approvals and getting compliance status refer to updates by using an Update ID. The Update ID is a GUID that identifies a particular update. The MDM will want to show IT-friendly information about the update, instead of a raw GUID, including the update's title, description, KB, update type, like a security update or service pack. For more information, see [[MS-WSUSSS]: Windows Update Services: Server-Server Protocol](/openspecs/windows_protocols/ms-wsusss/f49f0c3e-a426-4b4b-b401-9aeb2892815c). @@ -88,7 +88,7 @@ This section describes a possible algorithm for using the server-server sync pro First some background: -- If you have a multi-tenant MDM, the update metadata can be kept in a shared partition, since it's common to all tenants. +- If you have a multitenant MDM, the update metadata can be kept in a shared partition, since it's common to all tenants. - A metadata sync service can then be implemented. The service periodically calls server-server sync to pull in metadata for the updates IT cares about. - The MDM component that uses OMA DM to control devices (described in the next section) should send the metadata sync service the list of needed updates it gets from each client, if those updates aren't already known to the device. @@ -130,7 +130,7 @@ The following screenshots of the administrator console show the list of update t ### SyncML example -Set auto update to notify and defer. +Set Microsoft AutoUpdate to notify and defer. ```xml diff --git a/windows/client-management/disconnecting-from-mdm-unenrollment.md b/windows/client-management/disconnecting-from-mdm-unenrollment.md index 612dd07651..cfc52d7c69 100644 --- a/windows/client-management/disconnecting-from-mdm-unenrollment.md +++ b/windows/client-management/disconnecting-from-mdm-unenrollment.md @@ -2,7 +2,7 @@ title: Disconnecting from the management infrastructure (unenrollment) description: Disconnecting is initiated either locally by the user using a phone or remotely by the IT admin using management server. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Disconnecting from the management infrastructure (unenrollment) @@ -22,14 +22,14 @@ During disconnection, the client executes the following tasks: In Windows, after the user confirms the account deletion command and before the account is deleted, the MDM client will notify to the MDM server that the account will be removed. This notification is a best-effort action as no retry is built in to ensure the notification is successfully sent to the device. -This action utilizes the OMA DM generic alert 1226 function to send a user an MDM unenrollment user alert to the MDM server after the device accepts the user unenrollment request, but before it deletes any enterprise data. The server should set the expectation that unenrollment may succeed or fail, and the server can check whether the device is unenrolled by either checking whether the device calls back at scheduled time or by sending a push notification to the device to see whether it responds back. If the server plans to send a push notification, it should allow for some delay to give the device the time to complete the unenrollment work. +This action utilizes the OMA DM generic alert 1226 function to send a user an MDM unenrollment user alert to the MDM server after the device accepts the user unenrollment request, but before it deletes any enterprise data. The server should set the expectation that unenrollment can succeed or fail, and the server can check whether the device is unenrolled by either checking whether the device calls back at scheduled time or by sending a push notification to the device to see whether it responds back. If the server plans to send a push notification, it should allow for some delay to give the device the time to complete the unenrollment work. > [!NOTE] > The user unenrollment is an OMA DM standard. For more information about the 1226 generic alert, see the OMA Device Management Protocol specification (OMA-TS-DM\_Protocol-V1\_2\_1-20080617-A), available from the [OMA website](https://www.openmobilealliance.org/release/DM/V1_1_2-20031209-A/). The vendor uses the Type attribute to specify what type of generic alert it is. For device initiated MDM unenrollment, the alert type is **com.microsoft:mdm.unenrollment.userrequest**. -After the user elects to unenroll, any active MDM OMA DM sessions are terminated. After that, the DM client starts a DM session, including a user unenroll generic alert in the first package that it sends to the server. +After the user elects to unenroll, any active MDM OMA DM sessions are terminated. After that, the DMClient starts a DM session, including a user unenroll generic alert in the first package that it sends to the server. The following sample shows an OMA DM first package that contains a generic alert message. For more information on WP OMA DM support, see the [OMA DM protocol support](oma-dm-protocol-support.md) article. @@ -107,15 +107,13 @@ You can only use the Work Access page to unenroll under the following conditions - Enrollment was done using bulk enrollment. - Enrollment was created using the Work Access page. - - ## Unenrollment from Microsoft Entra join When a user is enrolled into MDM through Microsoft Entra join and later, the enrollment disconnects, there's no warning that the user will lose Windows Information Protection (WIP) data. The disconnection message doesn't indicate the loss of WIP data. ![aadj unenerollment.](images/azure-ad-unenrollment.png) -During the process in which a device is enrolled into MDM through Microsoft Entra join and then remotely unenrolled, the device may get into a state where it must be reimaged. When devices are remotely unenrolled from MDM, the Microsoft Entra association is also removed. This safeguard is in place to avoid leaving the corporate devices in unmanaged state. +During the process in which a device is enrolled into MDM through Microsoft Entra join and then remotely unenrolled, the device can get into a state where it must be reimaged. When devices are remotely unenrolled from MDM, the Microsoft Entra association is also removed. This safeguard is in place to avoid leaving the corporate devices in unmanaged state. Before remotely unenrolling corporate devices, you must ensure that there is at least one admin user on the device that isn't part of Microsoft Entra ID, otherwise the device won't have any admin user after the operation. diff --git a/windows/client-management/enable-admx-backed-policies-in-mdm.md b/windows/client-management/enable-admx-backed-policies-in-mdm.md index 00618845b9..db0f36a085 100644 --- a/windows/client-management/enable-admx-backed-policies-in-mdm.md +++ b/windows/client-management/enable-admx-backed-policies-in-mdm.md @@ -3,7 +3,7 @@ title: Enable ADMX policies in MDM description: Use this step-by-step guide to configure a selected set of Group Policy administrative templates (ADMX policies) in Mobile Device Management (MDM). ms.topic: conceptual ms.localizationpriority: medium -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Enable ADMX policies in MDM diff --git a/windows/client-management/enroll-a-windows-10-device-automatically-using-group-policy.md b/windows/client-management/enroll-a-windows-10-device-automatically-using-group-policy.md index f9ccd5cc0a..409c283821 100644 --- a/windows/client-management/enroll-a-windows-10-device-automatically-using-group-policy.md +++ b/windows/client-management/enroll-a-windows-10-device-automatically-using-group-policy.md @@ -2,7 +2,7 @@ title: Enroll a Windows device automatically using Group Policy description: Learn how to use a Group Policy to trigger autoenrollment to MDM for Active Directory (AD) domain-joined devices. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 ms.collection: - highpri - tier2 @@ -12,7 +12,7 @@ ms.collection: You can use a Group Policy to trigger autoenrollment to Mobile Device Management (MDM) for Active Directory (AD) domain-joined devices. -The enrollment into Intune is triggered by a group policy created on your local AD and happens without any user interaction. This cause-and-effect mechanism means you can automatically mass-enroll a large number of domain-joined corporate devices into Microsoft Intune. The enrollment process starts in the background once you sign in to the device with your Microsoft Entra account. +The group policy created on your local AD triggers enrollment into Intune without any user interaction. This cause-and-effect mechanism means you can automatically mass-enroll a large number of domain-joined corporate devices into Microsoft Intune. The enrollment process starts in the background once you sign in to the device with your Microsoft Entra account. **Requirements**: diff --git a/windows/client-management/enterprise-app-management.md b/windows/client-management/enterprise-app-management.md index b6e975a1c8..323376d673 100644 --- a/windows/client-management/enterprise-app-management.md +++ b/windows/client-management/enterprise-app-management.md @@ -2,7 +2,7 @@ title: Enterprise app management description: This article covers one of the key mobile device management (MDM) features for managing the lifecycle of apps across Windows devices. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Enterprise app management @@ -116,7 +116,7 @@ There are two basic types of apps you can deploy: - Store apps. - Enterprise signed apps. -To deploy enterprise signed apps, you must enable a setting on the device to allow trusted apps. The apps can be signed by a Microsoft approved root (such as Symantec), an enterprise deployed root, or apps that are self-signed. This section covers the steps to configure the device for non-store app deployment. +To deploy enterprise signed apps, you must enable a setting on the device to allow trusted apps. The apps can be signed by a Microsoft approved root (such as Symantec), an enterprise deployed root, or apps that are self-signed. This section covers the steps to configure the device for nonstore app deployment. ### Unlock the device for non-Store apps @@ -154,7 +154,7 @@ Here's an example: ### Unlock the device for developer mode -Development of apps on Windows devices no longer requires a special license. You can enable debugging and deployment of non-packaged apps using [ApplicationManagement/AllowDeveloperUnlock](mdm/policy-csp-applicationmanagement.md) policy in Policy CSP. +Development of apps on Windows devices no longer requires a special license. You can enable debugging and deployment of nonpackaged apps using [ApplicationManagement/AllowDeveloperUnlock](mdm/policy-csp-applicationmanagement.md) policy in Policy CSP. AllowDeveloperUnlock policy enables the development mode on the device. The AllowDeveloperUnlock isn't configured by default, which means only Microsoft Store apps can be installed. If the management server explicitly sets the value to off, the setting is disabled in the settings panel on the device. @@ -238,8 +238,8 @@ If you purchased an app from the Store for Business, the app license must be dep In the SyncML, you need to specify the following information in the `Exec` command: -- License ID - This ID is specified in the LocURI. The License ID for the offline license is referred to as the "Content ID" in the license file. You can retrieve this information from the Base64 encoded license download from the Store for Business. -- License Content - This content is specified in the data section. The License Content is the Base64 encoded blob of the license. +- License ID - This ID is specified in the LocURI. The License ID for the offline license is referred to as the "Content ID" in the license file. You can retrieve this information from the Base 64 encoded license download from the Store for Business. +- License Content - This content is specified in the data section. The License Content is the Base 64 encoded blob of the license. Here's an example of an offline license installation. @@ -469,7 +469,7 @@ When an app installation is completed, a Windows notification is sent. You can a - NOT\_INSTALLED (0) - The node was added, but the execution wasn't completed. - INSTALLING (1) - Execution has started, but the deployment hasn't completed. If the deployment completes regardless of success, then this value is updated. - FAILED (2) - Installation failed. The details of the error can be found under LastError and LastErrorDescription. - - INSTALLED (3) - Once an install is successful this node is cleaned up. If the clean up action hasn't completed, then this state may briefly appear. + - INSTALLED (3) - Once an install is successful this node is cleaned up. If the clean-up action hasn't completed, then this state may briefly appear. - LastError - The last error reported by the app deployment server. - LastErrorDescription - Describes the last error reported by the app deployment server. - Status - An integer that indicates the progress of the app installation. In cases of an HTTPS location, this status shows the estimated download progress. Status isn't available for provisioning and only used for user-based installations. For provisioning, the value is always 0. diff --git a/windows/client-management/esim-enterprise-management.md b/windows/client-management/esim-enterprise-management.md index 970b5917af..2a28981591 100644 --- a/windows/client-management/esim-enterprise-management.md +++ b/windows/client-management/esim-enterprise-management.md @@ -3,7 +3,7 @@ title: eSIM Enterprise Management description: Learn how Mobile Device Management (MDM) Providers support the eSIM Profile Management Solution on Windows. ms.localizationpriority: medium ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # How Mobile Device Management Providers support eSIM Management on Windows @@ -28,7 +28,7 @@ If you're a Mobile Device Management (MDM) Provider and want to support eSIM Man - Assess solution type that you would like to provide your customers - Batch/offline solution - IT Admin can manually import a flat file containing list of eSIM activation codes, and provision eSIM on LTE enabled devices. -- Operator doesn't have visibility over status of the eSIM profiles and device eSIM has been downloaded and installed to +- Operator doesn't have visibility over status of the eSIM profiles - Real-time solution - MDM automatically syncs with the Operator backend system for subscription pool and eSIM management, via SIM vendor solution component. IT Admin can view subscription pool and provision eSIM in real time. - Operator is notified of the status of each eSIM profile and has visibility on which devices are being used diff --git a/windows/client-management/federated-authentication-device-enrollment.md b/windows/client-management/federated-authentication-device-enrollment.md index ecb42e8160..32b2fef7ef 100644 --- a/windows/client-management/federated-authentication-device-enrollment.md +++ b/windows/client-management/federated-authentication-device-enrollment.md @@ -2,7 +2,7 @@ title: Federated authentication device enrollment description: This section provides an example of the mobile device enrollment protocol using federated authentication policy. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Federated authentication device enrollment @@ -122,7 +122,7 @@ The discovery response is in the XML format and includes the following fields: > [!NOTE] > The HTTP server response must not set Transfer-Encoding to Chunked; it must be sent as one message. -When authentication policy is set to be Federated, Web Authentication Broker (WAB) is used by the enrollment client to get a security token. The WAB start page URL is provided by the discovery service in the response message. The enrollment client calls the WAB API within the response message to start the WAB process. WAB pages are server hosted web pages. The server should build those pages to fit the device screen nicely and be as consistent as possible to other builds in the MDM enrollment UI. The opaque security token that is returned from WAB as an endpage is used by the enrollment client as the device security secret during the client certificate enrollment request call. +When authentication policy is set to be Federated, Web Authentication Broker (WAB) is used by the enrollment client to get a security token. The WAB start page URL is provided by the discovery service in the response message. The enrollment client calls the WAB API within the response message to start the WAB process. WAB pages are server hosted web pages. The server should build those pages to fit the device screen nicely and be as consistent as possible to other builds in the MDM enrollment UI. The opaque security token that is returned from WAB as an end page is used by the enrollment client as the device security secret during the client certificate enrollment request call. > [!NOTE] > Instead of relying on the user agent string that is passed during authentication to get information, such as the OS version, use the following guidance: @@ -183,7 +183,7 @@ Content-Length: 556 ``` -The server has to send a POST to a redirect URL of the form `ms-app://string` (the URL scheme is ms-app) as indicated in the POST method action. The security token value is the base64-encoded string `http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\#base64binary` contained in the `` EncodingType attribute. Windows does the binary encode when it sends it back to enrollment server, in the form its just HTML encoded. This string is opaque to the enrollment client; the client doesn't interpret the string. +The server has to send a POST to a redirect URL of the form `ms-app://string` (the URL scheme is ms-app) as indicated in the POST method action. The security token value is the base64-encoded string `http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\#base64binary` contained in the `` EncodingType attribute. Windows does the binary encode when it sends it back to enrollment server, in the form it's just HTML encoded. This string is opaque to the enrollment client; the client doesn't interpret the string. The following example shows a response received from the discovery web service that requires authentication via WAB. @@ -367,7 +367,7 @@ The following snippet shows the policy web service response. ## Enrollment web service -This web service implements the MS-WSTEP protocol. It processes the RequestSecurityToken (RST) message from the client, authenticates the client, requests the certificate from the CA, and returns it in the RequestSecurityTokenResponse (RSTR) to the client. Besides the issued certificate, the response also contains configurations needed to provision the DM client. +This web service implements the MS-WSTEP protocol. It processes the RequestSecurityToken (RST) message from the client, authenticates the client, requests the certificate from the CA, and returns it in the RequestSecurityTokenResponse (RSTR) to the client. Besides the issued certificate, the response also contains configurations needed to provision the DMClient. The RequestSecurityToken (RST) must have the user credential and a certificate request. The user credential in an RST SOAP envelope is the same as in GetPolicies, and can vary depending on whether the authentication policy is OnPremise or Federated. The BinarySecurityToken in an RST SOAP body contains a Base64-encoded PKCS\#10 certificate request, which is generated by the client based on the enrollment policy. The client could have requested an enrollment policy by using MS-XCEP before requesting a certificate using MS-WSTEP. If the PKCS\#10 certificate request is accepted by the certification authority (CA) (the key length, hashing algorithm, and so on, match the certificate template), the client can enroll successfully. @@ -471,15 +471,15 @@ Similar to the TokenType in the RST, the RSTR uses a custom ValueType in the Bin The provisioning XML contains: - The requested certificates (required) -- The DM client configuration (required) +- The DMClient configuration (required) -The client installs the client certificate, the enterprise root certificate, and intermediate CA certificate if there's one. The DM configuration includes the name and address of the DM server, which client certificate to use, and schedules when the DM client calls back to the server. +The client installs the client certificate, the enterprise root certificate, and intermediate CA certificate if there's one. The DM configuration includes the name and address of the DM server, which client certificate to use, and schedules when the DMClient calls back to the server. Enrollment provisioning XML should contain a maximum of one root certificate and one intermediate CA certificate that is needed to chain up the MDM client certificate. More root and intermediate CA certificates could be provisioned during an OMA DM session. When root and intermediate CA certificates are being provisioned, the supported CSP node path is: CertificateStore/Root/System for root certificate provisioning, CertificateStore/My/User for intermediate CA certificate provisioning. -Here's a sample RSTR message and a sample of OMA client provisioning XML within RSTR. For more information about the configuration service providers (CSPs) used in provisioning XML, see the Enterprise settings, policies and app management section. +Here's a sample RSTR message and a sample of OMA client provisioning XML within RSTR. For more information about the configuration service providers (CSPs) used in provisioning XML, see the Enterprise settings, policies, and app management section. The following example shows the enrollment web service response. diff --git a/windows/client-management/implement-server-side-mobile-application-management.md b/windows/client-management/implement-server-side-mobile-application-management.md index e9c0ab5ecc..6d2acde09e 100644 --- a/windows/client-management/implement-server-side-mobile-application-management.md +++ b/windows/client-management/implement-server-side-mobile-application-management.md @@ -2,7 +2,7 @@ title: Support for Windows Information Protection (WIP) on Windows description: Learn about implementing the Windows version of Windows Information Protection (WIP), which is a lightweight solution for managing company data access and security on personal devices. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Support for Windows Information Protection (WIP) on Windows @@ -11,8 +11,6 @@ Windows Information Protection (WIP) is a lightweight solution for managing comp [!INCLUDE [Deprecate Windows Information Protection](../security/information-protection/windows-information-protection/includes/wip-deprecation.md)] - - ## Integration with Microsoft Entra ID WIP is integrated with Microsoft Entra identity service. The WIP service supports Microsoft Entra integrated authentication for the user and the device during enrollment and the downloading of WIP policies. WIP integration with Microsoft Entra ID is similar to mobile device management (MDM) integration. See [Microsoft Entra integration with MDM](azure-active-directory-integration-with-mdm.md). @@ -78,7 +76,7 @@ Since the [Poll](mdm/dmclient-csp.md#deviceproviderprovideridpoll) node isn't pr ## Supported CSPs -WIP supports the following configuration service providers (CSPs). All other CSPs are blocked. Note the list may change later based on customer feedback: +WIP supports the following configuration service providers (CSPs). All other CSPs are blocked. Note the list can change later based on customer feedback: - [AppLocker CSP](mdm/applocker-csp.md) for configuration of Windows Information Protection enterprise allowed apps. - [ClientCertificateInstall CSP](mdm/clientcertificateinstall-csp.md) for installing VPN and Wi-Fi certs. diff --git a/windows/client-management/index.yml b/windows/client-management/index.yml index 860eb04bfe..184e34da03 100644 --- a/windows/client-management/index.yml +++ b/windows/client-management/index.yml @@ -13,7 +13,7 @@ metadata: author: vinaypamnani-msft ms.author: vinpa manager: aaroncz - ms.date: 01/18/2024 + ms.date: 07/08/2024 localization_priority: medium # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new diff --git a/windows/client-management/manage-windows-10-in-your-organization-modern-management.md b/windows/client-management/manage-windows-10-in-your-organization-modern-management.md index cc6af7d11f..a43167be49 100644 --- a/windows/client-management/manage-windows-10-in-your-organization-modern-management.md +++ b/windows/client-management/manage-windows-10-in-your-organization-modern-management.md @@ -2,13 +2,13 @@ title: Manage Windows devices in your organization - transitioning to modern management description: This article offers strategies for deploying and managing Windows devices, including deploying Windows in a mixed environment. ms.localizationpriority: medium -ms.date: 08/10/2023 +ms.date: 07/08/2024 ms.topic: conceptual --- # Manage Windows devices in your organization - transitioning to modern management -Use of personal devices for work, and employees working outside the office, may be changing how your organization manages devices. Certain parts of your organization might require deep, granular control over devices, while other parts might seek lighter, scenario-based management that empowers the modern workforce. Windows offers the flexibility to respond to these changing requirements, and can easily be deployed in a mixed environment. You can shift the percentage of Windows devices gradually, following the normal upgrade schedules used in your organization. +Use of personal devices for work, and users working outside the office, may be changing how your organization manages devices. Certain parts of your organization might require deep, granular control over devices, while other parts might seek lighter, scenario-based management that empowers the modern workforce. Windows offers the flexibility to respond to these changing requirements, and can easily be deployed in a mixed environment. You can shift the percentage of Windows devices gradually, following the normal upgrade schedules used in your organization. Your organization can support various operating systems across a wide range of device types, and manage them through a common set of tools such as Microsoft Configuration Manager, Microsoft Intune, or other third-party products. This "managed diversity" enables you to empower your users to benefit from the productivity enhancements available on their new Windows devices (including rich touch and ink support), while still maintaining your standards for security and manageability. It can help you and your organization benefit from Windows faster. @@ -45,13 +45,13 @@ You can use Windows and services like [Microsoft Entra ID](/azure/active-directo You can envision user and device management as falling into these two categories: -- **Corporate (CYOD) or personal (BYOD) devices used by mobile users for SaaS apps such as Office 365.** With Windows, your employees can self-provision their devices: +- **Corporate (CYOD) or personal (BYOD) devices used by mobile users for SaaS apps such as Office 365.** With Windows, your users can self-provision their devices: - For corporate devices, they can set up corporate access with [Microsoft Entra join](/azure/active-directory/devices/overview). When you offer them Microsoft Entra join with automatic Intune MDM enrollment, they can bring devices into a corporate-managed state in [*one step*](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/windows-10-azure-ad-and-microsoft-intune-automatic-mdm/ba-p/244067), all from the cloud. - Microsoft Entra join is also a great solution for temporary staff, partners, or other part-time employees. These accounts can be kept separate from the on-premises AD domain but still access needed corporate resources. + Microsoft Entra join is also a great solution for temporary staff, partners, or other part-time users. These accounts can be kept separate from the on-premises AD domain but still access needed corporate resources. - - Likewise, for personal devices, employees can use a new, simplified [BYOD experience](/azure/active-directory/devices/overview) to add their work account to Windows, then access work resources on the device. + - Likewise, for personal devices, users can use a new, simplified [BYOD experience](/azure/active-directory/devices/overview) to add their work account to Windows, then access work resources on the device. - **Domain joined PCs and tablets used for traditional applications and access to important resources.** These applications and resources may be traditional ones that require authentication or accessing highly sensitive or classified resources on-premises. @@ -71,7 +71,7 @@ As you review the roles in your organization, you can use the following generali ## Settings and configuration -Your configuration requirements are defined by multiple factors, including the level of management needed, the devices and data managed, and your industry requirements. Meanwhile, employees are frequently concerned about IT applying strict policies to their personal devices, but they still want access to corporate email and documents. You can create a consistent set of configurations across PCs, tablets, and phones through the common MDM layer. +Your configuration requirements are defined by multiple factors, including the level of management needed, the devices and data managed, and your industry requirements. Meanwhile, users are frequently concerned about IT applying strict policies to their personal devices, but they still want access to corporate email and documents. You can create a consistent set of configurations across PCs, tablets, and phones through the common MDM layer. - **MDM**: MDM gives you a way to configure settings that achieve your administrative intent without exposing every possible setting. (In contrast, group policy exposes fine-grained settings that you control individually.) One benefit of MDM is that it enables you to apply broader privacy, security, and application management settings through lighter and more efficient tools. MDM also allows you to target Internet-connected devices to manage policies without using group policy that requires on-premises domain-joined devices. This provision makes MDM the best choice for devices that are constantly on the go. diff --git a/windows/client-management/mdm-collect-logs.md b/windows/client-management/mdm-collect-logs.md index bc39a4ceb7..0a3b883dcd 100644 --- a/windows/client-management/mdm-collect-logs.md +++ b/windows/client-management/mdm-collect-logs.md @@ -2,7 +2,7 @@ title: Collect MDM logs description: Learn how to collect MDM logs. Examining these logs can help diagnose enrollment or device management issues in Windows devices managed by an MDM server. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 ms.collection: - highpri - tier2 @@ -40,7 +40,7 @@ mdmdiagnosticstool.exe -area "DeviceEnrollment;DeviceProvisioning;Autopilot" -zi ### Understanding zip structure -The zip file has logs according to the areas that were used in the command. This explanation is based on DeviceEnrollment, DeviceProvisioning and Autopilot areas. It applies to the zip files collected via command line or Feedback Hub +The zip file has logs according to the areas that were used in the command. This explanation is based on DeviceEnrollment, DeviceProvisioning, and Autopilot areas. It applies to the zip files collected via command line or Feedback Hub - DiagnosticLogCSP_Collector_Autopilot_*: Autopilot etls - DiagnosticLogCSP_Collector_DeviceProvisioning_*: Provisioning etls (Microsoft-Windows-Provisioning-Diagnostics-Provider) diff --git a/windows/client-management/mdm-diagnose-enrollment.md b/windows/client-management/mdm-diagnose-enrollment.md index 1d2c92bd1f..5610d29c34 100644 --- a/windows/client-management/mdm-diagnose-enrollment.md +++ b/windows/client-management/mdm-diagnose-enrollment.md @@ -2,7 +2,7 @@ title: Diagnose MDM enrollment failures description: Learn how to diagnose enrollment failures for Windows devices ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Diagnose MDM enrollment diff --git a/windows/client-management/mdm-enrollment-of-windows-devices.md b/windows/client-management/mdm-enrollment-of-windows-devices.md index c3140fd86d..f57170b82c 100644 --- a/windows/client-management/mdm-enrollment-of-windows-devices.md +++ b/windows/client-management/mdm-enrollment-of-windows-devices.md @@ -5,12 +5,12 @@ ms.topic: conceptual ms.collection: - highpri - tier2 -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # MDM enrollment of Windows devices -In today's cloud-first world, enterprise IT departments increasingly want to let employees use their own devices, or even choose and purchase corporate-owned devices. Connecting your devices to work makes it easy for you to access your organization's resources, such as apps, the corporate network, and email. +In today's cloud-first world, enterprise IT departments increasingly want to let users use their own devices, or even choose and purchase corporate-owned devices. Connecting your devices to work makes it easy for you to access your organization's resources, such as apps, the corporate network, and email. > [!NOTE] > When you connect your device using mobile device management (MDM) enrollment, your organization may enforce certain policies on your device. @@ -24,8 +24,6 @@ You can connect corporate-owned devices to work by either joining the device to > [!NOTE] > For devices joined to on-premises Active Directory, see [Group policy enrollment](enroll-a-windows-10-device-automatically-using-group-policy.md). - - ### Connect your device to a Microsoft Entra domain (join Microsoft Entra ID) All Windows devices can be connected to a Microsoft Entra domain. These devices can be connected during OOBE. Additionally, desktop devices can be connected to a Microsoft Entra domain using the Settings app. diff --git a/windows/client-management/mdm-known-issues.md b/windows/client-management/mdm-known-issues.md index 10bd7ebaa1..43e571ecb6 100644 --- a/windows/client-management/mdm-known-issues.md +++ b/windows/client-management/mdm-known-issues.md @@ -2,7 +2,7 @@ title: Known issues in MDM description: Learn about known issues for Windows devices in MDM ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Known issues @@ -11,11 +11,11 @@ ms.date: 08/10/2023 A Get command inside an atomic command isn't supported. -## Apps installed using WMI classes are not removed +## Apps installed using WMI classes aren't removed Applications installed using WMI classes aren't removed when the MDM account is removed from device. -## Passing CDATA in SyncML does not work +## Passing CDATA in SyncML doesn't work Passing CDATA in data in SyncML to ConfigManager and CSPs doesn't work. @@ -222,8 +222,6 @@ Alternatively you can use the following procedure to create an EAP Configuration After the MDM client automatically renews the WNS channel URI, the MDM client will immediately check in with the MDM server. Henceforth, for every MDM client check-in, the MDM server should send a GET request for "ProviderID/Push/ChannelURI" to retrieve the latest channel URI and compare it with the existing channel URI; then update the channel URI if necessary. - - ## User provisioning failure in Microsoft Entra joined devices For Microsoft Entra joined devices, provisioning `.\User` resources fails when the user isn't logged in as a Microsoft Entra user. If you attempt to join Microsoft Entra ID from **Settings** > **System** > **About** user interface, ensure to sign out and sign in with Microsoft Entra credentials to get your organizational configuration from your MDM server. This behavior is by design. @@ -232,6 +230,6 @@ For Microsoft Entra joined devices, provisioning `.\User` resources fails when t If you want to use the certificate used for VPN authentication also for Kerberos authentication (required if you need access to on-premises resources using NTLM or Kerberos), the user's certificate must meet the requirements for smart card certificate, the Subject field should contain the DNS domain name in the DN or the SAN should contain a fully qualified UPN so that the DC can be located from the DNS registrations. If certificates that don't meet these requirements are used for VPN, users may fail to access resources that require Kerberos authentication. -## Device management agent for the push-button reset is not working +## Device management agent for the push-button reset isn't working The DM agent for [push-button reset](/windows-hardware/manufacture/desktop/push-button-reset-overview) keeps the registry settings for OMA DM sessions, but deletes the task schedules. The client enrollment is retained, but it never syncs with the MDM service. diff --git a/windows/client-management/mdm-overview.md b/windows/client-management/mdm-overview.md index 7b31fe006a..7be2352c9b 100644 --- a/windows/client-management/mdm-overview.md +++ b/windows/client-management/mdm-overview.md @@ -1,7 +1,7 @@ --- title: Mobile Device Management overview description: Windows provides an enterprise-level solution to mobile management, to help IT pros comply with security policies while avoiding compromise of user's privacy. -ms.date: 08/10/2023 +ms.date: 07/08/2024 ms.topic: conceptual ms.localizationpriority: medium ms.collection: @@ -56,8 +56,6 @@ For information about the MDM policies defined in the Intune security baseline, No. Only one MDM is allowed. - - ### How do I set the maximum number of Microsoft Entra joined devices per user? 1. Sign in to the portal as tenant admin: . diff --git a/windows/client-management/mobile-device-enrollment.md b/windows/client-management/mobile-device-enrollment.md index 5d0537216a..214a73f052 100644 --- a/windows/client-management/mobile-device-enrollment.md +++ b/windows/client-management/mobile-device-enrollment.md @@ -2,7 +2,7 @@ title: Mobile device enrollment description: Learn how mobile device enrollment verifies that only authenticated and authorized devices are managed by the enterprise. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 ms.collection: - highpri - tier2 @@ -43,13 +43,13 @@ The certificate enrollment is an implementation of the MS-WSTEP protocol. ### Management configuration -The server sends provisioning XML that contains a server certificate (for TLS/SSL server authentication), a client certificate issued by enterprise CA, DM client bootstrap information (for the client to communicate with the management server), an enterprise application token (for the user to install enterprise applications), and the link to download the Company Hub application. +The server sends provisioning XML that contains a server certificate (for TLS/SSL server authentication), a client certificate issued by enterprise CA, DMClient bootstrap information (for the client to communicate with the management server), an enterprise application token (for the user to install enterprise applications), and the link to download the Company Hub application. The following articles describe the end-to-end enrollment process using various authentication methods: - [Federated authentication device enrollment](federated-authentication-device-enrollment.md) - [Certificate authentication device enrollment](certificate-authentication-device-enrollment.md) -- [On-premise authentication device enrollment](on-premise-authentication-device-enrollment.md) +- [On-premises authentication device enrollment](on-premise-authentication-device-enrollment.md) > [!NOTE] > As a best practice, don't use hardcoded server-side checks on values such as: @@ -168,4 +168,4 @@ TraceID is a freeform text node that is logged. It should identify the server si - [MDM enrollment of Windows-based devices](mdm-enrollment-of-windows-devices.md) - [Federated authentication device enrollment](federated-authentication-device-enrollment.md) - [Certificate authentication device enrollment](certificate-authentication-device-enrollment.md) -- [On-premise authentication device enrollment](on-premise-authentication-device-enrollment.md) +- [On-premises authentication device enrollment](on-premise-authentication-device-enrollment.md) diff --git a/windows/client-management/new-in-windows-mdm-enrollment-management.md b/windows/client-management/new-in-windows-mdm-enrollment-management.md index dcfbdeb34b..053a0dd779 100644 --- a/windows/client-management/new-in-windows-mdm-enrollment-management.md +++ b/windows/client-management/new-in-windows-mdm-enrollment-management.md @@ -3,7 +3,7 @@ title: What's new in MDM enrollment and management description: Discover what's new and breaking changes in mobile device management (MDM) enrollment and management experience across all Windows devices. ms.topic: conceptual ms.localizationpriority: medium -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # What's new in mobile device enrollment and management diff --git a/windows/client-management/oma-dm-protocol-support.md b/windows/client-management/oma-dm-protocol-support.md index 3d1ff0619c..5caf42c5f0 100644 --- a/windows/client-management/oma-dm-protocol-support.md +++ b/windows/client-management/oma-dm-protocol-support.md @@ -2,7 +2,7 @@ title: OMA DM protocol support description: See how the OMA DM client communicates with the server over HTTPS and uses DM Sync (OMA DM v1.2) as the message payload. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # OMA DM protocol support diff --git a/windows/client-management/on-premise-authentication-device-enrollment.md b/windows/client-management/on-premise-authentication-device-enrollment.md index 0d3a3b1a1d..e6c445b43c 100644 --- a/windows/client-management/on-premise-authentication-device-enrollment.md +++ b/windows/client-management/on-premise-authentication-device-enrollment.md @@ -2,7 +2,7 @@ title: On-premises authentication device enrollment description: This section provides an example of the mobile device enrollment protocol using on-premises authentication policy. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # On-premises authentication device enrollment diff --git a/windows/client-management/push-notification-windows-mdm.md b/windows/client-management/push-notification-windows-mdm.md index 0ac4310aab..e0842698e8 100644 --- a/windows/client-management/push-notification-windows-mdm.md +++ b/windows/client-management/push-notification-windows-mdm.md @@ -2,7 +2,7 @@ title: Push notification support for device management description: The DMClient CSP supports the ability to configure push-initiated device management sessions. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Push notification support for device management diff --git a/windows/client-management/server-requirements-windows-mdm.md b/windows/client-management/server-requirements-windows-mdm.md index 6b3a303e0a..92e09679f4 100644 --- a/windows/client-management/server-requirements-windows-mdm.md +++ b/windows/client-management/server-requirements-windows-mdm.md @@ -2,7 +2,7 @@ title: Server requirements for using OMA DM to manage Windows devices description: Learn about the general server requirements for using OMA DM to manage Windows devices, including the supported versions of OMA DM. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Server requirements for using OMA DM to manage Windows devices @@ -11,11 +11,11 @@ The following list shows the general server requirements for using OMA DM to man - The OMA DM server must support the OMA DM v1.1.2 or later protocol. -- Secure Sockets Layer (TLS/SSL) must be on the OMA DM server, and it must provide server certificate-based authentication, data integrity check, and data encryption. If the certificate isn't issued by a commercial Certification Authority whose root certificate is preinstalled in the device, you must provision the enterprise root certificate in the device's Root store. +- Secure Sockets Layer (TLS/SSL) must be on the OMA DM server, and it must provide server certificate-based authentication, data integrity check, and data encryption. If the certificate isn't issued by a public Certification Authority whose root certificate is preinstalled in the device, you must provision the enterprise root certificate in the device's Root store. - To authenticate the client at the application level, you must use either Basic or MD5 client authentication. -- The server MD5 nonce must be renewed in each DM session. The DM client sends the new server nonce for the next session to the server over the Status element in every DM session. +- The server MD5 nonce must be renewed in each DM session. The DMClient sends the new server nonce for the next session to the server over the Status element in every DM session. - The MD5 binary nonce is sent over XML B64 encoded format, but the octal form of the binary data should be used when the service calculates the hash. diff --git a/windows/client-management/structure-of-oma-dm-provisioning-files.md b/windows/client-management/structure-of-oma-dm-provisioning-files.md index 170d213948..a1fcf0777c 100644 --- a/windows/client-management/structure-of-oma-dm-provisioning-files.md +++ b/windows/client-management/structure-of-oma-dm-provisioning-files.md @@ -2,7 +2,7 @@ title: Structure of OMA DM provisioning files description: Learn about the structure of OMA DM provisioning files, for example how each message is composed of a header, specified by the SyncHdr element, and a message body. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Structure of OMA DM provisioning files diff --git a/windows/client-management/understanding-admx-backed-policies.md b/windows/client-management/understanding-admx-backed-policies.md index 7b80861923..f327359fe3 100644 --- a/windows/client-management/understanding-admx-backed-policies.md +++ b/windows/client-management/understanding-admx-backed-policies.md @@ -2,7 +2,7 @@ title: Understanding ADMX policies description: You can use ADMX policies for Windows mobile device management (MDM) across Windows devices. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Understanding ADMX policies diff --git a/windows/client-management/using-powershell-scripting-with-the-wmi-bridge-provider.md b/windows/client-management/using-powershell-scripting-with-the-wmi-bridge-provider.md index 5fc0485080..ca347147ab 100644 --- a/windows/client-management/using-powershell-scripting-with-the-wmi-bridge-provider.md +++ b/windows/client-management/using-powershell-scripting-with-the-wmi-bridge-provider.md @@ -2,7 +2,7 @@ title: Using PowerShell scripting with the WMI Bridge Provider description: This article covers using PowerShell Cmdlet scripts to configure per-user and per-device policy settings, and how to invoke methods through the WMI Bridge Provider. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Using PowerShell scripting with the WMI Bridge Provider diff --git a/windows/client-management/win32-and-centennial-app-policy-configuration.md b/windows/client-management/win32-and-centennial-app-policy-configuration.md index ff1887a640..363072d68c 100644 --- a/windows/client-management/win32-and-centennial-app-policy-configuration.md +++ b/windows/client-management/win32-and-centennial-app-policy-configuration.md @@ -2,7 +2,7 @@ title: Win32 and Desktop Bridge app ADMX policy Ingestion description: Ingest ADMX files and set ADMX policies for Win32 and Desktop Bridge apps. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Win32 and Desktop Bridge app ADMX policy Ingestion diff --git a/windows/client-management/windows-mdm-enterprise-settings.md b/windows/client-management/windows-mdm-enterprise-settings.md index 03c28bfba7..a9b47a78e9 100644 --- a/windows/client-management/windows-mdm-enterprise-settings.md +++ b/windows/client-management/windows-mdm-enterprise-settings.md @@ -1,17 +1,17 @@ --- title: Enterprise settings and policy management -description: The DM client manages the interaction between a device and a server. Learn more about the client-server management workflow. +description: The DMClient manages the interaction between a device and a server. Learn more about the client-server management workflow. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # Enterprise settings and policy management -The actual management interaction between the device and server is done via the DM client. The DM client communicates with the enterprise management server via DM v1.2 SyncML syntax. The full description of the OMA DM protocol v1.2 can be found at the [OMA website](https://technical.openmobilealliance.org/). +The actual management interaction between the device and server is done via the DMClient. The DMClient communicates with the enterprise management server via DM v1.2 SyncML syntax. The full description of the OMA DM protocol v1.2 can be found at the [OMA website](https://technical.openmobilealliance.org/). -Enterprise MDM settings are exposed via various configuration service providers to the DM client. For the list of available configuration service providers, see [Configuration service provider reference](mdm/index.yml). +Enterprise MDM settings are exposed via various configuration service providers to the DMClient. For the list of available configuration service providers, see [Configuration service provider reference](mdm/index.yml). -Windows currently supports one MDM server. The DM client that is configured via the enrollment process is granted access to enterprise related settings. During the enrollment process, the task scheduler is configured to invoke the DM client to periodically poll the MDM server. +Windows currently supports one MDM server. The DMClient that is configured via the enrollment process is granted access to enterprise related settings. During the enrollment process, the task scheduler is configured to invoke the DMClient to periodically poll the MDM server. The following diagram shows the work flow between server and client. @@ -21,9 +21,9 @@ The following diagram shows the work flow between server and client. This protocol defines an HTTPS-based client/server communication with DM SyncML XML as the package payload that carries management requests and execution results. The configuration request is addressed via a managed object (MO). The settings supported by the managed object are represented in a conceptual tree structure. This logical view of configurable device settings simplifies the way the server addresses the device settings by isolating the implementation details from the conceptual tree structure. -To facilitate security-enhanced communication with the remote server for enterprise management, Windows supports certificate-based mutual authentication over an encrypted TLS/SSL HTTP channel between the DM client and management service. The server and client certificates are provisioned during the enrollment process. +To facilitate security-enhanced communication with the remote server for enterprise management, Windows supports certificate-based mutual authentication over an encrypted TLS/SSL HTTP channel between the DMClient and management service. The server and client certificates are provisioned during the enrollment process. -The DM client configuration, company policy enforcement, business application management, and device inventory are all exposed or expressed via configuration service providers (CSPs). CSPs are the Windows term for managed objects. The DM client communicates with the server and sends configuration request to CSPs. The server only needs to know the logical local URIs defined by those CSP nodes in order to use the DM protocol XML to manage the device. +The DMClient configuration, company policy enforcement, business application management, and device inventory are all exposed or expressed via configuration service providers (CSPs). CSPs are the Windows term for managed objects. The DMClient communicates with the server and sends configuration request to CSPs. The server only needs to know the logical local URIs defined by those CSP nodes in order to use the DM protocol XML to manage the device. Here's a summary of the DM tasks supported for enterprise management: diff --git a/windows/client-management/wmi-providers-supported-in-windows.md b/windows/client-management/wmi-providers-supported-in-windows.md index 9afd80ebd2..610f0e36b9 100644 --- a/windows/client-management/wmi-providers-supported-in-windows.md +++ b/windows/client-management/wmi-providers-supported-in-windows.md @@ -2,7 +2,7 @@ title: WMI providers supported in Windows description: Manage settings and applications on devices that subscribe to the Mobile Device Management (MDM) service with Windows Management Infrastructure (WMI). ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/08/2024 --- # WMI providers supported in Windows From 547d66de3e69f73eca03cfedfa35f5d0386d0cf2 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Mon, 8 Jul 2024 11:19:47 -0600 Subject: [PATCH 207/354] Update --- .../bulk-enrollment-using-windows-provisioning-tool.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md b/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md index 2b0ca2a334..c248120cff 100644 --- a/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md +++ b/windows/client-management/bulk-enrollment-using-windows-provisioning-tool.md @@ -1,13 +1,13 @@ --- title: Bulk enrollment -description: Bulk enrollment is an efficient way to set up a large number of devices to manage by an MDM server without the need to reimage the devices. +description: Bulk enrollment is an efficient way to set up an MDM server to manage a large number of devices without the need to reimage the devices. ms.topic: conceptual ms.date: 07/08/2024 --- # Bulk enrollment using Windows Configuration Designer -Bulk enrollment is an efficient way to set up a large number of devices to manage by an MDM server without the need to reimage the devices. You can use the [Provisioning CSP](mdm/provisioning-csp.md) for bulk enrollment, except for the Microsoft Entra join enrollment scenario. +Bulk enrollment is an efficient way to set up an MDM server to manage a large number of devices without the need to reimage the devices. You can use the [Provisioning CSP](mdm/provisioning-csp.md) for bulk enrollment, except for the Microsoft Entra join enrollment scenario. ## Typical use cases From 419fe51e16743233f54044b6ff3a7a8f1ab47296 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Mon, 8 Jul 2024 10:48:26 -0700 Subject: [PATCH 208/354] Freshness --- .../deploy/windows-autopatch-groups-overview.md | 2 +- .../windows-autopatch-customize-windows-update-settings.md | 2 +- .../operate/windows-autopatch-device-alerts.md | 2 +- .../operate/windows-autopatch-exclude-device.md | 2 +- .../operate/windows-autopatch-groups-update-management.md | 2 +- .../windows-autopatch-manage-driver-and-firmware-updates.md | 2 +- ...dows-autopatch-manage-windows-feature-update-releases.md | 2 +- .../windows-autopatch-policy-health-and-remediation.md | 2 +- .../operate/windows-autopatch-unenroll-tenant.md | 2 +- .../windows-autopatch-windows-feature-update-overview.md | 2 +- ...indows-autopatch-windows-feature-update-status-report.md | 2 +- ...dows-autopatch-windows-feature-update-trending-report.md | 2 +- ...ndows-autopatch-windows-quality-update-communications.md | 6 +++--- ...windows-autopatch-windows-quality-update-end-user-exp.md | 6 +++--- .../windows-autopatch-windows-quality-update-overview.md | 2 +- .../windows-autopatch-windows-quality-update-signals.md | 6 +++--- ...indows-autopatch-windows-quality-update-status-report.md | 4 ++-- ...ws-autopatch-windows-quality-update-summary-dashboard.md | 2 +- ...dows-autopatch-windows-quality-update-trending-report.md | 4 ++-- 19 files changed, 27 insertions(+), 27 deletions(-) diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md index 2e2ab90f1a..030de871bb 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md @@ -1,7 +1,7 @@ --- title: Windows Autopatch groups overview description: This article explains what Autopatch groups are -ms.date: 07/20/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md index 8afa348a89..8425bd6056 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md @@ -1,7 +1,7 @@ --- title: Customize Windows Update settings Autopatch groups experience description: How to customize Windows Updates with Autopatch groups -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md index b8373cff62..4556c227ea 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md @@ -1,7 +1,7 @@ --- title: Device alerts description: Provide notifications and information about the necessary steps to keep your devices up to date. -ms.date: 08/01/2023 +ms.date: 07/08/2023 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md index 89a23620fb..3bd258dff3 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md @@ -1,7 +1,7 @@ --- title: Exclude a device description: This article explains how to exclude a device from the Windows Autopatch service -ms.date: 08/08/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md index b6e42c0987..ee20c918b3 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md @@ -1,7 +1,7 @@ --- title: Software update management for Autopatch groups description: This article provides an overview of how updates are handled with Autopatch groups -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: overview diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md index 9c38e97260..d3a0379d03 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md @@ -1,7 +1,7 @@ --- title: Manage driver and firmware updates description: This article explains how you can manage driver and firmware updates with Windows Autopatch -ms.date: 08/22/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md index 159e11b310..0ed4a2cdb6 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md @@ -1,7 +1,7 @@ --- title: Manage Windows feature update releases description: This article explains how you can manage Windows feature updates with Autopatch groups -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md index 208f3ef552..d0371e0e59 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md @@ -1,7 +1,7 @@ --- title: policy health and remediation description: Describes what Autopatch does it detects policies in the tenant are either missing or modified to states that affect the service -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md index a628585c63..52ae00fad6 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md @@ -1,7 +1,7 @@ --- title: Unenroll your tenant description: This article explains what unenrollment means for your organization and what actions you must take. -ms.date: 08/08/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md index f0300bdd0c..2bf45427ed 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md @@ -1,7 +1,7 @@ --- title: Windows feature updates overview description: This article explains how Windows feature updates are managed with Autopatch groups -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md index 35f31b5ee8..d8e5c7be2a 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md @@ -1,7 +1,7 @@ --- title: Feature update status report description: Provides a per device view of the current Windows OS upgrade status for all devices registered with Windows Autopatch. -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md index 9e08f94fd5..2d724d0af1 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md @@ -1,7 +1,7 @@ --- title: Feature update trending report description: Provides a visual representation of Windows OS upgrade trends for all devices over the last 90 days. -ms.date: 07/25/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md index 2433c7acb7..4c86c00301 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md @@ -1,7 +1,7 @@ --- -title: Windows quality update communications for Autopatch groups -description: This article explains Windows quality update communications for Autopatch groups -ms.date: 07/25/2023 +title: Windows quality update communications +description: This article explains Windows quality update communications +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md index b0319f299b..5e617d6e2c 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md @@ -1,7 +1,7 @@ --- -title: Windows quality update end user experience for Autopatch groups -description: This article explains the Windows quality update end user experience using the Autopatch groups exp -ms.date: 07/25/2023 +title: Windows quality update end user experience +description: This article explains the Windows quality update end user experience +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md index 4831b08a21..e9dc59e3a6 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md @@ -1,6 +1,6 @@ --- title: Windows quality updates overview with Autopatch groups experience -description: This article explains how Windows quality updates are managed with Autopatch groups +description: This article explains how Windows quality updates are managed with Autopatch ms.date: 05/24/2024 ms.service: windows-client ms.subservice: itpro-updates diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md index 7f403c3a2c..caf9f9c2c5 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md @@ -1,7 +1,7 @@ --- -title: Windows quality update release signals with Autopatch groups -description: This article explains the Windows quality update release signals with Autopatch groups -ms.date: 07/25/2023 +title: Windows quality update release signals +description: This article explains the Windows quality update release signals +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md index 2d99ee3d3a..34b11def99 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md @@ -1,7 +1,7 @@ --- title: Quality update status report -description: Provides a per device view of the current update status for all Windows Autopatch enrolled devices with Autopatch groups. -ms.date: 07/25/2023 +description: Provides a per device view of the current update status for all Windows Autopatch enrolled devices. +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md index 64ed6a7a91..21c684b548 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md @@ -1,6 +1,6 @@ --- title: Windows quality update summary dashboard -description: Provides a summary view of the current update status for all devices enrolled into Windows Autopatch with Autopatch groups +description: Provides a summary view of the current update status for all devices enrolled into Windows Autopatch ms.date: 01/22/2024 ms.service: windows-client ms.subservice: itpro-updates diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md index ccfb4fd07a..a956837968 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md @@ -1,7 +1,7 @@ --- title: Quality update trending report -description: Provides a visual representation of the update status trend for all devices over the last 90 days with Autopatch groups. -ms.date: 09/01/2023 +description: Provides a visual representation of the update status trend for all devices over the last 90 days. +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to From d42306cfe8c352138f624b41423d69f0f6d9c46a Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Mon, 8 Jul 2024 11:06:41 -0700 Subject: [PATCH 209/354] More freshness --- .../deploy/windows-autopatch-admin-contacts.md | 2 +- .../deploy/windows-autopatch-groups-manage-autopatch-groups.md | 2 +- .../deploy/windows-autopatch-post-reg-readiness-checks.md | 2 +- .../overview/windows-autopatch-deployment-guide.md | 2 +- .../windows-autopatch/overview/windows-autopatch-faq.yml | 2 +- .../windows-autopatch/overview/windows-autopatch-overview.md | 2 +- .../windows-autopatch/overview/windows-autopatch-privacy.md | 2 +- .../overview/windows-autopatch-roles-responsibilities.md | 2 +- .../prepare/windows-autopatch-configure-network.md | 2 +- .../prepare/windows-autopatch-enroll-tenant.md | 2 +- .../prepare/windows-autopatch-enrollment-support-request.md | 2 +- .../windows-autopatch/prepare/windows-autopatch-fix-issues.md | 2 +- .../references/windows-autopatch-conflicting-configurations.md | 2 +- ...patch-driver-and-firmware-updates-public-preview-addendum.md | 2 +- .../references/windows-autopatch-microsoft-365-policies.md | 2 +- .../windows-autopatch-windows-update-unsupported-policies.md | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-admin-contacts.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-admin-contacts.md index 690fe5613b..be8a0b2063 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-admin-contacts.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-admin-contacts.md @@ -1,7 +1,7 @@ --- title: Add and verify admin contacts description: This article explains how to add and verify admin contacts -ms.date: 09/15/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-manage-autopatch-groups.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-manage-autopatch-groups.md index e541bf8d2e..cd9cd8132d 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-manage-autopatch-groups.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-manage-autopatch-groups.md @@ -1,7 +1,7 @@ --- title: Manage Windows Autopatch groups description: This article explains how to manage Autopatch groups -ms.date: 12/13/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md index e48ce95422..bbed3ec3b1 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md @@ -1,7 +1,7 @@ --- title: Post-device registration readiness checks description: This article details how post-device registration readiness checks are performed in Windows Autopatch -ms.date: 09/16/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md index 82e1181f87..df3a6cd77d 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md @@ -1,7 +1,7 @@ --- title: Windows Autopatch deployment guide description: This guide explains how to successfully deploy Windows Autopatch in your environment -ms.date: 08/24/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml b/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml index f92f2bf122..8e0f87c3a4 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml @@ -4,7 +4,7 @@ metadata: description: Answers to frequently asked questions about Windows Autopatch. ms.service: windows-client ms.topic: faq - ms.date: 12/04/2023 + ms.date: 07/08/2024 audience: itpro ms.localizationpriority: medium manager: aaroncz diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md index 6e49a4703c..f5f9d6ac76 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md @@ -1,7 +1,7 @@ --- title: What is Windows Autopatch? description: Details what the service is and shortcuts to articles. -ms.date: 08/08/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md index 4ef883d665..5b74de7688 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md @@ -1,7 +1,7 @@ --- title: Privacy description: This article provides details about the data platform and privacy compliance for Autopatch -ms.date: 09/13/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: reference diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md index f2217c4b0c..b62bc5627b 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md @@ -1,7 +1,7 @@ --- title: Roles and responsibilities description: This article describes the roles and responsibilities provided by Windows Autopatch and what the customer must do -ms.date: 08/31/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/prepare/windows-autopatch-configure-network.md b/windows/deployment/windows-autopatch/prepare/windows-autopatch-configure-network.md index 2633222ae7..dcbb1ae24c 100644 --- a/windows/deployment/windows-autopatch/prepare/windows-autopatch-configure-network.md +++ b/windows/deployment/windows-autopatch/prepare/windows-autopatch-configure-network.md @@ -1,7 +1,7 @@ --- title: Configure your network description: This article details the network configurations needed for Windows Autopatch -ms.date: 09/15/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/prepare/windows-autopatch-enroll-tenant.md b/windows/deployment/windows-autopatch/prepare/windows-autopatch-enroll-tenant.md index b24d784042..f623474036 100644 --- a/windows/deployment/windows-autopatch/prepare/windows-autopatch-enroll-tenant.md +++ b/windows/deployment/windows-autopatch/prepare/windows-autopatch-enroll-tenant.md @@ -1,7 +1,7 @@ --- title: Enroll your tenant description: This article details how to enroll your tenant -ms.date: 09/15/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/prepare/windows-autopatch-enrollment-support-request.md b/windows/deployment/windows-autopatch/prepare/windows-autopatch-enrollment-support-request.md index c349ad620f..6cd8d98e22 100644 --- a/windows/deployment/windows-autopatch/prepare/windows-autopatch-enrollment-support-request.md +++ b/windows/deployment/windows-autopatch/prepare/windows-autopatch-enrollment-support-request.md @@ -1,7 +1,7 @@ --- title: Submit a tenant enrollment support request description: This article details how to submit a tenant enrollment support request -ms.date: 09/13/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/prepare/windows-autopatch-fix-issues.md b/windows/deployment/windows-autopatch/prepare/windows-autopatch-fix-issues.md index b2371addb0..d973c0f991 100644 --- a/windows/deployment/windows-autopatch/prepare/windows-autopatch-fix-issues.md +++ b/windows/deployment/windows-autopatch/prepare/windows-autopatch-fix-issues.md @@ -1,7 +1,7 @@ --- title: Fix issues found by the Readiness assessment tool description: This article details how to fix issues found by the Readiness assessment tool. -ms.date: 09/12/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md b/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md index 677faf730d..cbd7fc1142 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md @@ -1,7 +1,7 @@ --- title: Conflicting configurations description: This article explains how to remediate conflicting configurations affecting the Windows Autopatch service. -ms.date: 09/05/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md b/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md index 9edb3f3748..8cbed6ce25 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md @@ -1,7 +1,7 @@ --- title: Driver and firmware updates for Windows Autopatch Public Preview Addendum description: This article explains how driver and firmware updates are managed in Autopatch -ms.date: 06/26/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md b/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md index c08d4cf821..56d474d0f9 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md @@ -1,7 +1,7 @@ --- title: Microsoft 365 Apps for enterprise update policies description: This article explains the Microsoft 365 Apps for enterprise policies in Windows Autopatch -ms.date: 06/23/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md b/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md index df04f475d9..5e6dfd39cc 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md @@ -1,7 +1,7 @@ --- title: Windows update policies description: This article explains Windows update policies in Windows Autopatch -ms.date: 09/02/2023 +ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual From 732f1f50b75a41404125e9ddb9e791e86bd8a869 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Mon, 8 Jul 2024 13:58:02 -0600 Subject: [PATCH 210/354] Fix Pro applicability for some CSPs --- .../mdm/policy-csp-admx-windowsstore.md | 10 +++------- windows/client-management/mdm/policy-csp-search.md | 4 ++-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-admx-windowsstore.md b/windows/client-management/mdm/policy-csp-admx-windowsstore.md index ad9da6b96b..aaadbfb085 100644 --- a/windows/client-management/mdm/policy-csp-admx-windowsstore.md +++ b/windows/client-management/mdm/policy-csp-admx-windowsstore.md @@ -1,7 +1,7 @@ --- title: ADMX_WindowsStore Policy CSP description: Learn more about the ADMX_WindowsStore Area in Policy CSP. -ms.date: 01/18/2024 +ms.date: 07/08/2024 --- @@ -200,7 +200,7 @@ Enables or disables the Store offer to update to the latest version of Windows. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ❌ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | +| ❌ Device
    ✅ User | ❌ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | @@ -220,8 +220,6 @@ Denies or allows access to the Store application. -> [!NOTE] -> This policy is not supported on Windows Professional edition, and requires Windows Enterprise or Windows Education to function. For more information, see [Can't disable Microsoft Store in Windows Pro through Group Policy](/troubleshoot/windows-client/group-policy/cannot-disable-microsoft-store). @@ -261,7 +259,7 @@ Denies or allows access to the Store application. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | +| ✅ Device
    ❌ User | ❌ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | @@ -281,8 +279,6 @@ Denies or allows access to the Store application. -> [!NOTE] -> This policy is not supported on Windows Professional edition, and requires Windows Enterprise or Windows Education to function. For more information, see [Can't disable Microsoft Store in Windows Pro through Group Policy](/troubleshoot/windows-client/group-policy/cannot-disable-microsoft-store). diff --git a/windows/client-management/mdm/policy-csp-search.md b/windows/client-management/mdm/policy-csp-search.md index 1260cd7ab1..8734513a6e 100644 --- a/windows/client-management/mdm/policy-csp-search.md +++ b/windows/client-management/mdm/policy-csp-search.md @@ -1,7 +1,7 @@ --- title: Search Policy CSP description: Learn more about the Search Area in Policy CSP. -ms.date: 04/10/2024 +ms.date: 07/08/2024 --- @@ -919,7 +919,7 @@ This policy setting configures whether or not locations on removable drives can | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 1803 [10.0.17134] and later | +| ✅ Device
    ❌ User | ❌ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 1803 [10.0.17134] and later | From bd05c07c94dbc9a74c51258f2bae65a82b6a0537 Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Mon, 8 Jul 2024 14:36:19 -0700 Subject: [PATCH 211/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index 486c52e3e7..cab9d7dee8 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -13,7 +13,7 @@ appliesto: - ✅ Windows 11 - ✅ Windows 10 - ✅ Windows Server -ms.date: 06/28/2024 +ms.date: 07/10/2024 --- # Update Windows installation media with Dynamic Update From df4f324c3c54d0b44800c1d1a352db797634c05f Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 9 Jul 2024 08:20:57 -0700 Subject: [PATCH 212/354] mdag-dep-link-fix --- windows/whats-new/deprecated-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 0b43cfa4e9..6d5b59a3ba 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 06/11/2024 +ms.date: 07/09/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -54,7 +54,7 @@ The features in this article are no longer being actively developed, and might b | TLS server authentication certificates using RSA keys with key lengths shorter than 2048 bits | Support for certificates using RSA keys with key lengths shorter than 2048 bits will be deprecated. Internet standards and regulatory bodies disallowed the use of 1024-bit keys in 2013, recommending specifically that RSA keys should have a key length of 2048 bits or longer. For more information, see [Transitioning of Cryptographic Algorithms and Key Sizes - Discussion Paper (nist.gov)](https://csrc.nist.gov/CSRC/media/Projects/Key-Management/documents/transitions/Transitioning_CryptoAlgos_070209.pdf). This deprecation focuses on ensuring that all RSA certificates used for TLS server authentication must have key lengths greater than or equal to 2048 bits to be considered valid by Windows.

    TLS certificates issued by enterprise or test certification authorities (CA) aren't impacted with this change. However, we recommend that they be updated to RSA keys greater than or equal to 2048 bits as a security best practice. This change is necessary to preserve security of Windows customers using certificates for authentication and cryptographic purposes.| March 2024| | Test Base | [Test Base for Microsoft 365](/microsoft-365/test-base/overview), an Azure cloud service for application testing, is deprecated. The service will be retired in the future and will be no longer available for use after retirement. | March 2024 | | Windows Mixed Reality | [Windows Mixed Reality](/windows/mixed-reality/enthusiast-guide/before-you-start) is deprecated and will be removed in Windows 11, version 24H2. This deprecation includes the [Mixed Reality Portal](/windows/mixed-reality/enthusiast-guide/install-windows-mixed-reality) app, [Windows Mixed Reality for SteamVR](/windows/mixed-reality/enthusiast-guide/using-steamvr-with-windows-mixed-reality), and Steam VR Beta. Existing Windows Mixed Reality devices will continue to work with Steam through November 2026, if users remain on their current released version of Windows 11, version 23H2. After November 2026, Windows Mixed Reality will no longer receive security updates, nonsecurity updates, bug fixes, technical support, or online technical content updates.

    This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | -| Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities.

    **[Update - April 2024]**: Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding extensions and associated [Windows Store app](https://apps.microsoft.com/detail/9N8GNLC8Z9C8) will not be available after May 2024. This affects the following browsers: [*Application Guard Extension - Chrome*](https://chromewebstore.google.com/detail/application-guard-extensi/mfjnknhkkiafjajicegabkbimfhplplj) and [*Application Guard Extension - Firefox*](https://addons.mozilla.org/firefox/addon/application-guard-extension/). If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). | December 2023 | +| Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities.

    **[Update - April 2024]**: Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding extensions and associated [Windows Store app](https://apps.microsoft.com/detail/9N8GNLC8Z9C8) will not be available after May 2024. This affects the following browsers: *Application Guard Extension - Chrome* and *Application Guard Extension - Firefox*. If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). | December 2023 | | Legacy console mode | The [legacy console mode](/windows/console/legacymode) is deprecated and no longer being updated. In future Windows releases, it will be available as an optional [Feature on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). This feature won't be installed by default. | December 2023 | | Windows speech recognition | [Windows speech recognition](https://support.microsoft.com/windows/83ff75bd-63eb-0b6c-18d4-6fae94050571) is deprecated and is no longer being developed. This feature is being replaced with [voice access](https://support.microsoft.com/topic/4dcd23ee-f1b9-4fd1-bacc-862ab611f55d). Voice access is available for Windows 11, version 22H2, or later devices. Currently, voice access supports five English locales: English - US, English - UK, English - India, English - New Zealand, English - Canada, and English - Australia. For more information, see [Setup voice access](https://support.microsoft.com/topic/set-up-voice-access-9fc44e29-12bf-4d86-bc4e-e9bb69df9a0e). | December 2023 | | Microsoft Defender Application Guard for Office | [Microsoft Defender Application Guard for Office](/microsoft-365/security/office-365-security/app-guard-for-office-install), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated and will no longer be updated. We recommend transitioning to Microsoft Defender for Endpoint [attack surface reduction rules](/microsoft-365/security/defender-endpoint/overview-attack-surface-reduction) along with [Protected View](/microsoft-365/security/office-365-security/recommended-settings-for-eop-and-office365#global-settings-for-safe-attachments) and [Windows Defender Application Control](/windows/security/application-security/application-control/windows-defender-application-control/wdac). | November 2023 | From 12446859950626f4efdd25886affe7d51f8596d7 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 9 Jul 2024 08:22:56 -0700 Subject: [PATCH 213/354] mdag-dep-link-fix --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 6d5b59a3ba..4c4a6712c3 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -54,7 +54,7 @@ The features in this article are no longer being actively developed, and might b | TLS server authentication certificates using RSA keys with key lengths shorter than 2048 bits | Support for certificates using RSA keys with key lengths shorter than 2048 bits will be deprecated. Internet standards and regulatory bodies disallowed the use of 1024-bit keys in 2013, recommending specifically that RSA keys should have a key length of 2048 bits or longer. For more information, see [Transitioning of Cryptographic Algorithms and Key Sizes - Discussion Paper (nist.gov)](https://csrc.nist.gov/CSRC/media/Projects/Key-Management/documents/transitions/Transitioning_CryptoAlgos_070209.pdf). This deprecation focuses on ensuring that all RSA certificates used for TLS server authentication must have key lengths greater than or equal to 2048 bits to be considered valid by Windows.

    TLS certificates issued by enterprise or test certification authorities (CA) aren't impacted with this change. However, we recommend that they be updated to RSA keys greater than or equal to 2048 bits as a security best practice. This change is necessary to preserve security of Windows customers using certificates for authentication and cryptographic purposes.| March 2024| | Test Base | [Test Base for Microsoft 365](/microsoft-365/test-base/overview), an Azure cloud service for application testing, is deprecated. The service will be retired in the future and will be no longer available for use after retirement. | March 2024 | | Windows Mixed Reality | [Windows Mixed Reality](/windows/mixed-reality/enthusiast-guide/before-you-start) is deprecated and will be removed in Windows 11, version 24H2. This deprecation includes the [Mixed Reality Portal](/windows/mixed-reality/enthusiast-guide/install-windows-mixed-reality) app, [Windows Mixed Reality for SteamVR](/windows/mixed-reality/enthusiast-guide/using-steamvr-with-windows-mixed-reality), and Steam VR Beta. Existing Windows Mixed Reality devices will continue to work with Steam through November 2026, if users remain on their current released version of Windows 11, version 23H2. After November 2026, Windows Mixed Reality will no longer receive security updates, nonsecurity updates, bug fixes, technical support, or online technical content updates.

    This deprecation doesn't affect HoloLens. We remain committed to HoloLens and our enterprise customers. | December 2023 | -| Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities.

    **[Update - April 2024]**: Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding extensions and associated [Windows Store app](https://apps.microsoft.com/detail/9N8GNLC8Z9C8) will not be available after May 2024. This affects the following browsers: *Application Guard Extension - Chrome* and *Application Guard Extension - Firefox*. If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). | December 2023 | +| Microsoft Defender Application Guard for Edge | [Microsoft Defender Application Guard](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated for Microsoft Edge for Business and [will no longer be updated](feature-lifecycle.md). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities.

    **[Update - April 2024]**: Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding extensions and associated Windows Store app will not be available after May 2024. This affects the following browsers: *Application Guard Extension - Chrome* and *Application Guard Extension - Firefox*. If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). | December 2023 | | Legacy console mode | The [legacy console mode](/windows/console/legacymode) is deprecated and no longer being updated. In future Windows releases, it will be available as an optional [Feature on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). This feature won't be installed by default. | December 2023 | | Windows speech recognition | [Windows speech recognition](https://support.microsoft.com/windows/83ff75bd-63eb-0b6c-18d4-6fae94050571) is deprecated and is no longer being developed. This feature is being replaced with [voice access](https://support.microsoft.com/topic/4dcd23ee-f1b9-4fd1-bacc-862ab611f55d). Voice access is available for Windows 11, version 22H2, or later devices. Currently, voice access supports five English locales: English - US, English - UK, English - India, English - New Zealand, English - Canada, and English - Australia. For more information, see [Setup voice access](https://support.microsoft.com/topic/set-up-voice-access-9fc44e29-12bf-4d86-bc4e-e9bb69df9a0e). | December 2023 | | Microsoft Defender Application Guard for Office | [Microsoft Defender Application Guard for Office](/microsoft-365/security/office-365-security/app-guard-for-office-install), including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), is being deprecated and will no longer be updated. We recommend transitioning to Microsoft Defender for Endpoint [attack surface reduction rules](/microsoft-365/security/defender-endpoint/overview-attack-surface-reduction) along with [Protected View](/microsoft-365/security/office-365-security/recommended-settings-for-eop-and-office365#global-settings-for-safe-attachments) and [Windows Defender Application Control](/windows/security/application-security/application-control/windows-defender-application-control/wdac). | November 2023 | From bee90b3e06b657af715f12badd6c1df691353a29 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 9 Jul 2024 08:52:02 -0700 Subject: [PATCH 214/354] wufbr-fresh-9153880 --- .../update/wufb-reports-configuration-manual.md | 2 +- .../update/wufb-reports-configuration-script.md | 16 ++++++++-------- windows/deployment/update/wufb-reports-enable.md | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/windows/deployment/update/wufb-reports-configuration-manual.md b/windows/deployment/update/wufb-reports-configuration-manual.md index 545ebbed48..5cbf3748b6 100644 --- a/windows/deployment/update/wufb-reports-configuration-manual.md +++ b/windows/deployment/update/wufb-reports-configuration-manual.md @@ -12,7 +12,7 @@ ms.localizationpriority: medium appliesto: - ✅ Windows 11 - ✅ Windows 10 -ms.date: 12/15/2023 +ms.date: 07/09/2024 --- # Manually configure devices for Windows Update for Business reports diff --git a/windows/deployment/update/wufb-reports-configuration-script.md b/windows/deployment/update/wufb-reports-configuration-script.md index e216694bc7..2d3b3f14b0 100644 --- a/windows/deployment/update/wufb-reports-configuration-script.md +++ b/windows/deployment/update/wufb-reports-configuration-script.md @@ -12,7 +12,7 @@ ms.localizationpriority: medium appliesto: - ✅ Windows 11 - ✅ Windows 10 -ms.date: 07/11/2023 +ms.date: 07/09/2024 --- # Configuring devices through the Windows Update for Business reports configuration script @@ -22,9 +22,9 @@ The Windows Update for Business reports configuration script is the recommended ## About the script -The configuration script configures registry keys directly. Be aware that registry keys can potentially be overwritten by policy settings like Group Policy or MDM. *Reconfiguring devices with the script doesn't reconfigure previously set policies, both in the case of Group Policy and MDM*. If there are conflicts between your Group Policy or MDM configurations and the required configurations listed in [Manually configuring devices for Windows Update for Business reports](wufb-reports-configuration-manual.md), device data might not appear in Windows Update for Business reports correctly. +The configuration script configures registry keys directly. Registry keys can potentially be overwritten by policy settings like Group Policy or MDM. *Reconfiguring devices with the script doesn't reconfigure previously set policies, both in the case of Group Policy and MDM*. If there are conflicts between your Group Policy or MDM configurations and the required configurations listed in [Manually configuring devices for Windows Update for Business reports](wufb-reports-configuration-manual.md), device data might not appear in Windows Update for Business reports correctly. -You can download the script from the [Microsoft Download Center](https://www.microsoft.com/download/details.aspx?id=101086). Keep reading to learn how to configure the script and interpret error codes that are output in logs for troubleshooting. +You can download the script from the [Microsoft Download Center](https://www.microsoft.com/download/details.aspx?id=101086). ## How this script is organized @@ -39,11 +39,11 @@ Edit the `RunConfig.bat` file to configure the following variables, then run the | Variable | Allowed values and description | Example | |---|---|---| -| runMode | **Pilot** (default): Verbose mode with additional diagnostics with additional logging. Pilot mode is best for a testing run of the script or for troubleshooting.
    **Deployment**: Doesn't run any additional diagnostics or add extra logging | `runMode=Pilot` | -| logPath | Path where the logs will be saved. The default location of the logs is `.\UCLogs`. | `logPath=C:\temp\logs` | -| logMode | **0**: Log to the console only
    **1** (default): Log to file and console.
    **2**: Log to file only. | `logMode=2` | -| DeviceNameOptIn | **true** (default): Device name is sent to Microsoft.
    **false**: Device name isn't sent to Microsoft. | `DeviceNameOptIn=true` | -| ClientProxy | **Direct** (default): No proxy is used. The connection to the endpoints is direct.
    **System**: The system proxy, without authentication, is used. This type of proxy is typically configured with [netsh](/windows-server/networking/technologies/netsh/netsh-contexts) and can be verified using `netsh winhttp show proxy`.
    **User**: The proxy is configured through IE and it might or might not require user authentication.

    For more information, see [How the Windows Update client determines which proxy server to use to connect to the Windows Update website](https://support.microsoft.com/en-us/topic/how-the-windows-update-client-determines-which-proxy-server-to-use-to-connect-to-the-windows-update-website-08612ae5-3722-886c-f1e1-d012516c22a1) | `ClientProxy=Direct` | +| runMode | **Pilot** (default): Verbose mode with additional diagnostics and logging. Pilot mode is best for a testing run of the script or for troubleshooting.
    **Deployment**: Doesn't run any additional diagnostics or add extra logging | `runMode=Pilot` | +| logPath | Path where the logs are saved. The default location of the logs is `.\UCLogs`.| `logPath=C:\temp\logs` | +| logMode | **0**: Log to the console only
    **1** (default): Log to file and console.
    **2**: Log to file only. | `logMode=2` | +| DeviceNameOptIn | **true** (default): Device name is sent to Microsoft.
    **false**: Device name isn't sent to Microsoft. | `DeviceNameOptIn=true` | +| ClientProxy | **Direct** (default): No proxy is used. The connection to the endpoints is direct.
    **System**: The system proxy, without authentication, is used. This type of proxy is typically configured with [netsh](/windows-server/networking/technologies/netsh/netsh-contexts) and can be verified using `netsh winhttp show proxy`.
    **User**: The proxy is configured through IE and it might or might not require user authentication.

    For more information, see [How the Windows Update client determines which proxy server to use to connect to the Windows Update website](https://support.microsoft.com/en-us/topic/how-the-windows-update-client-determines-which-proxy-server-to-use-to-connect-to-the-windows-update-website-08612ae5-3722-886c-f1e1-d012516c22a1) | `ClientProxy=Direct` | | source | Used by the .bat file and PowerShell script to locate dependencies. It's recommended that you don't change this value. | `source=%~dp0` | diff --git a/windows/deployment/update/wufb-reports-enable.md b/windows/deployment/update/wufb-reports-enable.md index 1502d549d2..157adbc776 100644 --- a/windows/deployment/update/wufb-reports-enable.md +++ b/windows/deployment/update/wufb-reports-enable.md @@ -11,7 +11,7 @@ manager: aaroncz appliesto: - ✅ Windows 11 - ✅ Windows 10 -ms.date: 07/11/2023 +ms.date: 07/09/2024 --- # Enable Windows Update for Business reports @@ -34,7 +34,7 @@ After verifying the [prerequisites](wufb-reports-prerequisites.md) are met, you ## Add Windows Update for Business reports to your Azure subscription -Before you configure clients to send data, you'll need to add Windows Update for Business reports to your Azure subscription so the data can be received. First, you'll select or create a new Log Analytics workspace to use. Second, you'll enroll Windows Update for Business reports to the workspace. +Before you configure clients to send data, you need to add Windows Update for Business reports to your Azure subscription so the data can be received. First, you select or create a new Log Analytics workspace to use. Second, you enroll Windows Update for Business reports to the workspace. ## Select or create a new Log Analytics workspace for Windows Update for Business reports @@ -69,7 +69,7 @@ Enroll into Windows Update for Business reports by configuring its settings thro > [!Tip] > If a `403 Forbidden` error occurs, verify the account you're using has [permissions](wufb-reports-prerequisites.md#permissions) to enroll into Windows Update for Business reports. 1. The initial setup can take up to 24 hours. During this time, the workbook will display that it's **Waiting for Windows Update for Business reports data**. - - Enrolling into Windows Update for Business reports doesn't influence the rate that required data is uploaded from devices. Device connectivity to the internet and how active the device is influences how long it will take before the device appears in reporting. Devices that are active and connected to the internet daily can expect to be fully uploaded within one week (usually less than 72 hours). Devices that are less active can take up to two weeks before data is fully available. + - Enrolling into Windows Update for Business reports doesn't influence the rate that required data is uploaded from devices. Device connectivity to the internet and how active the device is influences how long it takes before the device appears in reporting. Devices that are active and connected to the internet daily can expect to be fully uploaded within one week (usually less than 72 hours). Devices that are less active can take up to two weeks before data is fully available. ##### Enroll through the Microsoft 365 admin center From ed4959c2d74057378042beb2e662a08764869e25 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 9 Jul 2024 08:57:49 -0700 Subject: [PATCH 215/354] wufbr-fresh-9153880 --- windows/deployment/update/wufb-reports-help.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/wufb-reports-help.md b/windows/deployment/update/wufb-reports-help.md index 3580a4810a..6e7c31a485 100644 --- a/windows/deployment/update/wufb-reports-help.md +++ b/windows/deployment/update/wufb-reports-help.md @@ -11,7 +11,7 @@ manager: aaroncz appliesto: - ✅ Windows 11 - ✅ Windows 10 -ms.date: 02/10/2023 +ms.date: 07/09/2024 --- # Windows Update for Business reports feedback, support, and troubleshooting @@ -52,7 +52,7 @@ You can open support requests directly from the Azure portal. If the **Help + S - **Service type** - Select ***Windows Update for Business reports*** under ***Monitoring and Management*** -1. Based on the information you provided, you'll be shown some **Recommended solutions** you can use to try to resolve the problem. +1. Based on the information you provided, you are shown some **Recommended solutions** you can use to try to resolve the problem. 1. Complete the **Additional details** tab and then create the request on the **Review + create** tab. ## Documentation feedback From 8618beacf64bf21e4251152eb1d5cf5b73588ae5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:27:30 -0400 Subject: [PATCH 216/354] fixed broken link --- education/windows/index.yml | 2 +- windows/hub/index.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/education/windows/index.yml b/education/windows/index.yml index 942a90b16b..ac12ab0836 100644 --- a/education/windows/index.yml +++ b/education/windows/index.yml @@ -137,4 +137,4 @@ additionalContent: - text: Microsoft Intune community url: https://techcommunity.microsoft.com/t5/microsoft-intune/bd-p/Microsoft-Intune - text: Microsoft Support community - url: https://answers.microsoft.com/windows/forum \ No newline at end of file + url: https://answers.microsoft.com/ \ No newline at end of file diff --git a/windows/hub/index.yml b/windows/hub/index.yml index 4b0d111d73..6bed7b9fcc 100644 --- a/windows/hub/index.yml +++ b/windows/hub/index.yml @@ -197,4 +197,4 @@ additionalContent: - text: Microsoft Intune community url: https://techcommunity.microsoft.com/t5/microsoft-intune/bd-p/Microsoft-Intune - text: Microsoft Support community - url: https://answers.microsoft.com/windows/forum + url: https://answers.microsoft.com/ From e4a32b2afecd299d82a7d7c93f697c60e747077b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 9 Jul 2024 10:09:18 -0700 Subject: [PATCH 217/354] wn-fresh-8869747 --- windows/whats-new/feature-lifecycle.md | 4 ++-- windows/whats-new/ltsc/overview.md | 2 +- windows/whats-new/ltsc/whats-new-windows-10-2015.md | 4 ++-- windows/whats-new/ltsc/whats-new-windows-10-2016.md | 4 ++-- windows/whats-new/ltsc/whats-new-windows-10-2019.md | 4 ++-- windows/whats-new/ltsc/whats-new-windows-10-2021.md | 4 ++-- windows/whats-new/whats-new-windows-10-version-22H2.md | 4 ++-- windows/whats-new/whats-new-windows-11-version-22H2.md | 4 ++-- windows/whats-new/whats-new-windows-11-version-23h2.md | 4 ++-- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/windows/whats-new/feature-lifecycle.md b/windows/whats-new/feature-lifecycle.md index 9c928556e8..578a92fb51 100644 --- a/windows/whats-new/feature-lifecycle.md +++ b/windows/whats-new/feature-lifecycle.md @@ -6,9 +6,9 @@ ms.localizationpriority: medium author: mestew manager: aaroncz ms.author: mstewart -ms.topic: conceptual +ms.topic: reference ms.subservice: itpro-fundamentals -ms.date: 12/15/2023 +ms.date: 07/09/2024 ms.collection: - highpri - tier2 diff --git a/windows/whats-new/ltsc/overview.md b/windows/whats-new/ltsc/overview.md index 881b172f79..5fb5127bcf 100644 --- a/windows/whats-new/ltsc/overview.md +++ b/windows/whats-new/ltsc/overview.md @@ -8,7 +8,7 @@ manager: aaroncz ms.localizationpriority: low ms.topic: overview ms.subservice: itpro-fundamentals -ms.date: 12/18/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 10 Enterprise LTSC --- diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2015.md b/windows/whats-new/ltsc/whats-new-windows-10-2015.md index 5679770b95..83b91546d8 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2015.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2015.md @@ -6,9 +6,9 @@ description: New and updated IT pro content about new features in Windows 10 Ent ms.service: windows-client author: mestew ms.localizationpriority: low -ms.topic: conceptual +ms.topic: reference ms.subservice: itpro-fundamentals -ms.date: 12/18/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 10 Enterprise LTSC 2015 --- diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2016.md b/windows/whats-new/ltsc/whats-new-windows-10-2016.md index 22fdf02fce..df08af61c1 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2016.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2016.md @@ -6,9 +6,9 @@ description: New and updated IT pro content about new features in Windows 10 Ent ms.service: windows-client author: mestew ms.localizationpriority: low -ms.topic: conceptual +ms.topic: reference ms.subservice: itpro-fundamentals -ms.date: 12/18/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 10 Enterprise LTSC 2016 --- diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2019.md b/windows/whats-new/ltsc/whats-new-windows-10-2019.md index 78cd95c0c9..6e5084a543 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2019.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2019.md @@ -6,9 +6,9 @@ description: New and updated IT Pro content about new features in Windows 10 Ent ms.service: windows-client author: mestew ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: reference ms.subservice: itpro-fundamentals -ms.date: 12/18/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 10 Enterprise LTSC 2019 --- diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2021.md b/windows/whats-new/ltsc/whats-new-windows-10-2021.md index b7f6c2c73f..f8a15b202a 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2021.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2021.md @@ -6,9 +6,9 @@ description: New and updated IT Pro content about new features in Windows 10 Ent ms.service: windows-client author: mestew ms.localizationpriority: high -ms.topic: conceptual +ms.topic: reference ms.subservice: itpro-fundamentals -ms.date: 12/18/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 10 Enterprise LTSC 2021 --- diff --git a/windows/whats-new/whats-new-windows-10-version-22H2.md b/windows/whats-new/whats-new-windows-10-version-22H2.md index 3ec8fdc763..a2c3d3e798 100644 --- a/windows/whats-new/whats-new-windows-10-version-22H2.md +++ b/windows/whats-new/whats-new-windows-10-version-22H2.md @@ -7,8 +7,8 @@ ms.author: mstewart author: mestew manager: aaroncz ms.localizationpriority: medium -ms.topic: conceptual -ms.date: 10/18/2022 +ms.topic: reference +ms.date: 07/09/2024 ms.collection: - highpri - tier2 diff --git a/windows/whats-new/whats-new-windows-11-version-22H2.md b/windows/whats-new/whats-new-windows-11-version-22H2.md index d2308ff620..a76a1b6abb 100644 --- a/windows/whats-new/whats-new-windows-11-version-22H2.md +++ b/windows/whats-new/whats-new-windows-11-version-22H2.md @@ -6,12 +6,12 @@ ms.service: windows-client ms.author: mstewart author: mestew ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: reference ms.collection: - highpri - tier2 ms.subservice: itpro-fundamentals -ms.date: 08/11/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 11, version 22H2 --- diff --git a/windows/whats-new/whats-new-windows-11-version-23h2.md b/windows/whats-new/whats-new-windows-11-version-23h2.md index 421552f353..afc12bea4b 100644 --- a/windows/whats-new/whats-new-windows-11-version-23h2.md +++ b/windows/whats-new/whats-new-windows-11-version-23h2.md @@ -6,12 +6,12 @@ ms.service: windows-client ms.author: mstewart author: mestew ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: reference ms.collection: - highpri - tier2 ms.subservice: itpro-fundamentals -ms.date: 10/31/2023 +ms.date: 07/09/2024 appliesto: - ✅ Windows 11, version 23H2 --- From 08b09d9dea47c0ab86a19021d49334cc0d918d91 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Tue, 9 Jul 2024 13:29:15 -0600 Subject: [PATCH 218/354] Provisioning packages freshness --- .../diagnose-provisioning-packages.md | 10 +- ...can-use-configuration-service-providers.md | 136 +----------------- .../provisioning-packages/images/ICD.png | Bin 60464 -> 29688 bytes .../provision-pcs-for-initial-deployment.md | 69 ++++----- .../provision-pcs-with-apps.md | 95 ++++-------- .../provisioning-apply-package.md | 29 +--- .../provisioning-command-line.md | 27 +--- .../provisioning-create-package.md | 93 +++++------- .../provisioning-how-it-works.md | 24 +--- .../provisioning-install-icd.md | 49 +++---- .../provisioning-multivariant.md | 97 +++++-------- .../provisioning-packages.md | 122 +++++++--------- .../provisioning-powershell.md | 32 +---- .../provisioning-script-to-install-app.md | 32 ++--- .../provisioning-uninstall-package.md | 61 ++++---- .../provisioning-packages/toc.yml | 48 ++++--- 16 files changed, 294 insertions(+), 630 deletions(-) diff --git a/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md b/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md index 53a0f7861e..dc6121f2d9 100644 --- a/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md +++ b/windows/configuration/provisioning-packages/diagnose-provisioning-packages.md @@ -2,7 +2,7 @@ title: Diagnose Provisioning Packages description: Diagnose general failures in provisioning. ms.topic: troubleshooting -ms.date: 01/18/2023 +ms.date: 07/09/2024 --- # Diagnose Provisioning Packages @@ -11,22 +11,20 @@ This article helps diagnose common issues with applying provisioning packages. Y ## Unable to apply power settings -When applying a provisioning package (PPKG) containing power settings, elevated permissions are required. Because elevated permissions are required, power settings applied using the user context after the [initial setup](/windows/configuration/provisioning-packages/provisioning-apply-package#after-initial-setup) results in the error `STATUS_PRIVILEGE_NOT_HELD (HRESULT=0xc0000061)` because an incorrect security context was used. +When you apply a provisioning package (PPKG) containing power settings, elevated permissions are required. Because elevated permissions are required, power settings applied using the user context after the [initial setup](/windows/configuration/provisioning-packages/provisioning-apply-package#after-initial-setup) results in the error `STATUS_PRIVILEGE_NOT_HELD (HRESULT=0xc0000061)` because an incorrect security context was used. To apply the power settings successfully with the [correct security context](/windows/win32/services/localsystem-account), place the PPKG in `%WINDIR%/Provisioning/Packages` directory, and reboot the device. For more information, see [Configure power settings](/windows-hardware/customize/power-settings/configure-power-settings). - - ## Unable to perform bulk enrollment in Microsoft Entra ID -When [enrolling devices into Microsoft Entra ID using provisioning packages](https://techcommunity.microsoft.com/t5/intune-customer-success/bulk-join-a-windows-device-to-azure-ad-and-microsoft-endpoint/ba-p/2381400), the bulk token request is rejected, if the user requesting a bulk token isn't authorized to grant application consent. For more information, see [Configure how users consent to applications](/azure/active-directory/manage-apps/configure-user-consent). +When you [enroll devices into Microsoft Entra ID using provisioning packages](https://techcommunity.microsoft.com/t5/intune-customer-success/bulk-join-a-windows-device-to-azure-ad-and-microsoft-endpoint/ba-p/2381400), the bulk token request is rejected, if the user requesting a bulk token isn't authorized to grant application consent. For more information, see [Configure how users consent to applications](/azure/active-directory/manage-apps/configure-user-consent). > [!NOTE] > When obtaining the bulk token, you should select "No, sign in to this app only" when prompted for authentication. If you select "OK" instead without also selecting "Allow my organization to manage my device", the bulk token request might be rejected. ## Unable to apply a multivariant provisioning package -When applying a [multivariant package](/windows/configuration/provisioning-packages/provisioning-multivariant), it might be difficult to diagnose why a certain target didn't get applied. There may have been improperly authored conditions that didn't evaluate as expected. +When you apply a [multivariant package](/windows/configuration/provisioning-packages/provisioning-multivariant), it might be difficult to diagnose why a certain target didn't get applied. There may be improperly authored conditions that didn't evaluate as expected. Starting in Windows 11, version 22H2, [MdmDiagnosticsTool](/windows/client-management/diagnose-mdm-failures-in-windows-10) includes multivariant condition values to diagnose problems with multivariant packages to determine why the package wasn't applied. diff --git a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md index a535175bf7..978aa8fc5b 100644 --- a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md +++ b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md @@ -2,12 +2,12 @@ title: Configuration service providers for IT pros description: Describes how IT pros and system administrators can use configuration service providers (CSPs) to configure devices. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Configuration service providers for IT pros -This article explains how IT pros and system administrators can take advantage of many settings available through configuration service providers (CSPs) to configure devices running Windows client in their organizations. CSPs expose device configuration settings in Windows client. The CSPs are used by mobile device management (MDM) service providers and are documented in the [Hardware Dev Center](/windows/client-management/mdm/configuration-service-provider-reference). +This article explains how IT pros and system administrators can take advantage of many settings available through configuration service providers (CSPs) to configure devices running Windows client in their organizations. CSPs expose device configuration settings in Windows client. The CSPs are used by mobile device management (MDM) service providers and are documented in the [Configuration Service Provider reference](/windows/client-management/mdm/configuration-service-provider-reference). ## What is a CSP? @@ -15,11 +15,7 @@ In the client operating system, a CSP is the interface between configuration set On the Windows client platform, the management approach for desktop uses CSPs to configure and manage all devices running Windows client. -Each CSP provides access to specific settings. For example, the [Wi-Fi CSP](/windows/client-management/mdm/wifi-csp) contains the settings to create a Wi-Fi profile. - -CSPs are behind many of the management tasks and policies for Windows client, both in Microsoft Intune and in non-Microsoft MDM service providers. For example, in Intune, the policy to allow search suggestions in the Microsoft Edge address bar uses **Browser/AllowSearchSuggestionsinAddressBar** in the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider). - -:::image type="content" source="images/policytocsp.png" alt-text="How intune maps to CSP"::: +Each CSP provides access to specific settings. For example, the [Wi-Fi CSP](/windows/client-management/mdm/wifi-csp) contains the settings to create a Wi-Fi profile. CSPs are behind many of the management tasks and policies for Windows client, both in Microsoft Intune and in non-Microsoft MDM service providers. CSPs receive configuration policies in the XML-based Synchronization Markup Language (SyncML) format, pushed from an MDM-compliant management server, such as Microsoft Intune. Traditional enterprise management systems, such as Microsoft Configuration Manager, can also target CSPs, by using a client-side Windows Management Instrumentation (WMI)-to-CSP Bridge. @@ -37,13 +33,13 @@ The WMI-to-CSP Bridge is a component allowing configuration of Windows client CS Generally, enterprises rely on Group Policy or MDM to configure and manage devices. For devices running Windows, MDM services use CSPs to configure your devices. -In addition, you may have unmanaged devices, or a large number of devices that you want to configure before enrolling them in management. You may also want to apply custom settings that aren't available through your MDM service. The [CSP documentation](#bkmk-csp-doc) can help you understand the settings that can be configured or queried. You can also learn about all of the available configuration settings. +In addition, you may have unmanaged devices, or a large number of devices that you want to configure before enrolling them in management. You may also want to apply custom settings that aren't available through your MDM service. The [CSP documentation](/windows/client-management/mdm/configuration-service-provider-reference) can help you understand the settings that can be configured or queried. You can also learn about all of the available configuration settings. ### CSPs in Windows Configuration Designer You can use Windows Configuration Designer to create [provisioning packages](provisioning-packages.md) to apply settings to devices during the out-of-box-experience (OOBE), and after the devices are set up. You can also use provisioning packages to configure a device's connectivity and enroll the device in MDM. Many of the runtime settings in Windows Configuration Designer are based on CSPs. -Many settings in Windows Configuration Designer will display documentation for that setting in the center pane, and will include a reference to the CSP if the setting uses one, as shown in the following image. +Many settings in Windows Configuration Designer display documentation for that setting in the center pane, and include a reference to the CSP if the setting uses one. :::image type="content" source="images/cspinicd.png" alt-text="In Windows Configuration Designer, how help content appears in ICD."::: @@ -51,124 +47,6 @@ Many settings in Windows Configuration Designer will display documentation for t ### CSPs in MDM -Most, if not all, CSPs are surfaced through your MDM service. If you see a CSP that provides a capability that you want to make use of and cannot find that capability in your MDM service, contact your MDM provider for assistance. It might be named differently than you expected. You can see the CSPs supported by MDM in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). +Most, if not all, CSPs are surfaced through your MDM service. If you see a CSP that provides a capability that you want to make use of and can't find that capability in your MDM service, contact your MDM provider for assistance. It might be named differently than you expected. You can see the CSPs supported by MDM in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). -When a CSP is available but is not explicitly included in your MDM solution, you may be able to make use of the CSP by using OMA-URI settings. In Intune, for example, you can use [custom policy settings](/mem/intune/configuration/custom-settings-configure) to deploy settings. Intune documents [a partial list of settings](/mem/intune/configuration/custom-settings-windows-10) that you can enter in the **OMA-URI Settings** section of a custom policy, if your MDM service provides that extension. You'll notice that the list doesn't explain the meanings of the allowed and default values, so use the [CSP reference documentation](/windows/client-management/mdm/configuration-service-provider-reference) to locate that information. - -### CSPs in Lockdown XML - -## How do you use the CSP documentation? - -All CSPs are documented in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). - -The [CSP reference](/windows/client-management/mdm/configuration-service-provider-reference) tells you which CSPs are supported on each edition of Windows, and links to the documentation for each individual CSP. - -:::image type="content" source="images/csptable.png" alt-text="The CSP reference shows the supported Windows editions"::: - -The documentation for each CSP follows the same structure. After an introduction that explains the purpose of the CSP, a diagram shows the parts of the CSP in tree format. - -The full path to a specific configuration setting is represented by its Open Mobile Alliance - Uniform Resource Identifier (OMA-URI). The URI is relative to the devices' root node (MSFT, for example). Features supported by a particular CSP can be set by addressing the complete OMA-URI path. - -The following example shows the diagram for the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). The diagram maps to the XML for that CSP. Notice the different shapes in the diagram: rounded elements are nodes, and rectangular elements are settings or policies for which a value must be supplied. - -:::image type="content" source="images/provisioning-csp-assignedaccess.png" alt-text="The CSP reference shows the assigned access CSP tree."::: - -The element in the tree diagram after the root node tells you the name of the CSP. Knowing this structure, you would recognize in XML the parts of the URI path for that CSP and, if you saw it in XML, you would know which CSP reference to look up. For example, in the following OMS-URI path for the kiosk mode app settings, you can see that it uses the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp). - -```XML -./Vendor/MSFT/AssignedAccess/KioskModeApp -``` - -When an element in the diagram uses _italic_ font, it indicates a placeholder for specific information, such as the tenant ID in the following example. - -:::image type="content" source="images/csp-placeholder.png" alt-text="The placeholder in the CSP tree"::: - -After the diagram, the documentation describes each element. For each policy or setting, the valid values are listed. - -For example, in the [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp), the setting is **KioskModeApp**. The documentation tells you that the value for **KioskModeApp** is a JSON string that contains the user account name and Application User Model ID (AUMID) of the Kiosk mode app. - -The documentation for most CSPs will also include an XML example. - -## CSP examples - -CSPs provide access to many settings useful to enterprises. This section introduces the CSPs that an enterprise might find useful. - -- [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider) - - The Policy CSP enables the enterprise to configure policies on Windows client. Some of these policy settings can also be applied using Group Policy, and the CSP documentation lists the equivalent Group Policy settings. - - Some of the settings available in the Policy CSP include the following: - - - **Accounts**, such as whether a non-Microsoft account can be added to the device. - - **Application management**, such as whether only Microsoft Store apps are allowed. - - **Bluetooth**, such as the services allowed to use it. - - **Browser**, such as restricting InPrivate browsing. - - **Connectivity**, such as whether the device can be connected to a computer by USB. - - **Defender** (for desktop only), such as day and time to scan. - - **Device lock**, such as the type of PIN or password required to unlock the device. - - **Experience**, such as allowing Cortana. - - **Security**, such as whether provisioning packages are allowed. - - **Settings**, such as enabling the user to change VPN settings. - - **Start**, such as applying a standard Start layout. - - **System**, such as allowing the user to reset the device. - - **Text input**, such as allowing the device to send anonymized user text input data samples to Microsoft. - - **Update**, such as whether the device can use Microsoft Update, Windows Server Update Services (WSUS), or Microsoft Store. - - **WiFi**, such as whether Internet sharing is enabled. - -Here is a list of CSPs supported on Windows 10 Enterprise: - -- [ActiveSync CSP](/windows/client-management/mdm/activesync-csp) -- [Application CSP](/windows/client-management/mdm/application-csp) -- [AppLocker CSP](/windows/client-management/mdm/applocker-csp) -- [AssignedAccess CSP](/windows/client-management/mdm/assignedaccess-csp) -- [Bootstrap CSP](/windows/client-management/mdm/bootstrap-csp) -- [BrowserFavorite CSP](/windows/client-management/mdm/browserfavorite-csp) -- [CellularSettings CSP](/windows/client-management/mdm/cellularsettings-csp) -- [CertificateStore CSP](/windows/client-management/mdm/certificatestore-csp) -- [ClientCertificateInstall CSP](/windows/client-management/mdm/clientcertificateinstall-csp) -- [CM\_CellularEntries CSP](/windows/client-management/mdm/cm-cellularentries-csp) -- [CM\_ProxyEntries CSP](/windows/client-management/mdm/cm-proxyentries-csp) -- [CMPolicy CSP](/windows/client-management/mdm/cmpolicy-csp) -- [Defender CSP](/windows/client-management/mdm/defender-csp) -- [DevDetail CSP](/windows/client-management/mdm/devdetail-csp) -- [DeviceInstanceService CSP](/windows/client-management/mdm/deviceinstanceservice-csp) -- [DeviceLock CSP](/windows/client-management/mdm/devicelock-csp) -- [DeviceStatus CSP](/windows/client-management/mdm/devicestatus-csp) -- [DevInfo CSP](/windows/client-management/mdm/devinfo-csp) -- [DiagnosticLog CSP](/windows/client-management/mdm/diagnosticlog-csp) -- [DMAcc CSP](/windows/client-management/mdm/dmacc-csp) -- [DMClient CSP](/windows/client-management/mdm/dmclient-csp) -- [Email2 CSP](/windows/client-management/mdm/email2-csp) -- [EnterpriseAPN CSP](/windows/client-management/mdm/enterpriseapn-csp) -- [EnterpriseAssignedAccess CSP](/windows/client-management/mdm/enterpriseassignedaccess-csp) -- [EnterpriseDesktopAppManagement CSP](/windows/client-management/mdm/enterprisedesktopappmanagement-csp) -- [EnterpriseExt CSP](/windows/client-management/mdm/enterpriseext-csp) -- [EnterpriseModernAppManagement CSP](/windows/client-management/mdm/enterprisemodernappmanagement-csp) -- [FileSystem CSP](/windows/client-management/mdm/filesystem-csp) -- [HealthAttestation CSP](/windows/client-management/mdm/healthattestation-csp) -- [HotSpot CSP](/windows/client-management/mdm/hotspot-csp) -- [Maps CSP](/windows/client-management/mdm/maps-csp) -- [NAP CSP](/windows/client-management/mdm/filesystem-csp) -- [NAPDEF CSP](/windows/client-management/mdm/napdef-csp) -- [NodeCache CSP](https://go.microsoft.com/fwlink/p/?LinkId=723265) -- [PassportForWork CSP](/windows/client-management/mdm/passportforwork-csp) -- [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider) -- [PolicyManager CSP](https://go.microsoft.com/fwlink/p/?LinkId=723418) -- [Provisioning CSP](/windows/client-management/mdm/provisioning-csp) -- [Proxy CSP](https://go.microsoft.com/fwlink/p/?LinkId=723372) -- [PXLOGICAL CSP](/windows/client-management/mdm/pxlogical-csp) -- [Registry CSP](/windows/client-management/mdm/registry-csp) -- [RemoteFind CSP](/windows/client-management/mdm/remotefind-csp) -- [RemoteWipe CSP](/windows/client-management/mdm/remotewipe-csp) -- [Reporting CSP](/windows/client-management/mdm/reporting-csp) -- [RootCATrustedCertificates CSP](/windows/client-management/mdm/rootcacertificates-csp) -- [SecurityPolicy CSP](/windows/client-management/mdm/securitypolicy-csp) -- [Storage CSP](/windows/client-management/mdm/storage-csp) -- [SUPL CSP](/windows/client-management/mdm/supl-csp) -- [UnifiedWriteFilter CSP](/windows/client-management/mdm/unifiedwritefilter-csp) -- [Update CSP](/windows/client-management/mdm/update-csp) -- [VPN CSP](/windows/client-management/mdm/vpn-csp) -- [VPNv2 CSP](/windows/client-management/mdm/vpnv2-csp) -- [Wi-Fi CSP](/windows/client-management/mdm/wifi-csp) -- [WindowsLicensing CSP](/windows/client-management/mdm/windowslicensing-csp) -- [WindowsSecurityAuditing CSP](/windows/client-management/mdm/windowssecurityauditing-csp) +When a CSP is available but isn't explicitly included in your MDM solution, you may be able to make use of the CSP by using OMA-URI settings. In Intune, for example, you can use [custom policy settings](/mem/intune/configuration/custom-settings-configure) to deploy settings. Intune documents [a partial list of settings](/mem/intune/configuration/custom-settings-windows-10) that you can enter in the **OMA-URI Settings** section of a custom policy, if your MDM service provides that extension. You'll notice that the list doesn't explain the meanings of the allowed and default values, so use the [CSP reference documentation](/windows/client-management/mdm/configuration-service-provider-reference) to locate that information. diff --git a/windows/configuration/provisioning-packages/images/ICD.png b/windows/configuration/provisioning-packages/images/ICD.png index 9cfcb845dfab04cad5b040a16ec50776fdd81a89..c5525201f1931b84b7680a1f2bf21b91ba940191 100644 GIT binary patch literal 29688 zcmeFYcT|&Kv?h#7Q7j0k^deG31O%lEh=NEJfzX>oX`zRJlz@T?NQp@A0@5J?q?aH{ zkq&AIBs4(?Bm|@+Kp-$df8U)u-^`3cb~nV{X8epMuysF znYo$i=;+SsJkT_zqdV?MdtErmNc*Ho@{Tg?&oQvE_FX#o5brYW4ZX95fd(C2HSF~M zV+Pv$Q{E3O!E|)zz8t-d^>~#$p`!!G>1b-0KC>gX*$zmdAv47>bVRM^j3v^>KR8ag zy}u@SAs#4p-NE!2_XVV&5yuT?`^GzN^jbj~`QmRcXw4VFf#Vl#B8@z(AeQKQ$MM%( zT`BI7L?7PfM}UrZB3AjGUM3%0LLX>HYVY3`hJ7vmNM2F>NVWnE-yGf>+6x(6W7+o} z8mMU7#@K_#HrIzXk!SCoy!`UKa@2#)^GE-k6K0cnN&7GFM6~7^+81}1?g+8o`*X?L z|Hvh-UeV(u&>FUN4IZrU@Ynol0;O(nZ#uvOtSXTIl+@W4AbIm4c&oE5vt@c4IVdN3 zlMp@F7SQGeMz@`g4aJBBc<2H?F3Jt|SU4dvu>N>+4!w88@OhM05=guKQm{bklGmFa z?H?0et1L^uk{wYM!6EI32uHr*?Z;e$hMgHag@HFKnU>wzt4n#ldVe=Ma{|Q#2%s7% ze7??BeeaE?dyR)P*e%*ZCBcpHzzy~`DsPh`dOV5yl+l{^El%?b?l^w$5y>xR*7k4Yi*tlga*qR3&4)u%3eF}Ak_HC6#X>eRZJyI zenB=_pe|y)kyM0`GIk4Gl^>uc43tViX zL>Vu-q09w;82gI9{I*#0bT3auT?6%c=$dbvT)@u^_KE5N(uF29gNlL=KK4I=yaNeD z7-?!}WwFj=>b|-Bc#mQI!=j-Y&*FU!BF3MON!hqXL#V#1-FtfPbf9_$3Dh&;8cCAs zI{={GJj~8@l{P=Xa6XQYR6?NhW)z&V{V%>;?~0Eji;SP3@{Zv?Oy^M-ErKn>`l@rb zk<&q~w)W1or3C#0CMcNT@_F0B-!>^w0z{^GLn|-?iMB25pqACd_mq!7`_~qa`v6^i z7`;6+_`_NpoFQ0quwx`NtP8DRBLTEDcj^&porXAFyKgD5n8b=g_wTqzpUU>9)F62T zxmx|)nL1gFmLDK|65f%84ho``o`EvuT1)mhvNWh96JEZfo= z9ulCM9EWXy)-WS7<*wp!?rtWFp)U3+g%niAL((|eJ$GQRYsh*n#tyw8dSfBiw7h@Z zM;hsN*fywzt%qKNpn-Bf?ZMNVhm|b7$Tsan<=idEj6(TWT!=e0W*>F%M3BFUu?E7LlRFre5dU%VhkJnUGol zv?ZBZW!Tq<0^0Wd&~meHAhw0x9>BERv42g<>k)??8dbz**0Wl+7?Ln}EE?=MEV7qp zry`Y2ywOt+pKRz8Q|EZ<(d64#M1CA8i`v1}PuT<$lcGow>Sh^P{qd&pExibj0>h|! zRKk->*0yUU_|_yY#yYP(tA>)PrYEZkogZRzOIbcLd$|^GO!P}#c!UT0dG-n1%(>SV zSb*ZWA3_Gp){nw~woZ3F<8jHUm$Yg64No$2wpWM2A&IU?#Wf&ErZcnm0g-+w^ zA8Rct=*EDEO{XRxY2BYIIxwkvwZuh_y`a+l%#7`o)XM&0;-$eQ?O-YV!FYA0he~1n ziiKx+f%z1oJ1cF|*oiauhkvRKJ?`D^FN@#_AM!juF^;%tkNTd$GY>)y=krm%b8p%` zQupNo!-V|RhReaUs!)^i?m~D_=O)z{($T#zv z#{_sV`hQW3MTc0s*?#!at!%mhbjKU%&Vv?#rsapE-KujcDJZqxr@HC`K?1)PubANx z{N{3Mqe0~%P5RiPhqig%t(XIk%z$=*F9#N9LCC5?fo8<$?Lu-sl1t!=OnHCwAret! zU#YbGq2C#nra74!x41yWSKQ=G z)nHI)cJ?aFQjdeECpWCC_IkWdL17i;Pm-HC7{R%zM&YY#NwH<)=&#EZn^w;9p|vX4l^tQg0wCB|jpKaoFB{PD#Niq`A@w&acgznA zdg%cLbJlwPc~SMS;29^t&`u_vNMVQiG_Db{kjX*K%0(+vLUCxV%4j8NU1%90y4#5p z_Nkt?|4g!L-3eCFl+^r`fNCD^Cw0E zbXnlq1VoLD-s5bT!S?RQlYRhQv7CUt1+U>Xp;k0hZa>&QO^d~AC@C8AyB<_i(_8JOE&M3 z)4_>{5Yhz8F8-x;aCc8tWsttH3Y?Y##}Q*{b+|oWG`xRzRKfL2&c}=lrUX7`_0`eo zlN2}QN7R*}5uu5kRgKar{Prd9qBw&aLiy?`SyLME8#5m@m7{s^xWyRz`-|J;+ z89@;TV(FVd(>QquU&drh1v>b3<+1Y}tI-zdiYKWX@zFfLf4JbhZ*W4i7q53u7iGMi zoG3d888WCL?rTn9>Iu30gHLYCyd5POBXW}~hgtRJZ=vkWYAp)7jI+T=vRW;N0}_s3 zp_bzU_V0!&ICrEzow{*>0mwn>5J!CMt0*T}!N0~CSf&=<38?6&R43J;cTprzxpa1Z zQ&fn)f5$XuGCBkRZ)3TiDGPJEZn9SynB4D(fS$rv$wDrv+qC%)=r^6NldK`)s$Cf! z3HAX~gFUmst!BmO0!foaFFke5IS_^Uc>}RW%ne=3u_B-#8hFMpWCi`$HY^Mdm)Oli z+ZOv<0#%g8?EJH+jhUe$D4Y$CtLjqF#=c8t&Hb(B-Ua+(&(62hQNqYIgtKkO4gN>! z$_$%HcyWkuuIO0()$E&u$JX}8>u?q*zB&CAB#v86kjw)0dfCERq0JW-$6gM z(pnVjw-}UmOKU z3@gv+LpVT{4^gCBhJfq@_YmoYg3u@Ffi>%5q(U3QJ{hJmDqp6~4vjW-)FQbEw+wx* zOO*q!?vWM=SBb^nJ@sqXh;n(@29pJ}rr1ZuYXZuH;#bNRAHWUb62HBo!S^9s|0_Z- zhfF)pLUesUPGv-9S4BZjztKFC7vnYukhr^4aRG@PP3nBTtAiD%Az-CJK0VrP75*Ww zV$Ulx>6NBzS|z6ZjNNBzTHCboZb37@S{J@yM}MBHsz z9cBo6t=@q2C57d*E$q61bA+?Q>R)<<(h(o8I9Ia!iCU3=qCstkiBWlNF`6s4w1oT_ zmC>5l)o*`fXn*GepdskH!j8C#E6}_9-=fDaLkyu4mZOvm+VvktAHff=*hHiX6z^y+ zOBabGim_FTXbSlc39+{LCPXDfRay!=ZfXk2KNNPndFzZZNxsVdcdut7zhqA6h7gYm ztLw1n7q@jQs#YCfPjj>6)*9CbS-9^;()FQ{lZa7kExXn{Fy=1#h5e4gZWeOS+PLRnYi7N__tI}&+xij6eosfAxk#7 zn`F_y-Al1dO;=ca3QcatghDc`0`hBeVzQg<5G|g!!yBLO&EvdMt69dpol4MT=f)Ac z!_Yy0U7}m?$Kn9H6YOP_lG?$@*NX!&<-y>Ff}~kcN_U4Kbs63e)C47^|V$4Y8+A zR}qtg$2~WH^?ax`*{`IYTy({%>6M|4Iax9Z)=&B#4q%_w1q(T45t;NMRhcEA=7!RO zAUa>1U!)4nhr6GWl1+k)H(n}-)f#Z=uiYcwbv9vCmXrq~;>0d)NlQ=rRHwYM*dBEK z21A}}k2an8zTpcS6kmdDSW9o*wu8#3o0DybATFk< z;vpEQvPn)2BSTmzC%OL$;b_`jP1>{FzE{5e#STGO^S~={LhI&78Yb+3>y0Q}Z5#nq zi}anLDw~FmE2WuqU*+BI%e{?Aj+@E^ciWU*oGDs_o2!S`4MQ!l(!_fRWCef!N;y|? z?|4u`HR1`{Jivx*V7!(XqvXUt*)-`q^;E%(!{UU27Bp-A-utFaSuPW0t@$Sxuvx}9R9*s*q zDs|OQ&qD z*>5Ahl5Y-Xt_GBhO{Q&@LR+SJo)Q(6(tSC&f(wrl9jfHP(G zmX}=_#Qe#a{VhW?e|J#bn0aL&NCDsQV-5X^EKc@nP{PQc%WFqj)OY8p&2abQLnQ9| z>4su9*n@F3&EwjM_g6!vP2WAZ*o}Pn(5j38ZwWV0x;C*y>F+G`k9cub-VhM_etauN zZ)nigL2K{;fE=`K^-%wIw=_h6tJ}jdFAjq|hCMLczG5?wT{g&Bk^I7VY@nQPz7IXd z{eZjYyGh>`kJS(ZTxIvuw+7af+U<1OgB^D zh*3%z{<~Q#HuC|4qr5Y?K9t;drgGEa`oL4&&JNdk;u1~D%=@&Ex&m{J z@5YKf0|=P2-4GWQ!Q{369dbZsLC|o}s{_31_l!hC;FP4jijM7S$dHw2n zLMQ$v9BIP);oI#qq=x(`3-7z5L2;MutlL|DUzLw zi{n)C`T$d$%;~-ipJkj4%tU~L5xp1-bOGYUb&+FWhaMrTTvC%FGOA1|V}8%3so9C* zkc^*@mtNf#`mIBC8W?-&*T{XlCqXyzYfw!#-7Qzym89_5@><2VE7tX-U79Bz z0V3_PBnPWc;VQPhvIwu+U0dhr#B>iBiN#9%-9m0N5-5@T9rw%73x3dbZck7q^wvzJ z>~}~PFsm<(!nC|TBg-L~?33)zh<*}FY%)9w6lUrT=tr6_Ub1B(vq*AV2Bz7$3X98) zWw(t%Q|X(7G*^gXWu+cb7bms4ktXF~qk+Lve|M1QcDb#8jE(J0XjO)sG;#g=n{HRD zF$MKQY!7n5`p4QBMH1h?(@gON<6N+cFAvOuix!-rNI5YRa3K^6MM@Q)hFaRQ1ckx* z#&y%H*Qn0{5u<1Q6rTrPIYXKdOhL4~GG}O>%$ZKBpZ+l9>6f3eDqgt()|7>hFCM#-Vjs{{ zLB4DyoxRWhHQ2di7^ZE1zjEPpY#X8dUFMpse9-mqgW5in9=cZL%eJ_^gcf9Q{qhJo zFu?@rx!!U3xU0T?3!*X;dSIJfI+N{nbIj9kdK*w?x_)EH*)oELYw*te?alAcT}B5`W?U8v`n*v5W_47kmnRw z12_8V03HFjeC^AMhwmOb0lC!+;^f}rA12m8WZe(-v9=zbCR!Q43sOCL;y?1oaAjV( z5{lY1+UFB!Nbo+;lvVSGn4MND&-pk#RMxOgErAkIUSrj2?U#E%&4$*Vdp6s^M0ZH; zBqf9UPzaDZ+wC^p%#9ef02b<_hC_x1Mz>lQ4zz+L(F!|`9*aq?;xMo~uIJ0c;%Xlt zKLU|b56`V7&(#^Ny%-YZEgtRe8dI7t@z956APv>!L$4Unc1t( zu7-VXR`!T1uC5=7aSPx^5^wyJR`E7zvXXT0 zEHK+v$e)@KSom%xR9LS)_Ce=}Okc>YfX_mne8p)TwJfyn7u8gpzF!w)lkv0BtuDc0 zaW$gR);;2j48(gXB7cFZi_*UXy3#JGeg4gUeck;C+p6HhqtmF-$6qitWy2^vfFGOK zju{UHts^YFB!p37CFGXRg-v&;?yO$Bu)lbrnOST2Y=7@|f(Q^tNg|j$a}uC&?){(! z&6Sbp^U>ouKb}1=k3CEfQT+p+4J}oK9l^P9yA?Q#fLGi$`({E>+Y5}niaEMJu~ysk zu2cVD(~AjN`3?#7m7un91Ci$k1+AD@J}Y=JIVOl9xp4nOjH?$YjHumHT63F`vPT60`BfuN(O*S!Kc{6o)XYDkic!;a<^1FC4&xblbuh&}3i-n%A(THW9KzOm#2nys$9zwj&0vMjF z)d~AeUu-J`pmHmr;tH;7IMaaK#%(J(4*$tEihuc& zFLm=C6dB&V`EJub8wsMPHOqWjoII2Zy*R1FypMjWH)l#xsp7$#3}H0~cAxePSF$R} z4JB5x&{~i{w;s*w&w9Ry&omAg2v4Q0#EGCvy?)e94qkuI`Rg@cMo~rU6!!hJx_Ng_ zK(uy+nUGN~tmgx`R`-7Wc9)n?ezq4TasEo*fxpMuaW!2&_)N1pWTv7X5g85nfbob6 zt9&+zC;Qs^+gJgg4xzz<#9c_GNB!W$5cm!4aSKD9u0_4-z1vi3{sW?{0!@S{bO}D@ zbP?fRH!wC8VY;~|anQ`udNo;EtrKXRoBKUgu_+z=eKj$*WavTn%#Tz|nElKH-$Hyl znoK$mOE+j;@u@H~w#bFyb#b4oE76bSm;zfrACMvvDVNML<(v&!@1D#?`tQVB5S*MY z&fLj7rT3^Qu#|B!t~w!#=-*!E_1+3)ps@S#P}99xdYxB)rgl&E`@GA=9Z+8_dr}2g z^!TqJm)LY$cF(w%Zk1D%5L5G(T#|CxqJ!RyN<<}CRkfJb!3}BAf^c`Sid3Yq#^{D> zJ%tBr9IxIxD?uL4&P|W1qX2TfYF#no)2XM09UpyzBxqjG<-tr?X-n)b*LkScb`PXr z?O-K8^^$Bb%~sS~ID%5zYKsfjW(^5HT0y?QZfD=1OtVbfFl(l+^2+Y&Yk;Rb`E@F> zoClc1Tj;x3gr2bdNCYuF{bn#;*RIN{2R*M&=zF&|Un=X_p)}QA361vpov7e}hOKxd z*__G9`GPEcKV$5h`V?}jZL*iP6cG9W?7A@48w%Z{ z_osgO9=};b?4ImRsa9}E{iI(yxpcbThAVMBf&X!4elK#1I3B$IL};uu2LVS`_UZ+n zBhY^#WA~iUx&Yj-peU$|=v8Ai?%@xzp56BI6^NDxbqVP=nNUHO_Gf=k5g0RMk?#bP zH4`mGB#zNK{MvF%^jS>g9KFAe&bO|8p_k_|0Aa^q*68ua5L7hhW(+L~9fer2F^!J| z%*?Z*1}Qn*w3hsrmQX!MLKL5wd16%DOjzcg?Oj^xD!KG;+VX#2`um?X_y0Rtv86To z$R;v!+hf|?r&5LHAX-2#F5QhDXWyPiiP#2stU`ryzcz;s=33jJ5edKlNT1hhgN6K; zG^741q0aey?A2oO+tVakQ(-+rzUGhq-o8=2Pdz64Kf!u|Trd_FBP=+-Wu$oyEx(zmS*FNAm0ybTaaaQ{t7wQO7*^_Xz`0 z$AzhelYg~aK7{{%eA=OljF}2+=6??2`uT-f2z8q@rK{`KieTf_e`JM^CvK;H`4s<)}zVf1uwUBqh`o}!nX8M;e(gwozcMKE&HnZH-19&O*Uwm!02 zQ+r|J_$MEqCB(Zg2r3XiN(@?K~IMUY|fRh-HKS5q?70%9Yoqs zPX=zc4YKUxb6?7v{2BB>@fB@Q$*d@7Ab41BZLz%0Q+3nbq5XD%`hnrhEDY8)h)#*PRBs*Ntd=1vxwc_>Ok{Gc=N$B%k zKXhTg}1&E+by?E^x^+UTO zmpVG^rM9czb|Z9a+y117WI)(fuT6ex$V(rR{g{~H8Gr8if-DJ-cG6-t@?lq`@nMy@ zc9^@R_$GT0%$#~-uf2S&1DAggzxn9a(9|;z&IrLryp(tSb=@sH4E??(3IDw$2plvd53p;haSEeUg4uqItB`CDl ziz@^_o?LnCZJ24A>_PvW@~l>X!0VdAXZN%W++}{T(dLuM!nN13kG=thcJC-BB?hUR ziCF`v%B&K{TD}{>;Ciq?zc0o(JRL@yJJl@r@!Es8RBY~!+cOUy<5k%XfXh*!S_K!m zm9KO?v8Pyw$RdjYZ8#;S#OrNE%ppKeNHN5L!3 z`u#<1^{GhuJJ_-ebL5t-zEdS0TlpW)-Zkz562IsI2X zJm8ot==aTQ<&^Zajh2maRVh@6T;Jy)*Q1%_D?XZtnn7sro_n@P4625O z4_gG7)#tJ&rJStFdpH;b@g|MarF0viAe)1s?%C2WU_Rk4)Hqx@;L@1h(NkjWitaQT zZjgsfEny{zvC!6!O|BGhp5_3Bcj6YVuikv6dmYZ!U2Ojl3d709Sky4TMXw7xx&dLh z0&rQ#!SQmq*qJH@_LG%FZ(fEK-__&C{7=5WHroWgXSDJGx`q$cXWG|a2)<~PE6_bK zHXmZ@aZcf4fG6*okIj!Jm#m+CZ`H+9aeJDY#I~Le~Qf-!f~welT?;tmc_^TtE}HMv1QZm z>ulSa2zP)HR%Yi?q>PrIe06zXD#hj?hDRN+9B>xa^FThx@WL0G8N=r2CB(OzP)=!n zN^-{~Y`7Xc!z5r(NhN^^j@7-DxF=#^zWlb*UpFJH-mJ(;23pT)a*D~Ka!h;el7%7M z7+G{*ATGcg?$+;i)x4n`Fc|knMeQ=NR)w7E`ITerLCM+Cl%R+8}T#mTA;WoKdG9!{aJ*%Dz;urFF}%y_cbt%9Yh12pST<% z%3ZLz?>YLszUu7u(@z`~-Es9E-amsrXU9oXSFU8v1pP9bPHqd`>~D~t*}X|rSC`(e zoC%UoU4opYP1j5@PiJtl0sG$I+W>9P}-B6x$Dq1P`7aO8H|}p!obh zW}kX`Q^_n)8P)A#!LT4WLi*wp>!Z@Io~28RCGy*-T`@KLl%J)T+i_fGZ|Ko5rVhZ6 zwe_hatI?04(_zD@-|USp_OjO>QlxMHTq&Y0yiIlzp-(U0am5lYT6BJIwkpe*W{CzW z3}e?Ymm8VE$19A&E9lVzJ1F&29)ItkealvSNo=elQNNRJO!tD#LgPi7S53#v-U{wf z+c!*UnTuBC&ATf!2f){8&f@*^sLbC+#UbRiyrx1Ro9S0Mmj&uCE(pBjJDz{=*oJhX z#aLUy#Z27}tD}Bu+O9lgf_wr=r~OGQyqty}+Ro6zIQxBT$(+`7fUqxi{*nlM1f(bMrny%82n|73#QKGw%{MIcK{ zgtIP0m(+4cSctR3=W+*$9Ts{MF>J?Xvk>wGp|q&!9^d`JG2h0}X^v`RN+xA#R-nvO zxUP^p@{|^i3};3eFuwC0V(O^QqUX72;p@#89t~Zv2u}dr+Yj^wAAYx`-kSnG=jzjg zijJIx9#dpH*l6Qmfq#A^=IH-0pvLDjHZ~Y?J9WF^jfNUB35;cz39g`W0b|3*nV1%T z(Bh%aUFedhJI|*gyR+NJ3eL%Qsht!Zd|ztxqEBZlk#AF*5@ zy?tm7k&kdXH{J~I@ZSLB28m>#w$3^{%rf@AXthz#q0uj10489 z8;Pda&_=p+P=jQ?^+NYOXM}U*jagxoS9*)Xhwvyfd;1WN5)%fAN|};lE2(R09e)s! zbV`&#SL$W|k`MjjQ5=O?G2)d$e#ZeCD-l#*Pud2zQe7={Sm z>KJCa(!s=9stnXIs-h@TO+>gm@=!CQxO*9evjV9{MNI z+`yf;dG%+9$AMvg^UAT^oZR3a4CYE|b+qLiq3w{de>VRKA43`#I70n_6(WDpGt-@L z!WtuOi))jM?;Is4cV~mYw#RScIRDyCbMpA-qbp$|C*i&!_zSZuT1P${zUrQDTl_FX5nNiO&@> zG-uPg15l*mi#N0!bLkgcu(5BwiOKw^i*Xn{FZT8*^@fN1VrkC_&_;0BL!CDdf{_<6 zIe)qe&}+pPwSVsWnL0ht0<`@*xW&!RQy*vR< z0`|^mfJWAh^I}G0bJ62WYNW+Q(qMyp?*7iR)zwJ*wn@iChOoW5!MY`G8ztFd1&EPK zXUO#nwV#oGAWN}hLr&%=tCEGR=Q?*avc_5G==*5fGtrz8;%!TRd__a4m<|L@H6L#9 zoHWDbn}1Qc`@Hg~Yr>uManz1tzY3brbnot#@Zu3GY=G=-Qbi9I7Z3JFKYJVCSBCxG z&Dt{gh;IiWDPx1?3c2Fw6(Mxb?jehs81m}gPvASU!QDOeR+4Qp3X!ql1l?K)X$#v6 zswh~ETn#I;CbdzOdog8gHA^$@X0{>%bCWo?G_MW;dMQOyb#Hh&G+2dxtM zyH?M38|`0`7P-RTT(8N?vf6T8PiC;jmndl7{N$hMRWgGyBgVOeMQ)Z#wM}%Yv(pa@ z-eoFaqr)HQ@nt`D)$0R5Vxg;8bEuhy$d*EGz~(I(#-Zuhhs-Wz4}s?&0U!5>lkVAm z_s}+#r#9keOM7H@N6y@L^EeABb1)|j(vNqK7af{+__)v5>5*{rL6g(dlOZ4JC%?fr z^!oUfBrRLKsp8*uN=Xad8H#yhI?fgtV^BZ2$;+OUt~k2)e%tAlmG!-BH+3_p2}pAH zVOHAlK;k-|jOF!>vb(uF992`DC?DV`R@U?0l0i9)SXVm{H_7O6oeW?3n9PEaHtDV{ zry};gNs0Lnr}Er$8ZR+{nvo0JpMnYCWYf1L-Ax%RJXgC9&3lUUr?k@>;BAYTOJg<1 z#=JfR@_e=hXR6;tRSuUMSPjJ?1zevGZe=R8W3o6SFb(H`<+zR^9VLIrxEiyu7cL=` zLB)tv$npTt{sTgYxPtA|HjJ>vn^0xGwvsMv6>K~e`jkRBoCReLw~ml3`yek!Vw1cv zwhA{^i^6Pbf4LXtcAi=Y4sJ*L*B=sn9ksKT7Q+>N`~(rN+AC(HSA#D5oyIpQY&a6& zrE%h!hV35Z3Jwq(50|>7g;qBS6i3^XE&L+Z<)f(pPp8EpJG{cPf$!>q#dh`Tp=Q&C zm!|I@61`3z-&J&QQ9!Z7G>F#PasrS$A3Ho0$3pw+e!$+hr3|A2xpJ3byrL)Ea|$xO z@I0Xbt7F-NgV!{SK!cRR`0p6m`Mens7wE4MEV3=|pqn^&&#mo8=*58y#k;gTLgFOh znh#jT?pveatH7zlXkXW`(z-0n3^L`r&!-X3GBJLd=i=SeC_a}Bf6QxS-O2A_m$@ui z=57*ZSv|uUq3``8vr!o?Uu(5B)qeFuos_IzZO#WbYH+- zf5HcxY48|>f>!Lcx7jEn*);_DoXa-+H*w$d^TLdWvA#vIl>;w$w>=2Yogy;T;20F* zS|mlw=j}FBTde6{NLOs&CO7(P;;}r}ySd zP@5s$pHkHBe|7G^8R{oAW*DTb-0m}Iga%~a+47F`oAYHHbj4@T&| z*%g_IG7NN0rjKkbIMUNYzmc`p;4##|rICj8NW`EJ0fyC=r{Ev-4*HP11D z#3q5%Z6;!$&YRa(vt0QmwwvbI$2hw~gT#!H=iR(j5)_!K5lz@RMP$5tJ(E%t{iaZ8(ZQ1Gh4n*ezjBo+;DINMKt zQAbhJxx-s~EIu`*wNghdTy+WoZ8!gAMH>Ae-aswTA@NmQ((68vz0b-*=WBY$DkjXb zoyE$M+)oidABT^4D8L(|TQ&NkHtBnZ-+sPFU{~7H<4c3)o?bbU0@~v+rHkSv&J)r& zGbsMUiTpOM@l1Vyzf1cnSP20wA@z_Ho!he zBaNsP2QAv3E1Y{_*y(OLcdX+4uexVK{`yM}ytYiw7yhR_I-!DHhHhNozqj9LK$I@# zPml2L-lG2p-jb@@`A4Q2>H2ew;NN+q*7h1}%)zaTbYnV4T?8#T{b#QHQ~GAM`sRb_ z>b3(66c*{9N=w<7=;CAU{nO|CH*$vaIaj{q0;uL&aeSc$dsAbI~bk_V(xHdii zXi##Gcqa|%{nT9P&kVK;Qn0Ut5YnAb>@76ytp`vTz1r)WF4>@09D|kq=o2$ZJdrG6 z9-F_hz6))GCb_wXX21VHZ-}@*u5wU%h6DSodpD4ca2G=rBDovtw&boQQ-x^x=-rSxbrUeReT0t#Vl)#9|D z@pe8}$Nu539lI4D*O>~*cg6{^Re!{p(&z}t)9CTWUegg<;{D645#^6P-+EM= z{$U{D zc&Vk1H`G(Mq9$AM=Cdmwp|Rd zf)WuA89Ks=VYkNS`ZxRFKdo7hZRqZPRHy6?ishDa5Mc)gr}HWoR$*%CdRy;cH{b{T zl+Nf5Lm7&PW5=Cao(EavZRA#1i@ml;u5HD#DG5+TMXAwBhTE<^mcsdK{@1VDv~%>= zTj6M};0pBD>LWzY5}k(mwEWs#p|WJ=#ww%QRWEmTeUnV(SqNm@K$#ab0eYIKeM}s* z1Zz2VwbbF!d_;XJvmLufQmA={n26G7qZ5O?+DT?fb?}``&fIVJ6(jHMc>|UNgNKWe zmoT+ED(#yn(|=J8J}W*ZK=wqr6~czLwYr}Qv4VD#Ygx$+o#ie$n%8mwwJRXotE{wB z>7|N`G$MmYQgNg%ev{v2%`d}J2kR8jEpKb|)dkyOAsNWd*50g*B z%SYZd00>GWLGzm0Nf#FU=c$C@IONWguVgKIiE+hQim1N;G;s6%57iwNI|=frg=glT zkb+a6eXwV&1~9AuJOZwu5f2y>p`sJ6SC-By1bPr6?m}&j|8AUE5#@_`Uq7_7@hH~UE8bXsIAcFjs-Z!pkcN0Dn6G(6FSAjtY$ICpLX z(;v|3G;u3D3HwBOR+Zv=7*==e%N=02RW-r`dj7$6HU}Qa>H5%Mn-zT?f15cvP*0Fs zXg7@;d-JuS7p!&D^S1ZKA2Dx}9DzyfO?A=VZ&JLpwF4@PyHT&-DP^0>jdkVT%=qo0 z1+B(?*1Y~k&-;QPVqT~7hbZr`HqLZcVeP}&5<)ujUHS7?*sCRtU=HRg_KpFDGZ#4v z94466B3Q2dZUledyt!4!Y-gK}n_j|3g=0-WUE!39-`8onJtHPmgAT#M4t<{4fzv6p z^zfbFjadwtf4Q=ZE8n?6&YK`t^>iN?kOu7~fC{URu-)D^q{2fN->7@pe(o)M>)1F8 zMY(M?!+26^y>{le$Wf=22S9+eQrFXgjiM6U&zN)Z}y z^ckAlmay{c;ZOmAAu!ZPFQKhS#7i$LihQrd{*mJxpu2as{5RUv5x78ZGvgXI+a1fv z&Daw(lm|X8o{Uri%GOt(`#ZJds8gOMXQN-=Wnu(FLC*o?$De#PiqFk*oT{RoBnUr! z2Qu|V5kTFhR`w`z!YW3Gn8rGAU(LauoZmGnWnRR1C(udQ4<(B^aP%hDUs3saflcP; z_4$|OCQtBkwBG?QYAG1zwWt5ih?kq%&5d%5*)-VhfX#F*%Ec!t7d=RC_oBQ9{uJXk zBM2=WS}Fb`d>s1(@TJ*Jij+~Kkg&_nx!3h-g39a>rge!Yth@i1O={{O zVb!;~wkC7K_m`WHNYl3-M+7L<``S?kxF;mPZn}G#O&!4Rpi1LepPjc^Xst`WQ+iRA zfTM1Qh*KE=3AZ2bAr3#Y4|%?!F|8~<#~oY^#s4l!tUG{6BVd(i>XL?8IN`sZHVBGh zr_=LwqYa_lt9izu@`wqx?f|6mI53>5nK_hr_zGQ5>#_)!4e73TiPPLjU}mePFgeUL z@8TD4K6+lK?&cBp32<0aLFuq8EgbIF&A#i?-ls zb~^Jfr8Fy`bL0ZM);#1!VXP7}6sNJimMXLb`2Ii2g3QJD zlS(wNG0jPpgf70?XMK5KF*m3peg`l8qxlYh9kwn}&DRKxSGJqE{mX8&%s*N36Eb0z zg4Os#Sj&vO`zS(N#%HB2+A@Ah6Ut|~O6c3yQ8fJ^N)#ndm)94<0A4fozS=LU$;9n)c)TCI&%Oi9bIqu0Ftzg^% zsMNCD46vD++uPLUE`E!ii?(QgM&Oy6VrdWR(8}6flE_T;JZg4qBP6sJw~EfWMW(Sd zxwZ$6I+R>yZMpU*S>k#uyH2g!irF85#90P5aRt$sdqV!_Xv#s1mv8E8x?rORo%bJf zV*Vg1+*eu>C}g|JCd0B}CC{2!z5Zm5snnd88czMUT7mhrS}0+$Jaae+`&R(z3&sn zy}Iwfyp*>sXX>X1sD}%{JokKb1bL54lU@LHr+Vs)b^-f*>aTT;iNXSQf2D!}ozD6n zsspe1dzvdThIu^>7Ki@XOU-WfpOs-RQ?e>!kNMmk6!Do`n$v{$uPN}TZ}}V^M&_hc zKl9q$k89|W(IJ?^id}DVnkcDH%xK!FI2}Au(-j&+q*qs{`ER}_V*oFXSfG`c*5C4t zc`kcQhh!ai$q!eZD*IGI)L^Stl6~j^ie1@k= ze$8?ZfJsy}r8m;)PHDu?lAxg?{OTSCeY4{7M<;C+R6SRNkIkU64lucABuUB1s>c5( z#pJ{8&3VnNrJnNDFuVRjNpbBgBYEuhhTmL5PXOnduVEYrGKnRSKg;Nk`!>h%tJ*>B zLq5w@WZx;QAZZAoH;rJ!8(4=U!V89w} z2PXQNLYG&((vMVuNbb7(KX%vos?#C;P3E!fWv~Pm+4%VuM$6u5xFqB{u_UtyzBcaC zJJDSCJ^{%t=GTHbY?l5**{3z7LUvDz-xQ8?BYq%I#_cwNLOsAUUm?wEr@wjSIs}Hz zlZtTa8+p7fGA@;`7&PqqMIBu`#!mZaUK%)39fa#xSHi#bkgXb7uZJdzG}nl6INUV$ zROa0JfrM~ctFrhT_Enc(VHTt*4v*4~X1zG4$zC0FhS~r6{`dpSQ?tZSzMP`~ZQ2?@yi|VNwY= z;e?#>>5kp2rhzhv`FmMcdz_F4EzK~ zV%Lpx^qD)68wA~a>ju7#Mk^(icTeY z2M8_n1k&FX+~?f$p7Y_3d&ju%xbN4Dv9jizYtA+2^Zft6XWcKFJSB)6hHIT`i0{G5 z?h65oCWmVdO^hQK>@kN9X8m}l;t!}R^P#Acs5EQXVHLbN^YK#pIKsX6V7#*b*zLkU zKie_DBbhbCIb}pgT{**U8y?pDd$5%Zb32pnE+>RWe41#JizR)~g6DZxIrw#whwxmJ-!}TmsT%ld?bMkCl_iO}fYN zJ^cFrrPLq(gpAAjRnxfvFr$c-BfLlT9I!`t0mpZ*y&;nRK&rJw&p6rVC~)eR`-eGt zTnsp&*JD=+n^S-bKFwezy1+38m|h`M5wS`RUB)ZRUD zfCs`jhwG~59*cQ&PJFef?#Jr>=xcZ=$1_Zqxg`CAiis@VUoov-M@OrZ&;>cuU(+7&NzGZw3OWI4P-^WYq!v9mP5bi zs|Eu)aL3^%L%Rukrfi>&&K1ilYh~!@PI`G+t2+1_Tw)q>YXAF7D^Y6-gpX%=NaJxqCucJfZP0UX27W?_divY z{wEW+|Dj#|uf0oP>E96nhyMa1z%}>Jn^^)z{{I)_o1+Fe5))@6$Cr?k+mAhh@9f6j zy9~jTtI+^Ekif&uzyCg$1n7vUCtS|JG-s7X!z!<0NXFAj_cHXBam+4~1#F<+XScyY z>>>CXZLRHOn36htnY-Se249wLM-ruT2Nz6niJpumLvPtE@dpQAAiAv-<~=DB(CM89Xo zj2c7ORVLuUjHmswn+G?tGnW-bq{gI6SInR8wlhv9zvmk3)5yv{jrdRFr-5A{V3W>I z#deFx0wH~TKd&xAw>B=(%vb8MT$a4l5)O(cZO*7n-6Wn*xqqpK1{hCO$pdddw04qi zEA&7J7a1U*`2kQRNin%#_;d-7B>#+q6@qXT(N2${n_Q2i>oyrg|8q`O0i*Rh-ax9d z%6Nn71!>Cinx}BhNt?1{;O+UbS}J9(^6GIEOy_jap@P(oY4DIoiGLju&)Hdv}`Z4h@8Fqe_`HgRnE30J2 z1-h?uZeF^1ZP9izccWhQjwodGgf(*QKT_;}9v7R`hpb#jKk6fos|Hy<#rUprnS$8N zDr2j~)_JB?cj)klSy;bxl+co^TvzZ-E<$koUl4-t&5a668O^EB7hC925Hw?c6b2PlX0(;5zC=Y8}YD?NZq`=?8@L$!xyqIL(SaBq7|o?FG5JzC4noFu#;2 z(`YoM6St^llZ2N#u2?VnO@BjWvgYaX(Fm(4)w#EMW8V=q<+^^}qh0dHVwdY{7OYt| zx^M?)bBhm!9|4B&<3mBn+_q0nq}x}4lmc_;56^z{vh97FLOem{5cI4iRVIf|{1yJG zY3B?yuInE(g3(7VzEe;U6-v%T%yej*(Q_Slvo>x8?eGrj_08Bc;ocLEeaw zR7;eb9q9x6LFZ`2LlJavNfPO^x~Yn-^cQLl?Q!UP`2mG&?-SEF&1RZKd}x1{ zU6@bLP{{3rn4d%ZrlpsNFD+8MB(D2VB%&ggIlS%lzI{u}AuhzTyP$D$mza zhdLwgB{Cjb#@Z2Vs!gAt>QHNwp)$yB637vEd>j)IdR=thr0 znhkh!VV!5Bk+lQzW3TMTNxD9K(MC;+iC6h%^IkIYSpx-8tu2oTny{nlgMGIu!l%X) zBGUVFt3SAp{OG~W=jija>GTLppGNmBj{mXngZRu*-LF$+5&H*vRX7iHRVv*qxx{N~iecBlc`<4K$LRp?-@ zv+ly4J5!Dp2)Q($P*O&D^S5|#L8(f&^dzn zWeUjF_|Cj#ev4Kcx_TslTL<%=ZJoT+5O} z1ga+NWAf|#;c5A9-xKK+=^Z zprF~~BthiKZRv-rT(WigT! zm?0dym_60|G?C)e5TS<}&#zs7k1wC|iWZUhoPK#&;!sG5=S9KsS>)@&;LbYfg}5Hc zUuFXJVl$`C+jxFbYYnv=LfG;6RJIj39=rWvpojNk(6RIABYlS!TNyRRgtSU@$b)lZ zgHX-yUPXTUHc19wKC8Hj_j!#vmj~{g3`^G|92M-Qb)kPJxcf z%(z6)!Jwhc1bj+jyvP7!m6a)kgK4gjUWC5%t9AKZHYg_HjK1MBY53$N0hi&FcCpdM zq{It;ZT>PDD`&AAJZ!bqGP3wgpjB+<4`shJ)%hpRRd|HzA^jfhU-oIAQbYvV9J_3C zkiwo=K`)P}NPZ6#&n|1Ps+<f3*l>ALSPI#_e{h$Z7$8JdP;s% zQl18D@qvFq=dZ?m0O|wC>o5w9IA5mkC1XuI9A}b+;G6l{sm9ycwGaWGe;}YyqDe81 z&&~^KeDPH?)YX72|I-cYzo5{@7bE76)u8fr4@!}G(4#- zZ#BcI08G>V74pcQ>w9}2yO|L|P44&8y27Tl7_xI%8t}KQ%$FYt^h)=DSf>o5PVO;y z_=~Q>tHWu`p;~59@@q|A@5Nk2npCE=f&GSFMCI_+?k(H})@F&*BvY322a9(fXP!gG zl%5Y|rw1!@Ryg$8ufFoTy?7p*a#<}e_4(nAfvBT%0ja9SKzRFpEP3@=cVc*N+^LXt zA(lgOxXA?)As=LLDmII$iebJjx;4>ZqwSd%+$tTLI#ZQa%f!o_B9+%+Q>9LiC~lne56iU;?ZTdK26_W5kd%aw!J&Rh(UY zZuG5aDLeGYi@M5uqw^4GQZO!JwbWMGEP`0M^`(jV_%ZE9!fBfP11p03&*QsZN_8Ty zQD#nKL(1(3Hy}UKZNJdtJ{?~J_@O>dyT&eE?81&q1h|5!_Xd;fbDP?V{-&Lgqgt!-plnf<{UFWehynHZIX$IIh^v!aZ90)`?yZ(I~{m1 zxmk+zVYhM^W`o$*8%T$Y)z>Gw1;ST1Ow*Y++@xuIH$$YdG$m}b-+Tu-dUk_E9p==9>Qhh4L!%oFK*`H!~{AtXwQvyPSjE z(U!PSlJ@-Yt`J<`h0T~PK-sslUl-rVQ}j4XxSA^MvpDMdGe&$43?PB^^=D79yCljo zuTessJl)ss16uYRe9y7b`rUb8@Pf%RSbFx}uKjeGmnNSzJPCqbsYCSgu7+vizb}C~ z{qEOW|Ms(`F~I84rb?Uq^i{1vB3zjFICw%t@P@#ixiutb2V{%+xDIA-PD-7R<3^|n z&n-=NPtbct1U5dyD*cv@mv;FIKRSI5oc`C& zx%cMp+Gb7^${$W8S{nasLzDfC;0f@~k{N(V_j!fLP*d`6zg#Arh6k3OO{^N3JvFe~ z&1*T9$ItDyV`x1X^tg&Hm65Lb?DWOPqqKB>)>R|>*^;z355;z)@jcRq8Ivaurvfz5 zg!Lmrp2M^7P4x>wD88LH-sN%u{cI>m!ufFv?j-x%H9 z7&K_`KET}^MubQ?KW9`md}dpQoUwf)#lz?{~$Z|yBkTT=+*?s~>b$(9*@&f32DLK-?Rkn{;R_&IOPoRpTvN_9+#>FoGpX79G(T)0)qRo zaH<(W1kFcH&mfpWIvWW`8QeI(!cTa2BRPS3``5huQ~>I^h!ba2<;R0u*FS;E^WSi` zrJ5!zX+IYSkKu9Zdm`m72YBt#y4VuClljvcuv<;{pMhXG5b01 zR5b~V%|vUQXxvT%h(iR_IOgoy*p1x<$hVOUW`<5lw$Ctxxrv+ta`SEi=BFF=QcT32 zKeKnkw7-{)uuB5b<4XoNgJ#Sy_`lu<)&F85|6iMk`)@QXP$_m~H;Y8}{=P7L71tS5 zOWT;s%b4m9oE*_y8w*2}XmcJr^G5$z!4gK>b}K_1#J|=X6C@YP#nr)3ffLBd-qpRh z&#)FTK*&N7u9yaYL$lwPOii>!a9OBDy5Jg@s3Lzx%Cw5eoRRTgp%LSPJtgi}`ARv1 zsn9g+jTIF?KxUm~>}xIcVw{}h!*Dg%NH19+3zipCe6pofc#5lt?l~kVKO*I# z%`b5~@$`ZsF+woEYNK;Br8a&TSKyZ!Ff!Nzc6fMINQvKIdPzq}(dZC`_L6=8&q+xSD(a1D+4k)1HS!2W}4ayZ0!y?xpy%Igz+ng`S8VRcpTrF*0XO@Q$?& z{8xm^Y@q^aiFJ1YDj5iV#Ic+#TOB&u2tZb-8-GDobVJ>LfvkoP>u}(-9aY3U4Xr4-GB9^#oq z6tYuoO!q^MS$w?|t|nu`L3w!R2B2M#VJZy0_|K06kfde+ENVc?QoQC{M=(Uj@L1uM zD#uaAi}i2BH{&av%mw`T`Yjx;n%|Q^VQ#^;)~m7$AIZ;qp*1z8inV(pmc}lkqu654 zlvHwXuu@V_T4kqo`szFSo%oPCusvxJo#=1YkCe<1WmSb+2FyXzsK#GPX}=oXnM7|| zCU$q&r#=MA;=_f~#=P_w_*Kw>X#pwkqzAcb-aLI9kZRXK^qJ0PH9CItPl+`luA@B~%7gnM3ERxOSIs@{@gdftL;bM+QbCfaqr@+Umynm65G zN0vUPi87DpTYXe|m8|VI9N3wFl)}Aqp7?|scCB$NRmfpP0k5@6y2~7VYv9$wWonSg zs<$sXD;4R8x3G_1&od!vyb1;ft4CN3Vh%F~9cn3`ect&S5s^+-3$$utbv?li?!F~;(W?q% z=7mHCVq0KDcd_VY+;{u(aehO}V!MKNI+O-i5iIsq8m`LIdfG7MPyy9y*Y}k8l02zDh&gdw*t~Yja)6J4!JaAVF zZXBBc1`fc?64h^y{Glj;xDp7uRUPvW#H^7=egU`RscGm`RAuW4DN|f|_CO9JwHm=B zJ0KU`q1r{hvatQ2Op)MVZ|3(8nCxC2U@GP|Zf~}{`;Nmqrvj7Z%G9LDD9i30RtHW}eBwz3QAT}&Gbv3!6Gq8BE zKH!Q3ug~gl@IkNdUv$F~^ugg8JqE4v6x4dylvq+=`Bb~lcYH-}{7{p?IU!WIDcuty zJw!T3&+`G&a3Y&VMLBIrMlg?#*yoNioi+?NmPCS&q~!FD(G`#78oAh!2VBz_sow>1 zOLJRa-4t(f?JMZk;w=kF+c*n3X*J~7P0CR|>*db)94%ZuNYzsFt6m!~%iLfSpl*NzIWDwf!a?2;5H?TKLfiue z+Zd|!c~Xd8RXZT$c9Q)ugp|bdh5pM+qMa8jwNB`6<=J3|?7IV>uSzV?Uu;eVJLc!| z!WL=hHY{5d1ifIIg)C9Z~QjeHZaSpCE?x5dXAWIYvLfP#b&spBEqXv`Toks zW_&~uG;7;Y2u1Vq86ncc7m*3j(3J`}^)crpk_+Vd)OlNC%DVX~41Kg)7s{aZ>*VV< z#ih&X8=h5#JL|);jVibXWxWSy#$S$ofN#O86V*RXG643WZ7OUCP`jCm?A+nsoHH@HPS zBzTj5d=NSiZ%%P#^$<+eo!>rG|H=~}x@CAB3v%OK1?EmFNCdCH1-6Y^DQ5Z1PR5WrjEW}}RD8kYo8irX? z6G!4v5QYQYVtDH7i&x3MgdGb|Bi>%g#!ZU%ep_v<$5yKon9UtX;9E-kFC6E8?~u?w z`JP*H>*GF&fHuAqaHiSS4_f<^@ORF-q#|Rc-x(ss4u5y&Rwi-CD@+KMcFDNrRMaqa z0t`#SKag?Rcv(#m6qFF9S8kgwo;jx~0L04E`*JMW&Ipdjl0jK{0{=Z^u%4r5g6=5I z6A%Jxkn9%n&jvIrSV)aS#pO4I)#J5`6oepke!LRGXuCEpa%kJzpae@+f}8gR%$#d7 zIWmJxnzp*;#0xW6-U3S5t2%!~iP#SC9!FW06n6z_Ez1DOtrNf*dt~aAVB9G|jXc1-vFgVBlPKCIR8``=bqOA%8QdY49fano(%;IPG(<_C)i4>kw($?W=X zzRPnVnw5!S6f@&30n_g~N*vBWMs&;8rxV5C+2+d>v*gU@y5V1f`rW-Ah*LHtS(&ha z0M6Q=_}eMZOZK48=i&DqrT`HvHac$gYEKa-`0W+mX6D!E7X;m`qK9a6_n|7uP4u#= zSs6z%l)Z>b5B-iS$jq-A2*B1Z%nhbA_6M*={b8@dN-)%~gI9P%eeQoU{jA)dnwNi% z#p8A1g1why>QWum68myaeSor%zi|=ITjvMM4?OZ{9ou1*J3~SJkv6n+msY{DV0^$f zTY%qhoJ8IbQj|RMjYDWlg)<)?5jm@q^vCRS;mM?D(Z3{=wP}2L`u2d-;mddT$K8@T zhbxarbGF@=&7abpsOWr?um~bq2bC%GD}H@<1=da+DI#{-6%j8FSh9<>O(y0YvLcSW zP~OVSQv6C3+O9Qsj}i?SG|(a}%(-+nY!#zlFZE%ERZ#J;y+AQ0Wto$oB)a@_AH_2o zz*3}Z$ix~qdMLJ89A}2CU*QNX)zxY3lu~a8umpEYp^BGN+xwed3 zj5Es6cF}dHh@UHRyP|=&=`=uQf^P96?Dt_c7Sd;GFPwa&GxxeBHs@ADHeCIkv>X3#Pxc~~? znxQ32E23Ay{1WoZG!m3tAZ$p+-X@>|)klJ$tPY9Rzh7nJT!wRiBae)b;my+p9LP}V za-)=AZNK5MN=PjIz0%3RM=&xu@OJ&)AWf81900ZP{W5_#m9Kdh1c zH!D%Z<56OnN&auvMlaVZVUgmAONnvM)MZUTui(VTF^;l=mMl5^cRN~hWHZngmIP2) zy{cOR_(H@dPB~>|X`9=Pc2gfMqQ6(}j@IZ%@Q0}~ykDJd)StTK@!Jh3_jbrZQH<~N zu`mH=QNXAP88&-L2B2-In&BjCXMEvICso|H!FUcGI#w?TJbJUvhEmultn!gs@R zl1`Q!NBsKaQT0)gX9)fzWxFzHsU_^ld6-wkZ_SnD`{0PWsYCEn~z z58w(D*MVIcOq@N|R^RSJ=(~F_XInq_gj-)c9QbCI@f90;N^ycAJ ziv^{sVW`JA&KAb}GKUiPD{uE$nqT*-)Brb|o`KMbbLyxi%^?EYqedzcxPG|R>RUsH z9qY^ZNF&;*5$+8>(-*Oi`+xu=sz}VE_bJf8L0J`37N<p0Wumi>UOB;_>7yh%Or~GzX%Yif4FN5h-4bn_1{H4+N;Xj`CHHKb67@gZ39U$rFT90%4_dxT7Qrgn_vc*Ne&~|l9 zUj~IT@c?r#`!!JfAD=jRo6&UBu+P4d`UZ|aS1F@{fk}?z?Za|IA&bOe_0mNIy(VHv zf#C|Pjc}|1K9(0sj>~VhE4k7T2;QXi@D8gxXmxqf^p0qryJz=OeMijR==}Q=11XL5 zhxzwZa5EGQyff(mO!M*ClY)^@046pDN~PFv-@n$*+BciaFor-u!hin#pWyNTMtJ@I z`6c+`pLI%4J@Wq_D)IU6Uz+*18x6Q^a`q>FZd6QaH@XCTt#gmj4O6|U>(0;q5AggW Aa{vGU literal 60464 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

    fZg2& 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 literal 31593 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 THwj!q=nK4(fQpxj8od86s`ZuD diff --git a/windows/client-management/client-tools/manage-device-installation-with-group-policy.md b/windows/client-management/client-tools/manage-device-installation-with-group-policy.md index 0aaf41776d..052dc9e72a 100644 --- a/windows/client-management/client-tools/manage-device-installation-with-group-policy.md +++ b/windows/client-management/client-tools/manage-device-installation-with-group-policy.md @@ -1,7 +1,7 @@ --- title: Manage Device Installation with Group Policy description: Find out how to manage Device Installation Restrictions with Group Policy. -ms.date: 08/10/2023 +ms.date: 07/01/2024 ms.topic: conceptual --- diff --git a/windows/client-management/client-tools/manage-settings-app-with-group-policy.md b/windows/client-management/client-tools/manage-settings-app-with-group-policy.md index bf19bb6ad7..fb091f005b 100644 --- a/windows/client-management/client-tools/manage-settings-app-with-group-policy.md +++ b/windows/client-management/client-tools/manage-settings-app-with-group-policy.md @@ -1,7 +1,7 @@ --- title: Manage the Settings app with Group Policy description: Find out how to manage the Settings app with Group Policy so you can hide specific pages from users. -ms.date: 08/10/2023 +ms.date: 07/01/2024 ms.topic: conceptual --- diff --git a/windows/client-management/client-tools/mandatory-user-profile.md b/windows/client-management/client-tools/mandatory-user-profile.md index 78e358f1fd..5e64dd2f66 100644 --- a/windows/client-management/client-tools/mandatory-user-profile.md +++ b/windows/client-management/client-tools/mandatory-user-profile.md @@ -1,16 +1,13 @@ --- title: Create mandatory user profiles -description: A mandatory user profile is a special type of pre-configured roaming user profile that administrators can use to specify settings for users. -ms.date: 08/10/2023 +description: A mandatory user profile is a special type of preconfigured roaming user profile that administrators can use to specify settings for users. +ms.date: 07/01/2024 ms.topic: conceptual -ms.collection: -- highpri -- tier2 --- # Create mandatory user profiles -A mandatory user profile is a roaming user profile that has been pre-configured by an administrator to specify settings for users. Settings commonly defined in a mandatory profile include (but aren't limited to) icons that appear on the desktop, desktop backgrounds, user preferences in Control Panel, printer selections, and more. Configuration changes made during a user's session that are normally saved to a roaming user profile aren't saved when a mandatory user profile is assigned. +A mandatory user profile is a roaming user profile that has been preconfigured by an administrator to specify settings for users. Settings commonly defined in a mandatory profile include (but aren't limited to) icons that appear on the desktop, desktop backgrounds, user preferences in Control Panel, printer selections, and more. Configuration changes made during a user's session that are normally saved to a roaming user profile aren't saved when a mandatory user profile is assigned. Mandatory user profiles are useful when standardization is important, such as on a kiosk device or in educational settings. Only system administrators can make changes to mandatory user profiles. @@ -118,12 +115,12 @@ In a domain, you modify properties for the user account to point to the mandator ### How to apply a mandatory user profile to users 1. Open **Active Directory Users and Computers** (dsa.msc). -1. Navigate to the user account that you'll assign the mandatory profile to. +1. Navigate to the user account that you want to assign the mandatory profile to. 1. Right-click the user name and open **Properties**. 1. On the **Profile** tab, in the **Profile path** field, enter the path to the shared folder without the extension. For example, if the folder name is `\\server\share\profile.v6`, you would enter `\\server\share\profile`. 1. Select **OK**. -It may take some time for this change to replicate to all domain controllers. +It can take some time for this change to replicate to all domain controllers. ## Apply policies to improve sign-in time diff --git a/windows/client-management/client-tools/quick-assist.md b/windows/client-management/client-tools/quick-assist.md index 397791e335..25a3039918 100644 --- a/windows/client-management/client-tools/quick-assist.md +++ b/windows/client-management/client-tools/quick-assist.md @@ -1,9 +1,8 @@ --- title: Use Quick Assist to help users description: Learn how IT Pros can use Quick Assist to help users. -ms.date: 05/09/2024 +ms.date: 07/01/2024 ms.topic: conceptual -ms.localizationpriority: medium ms.collection: - highpri - tier1 @@ -134,7 +133,7 @@ Quick Assist for macOS is available for interactions with Microsoft Support. If ## Disable Quick Assist within your organization -If your organization utilizes another remote support tool such as [Remote Help](https://www.microsoft.com/security/business/endpoint-management/microsoft-intune-remote-help), disable or remove Quick Assist as a best practice, if it isn't used within your environment. This prevents external users from using Quick Assist to gain access to devices within your organization. +If your organization utilizes another remote support tool such as [Remote Help](https://www.microsoft.com/security/business/endpoint-management/microsoft-intune-remote-help), disable or remove Quick Assist as a best practice, if it isn't used within your environment. This prevents guests from using Quick Assist to gain access to devices within your organization. ### Disable Quick Assist diff --git a/windows/client-management/client-tools/toc.yml b/windows/client-management/client-tools/toc.yml index 17b21a7926..9600b605e4 100644 --- a/windows/client-management/client-tools/toc.yml +++ b/windows/client-management/client-tools/toc.yml @@ -15,7 +15,7 @@ items: href: manage-settings-app-with-group-policy.md - name: Manage default media removal policy href: change-default-removal-policy-external-storage-media.md - - name: What version of Windows am I running - href: windows-version-search.md - name: Windows libraries href: windows-libraries.md + - name: What version of Windows am I running + href: windows-version-search.md \ No newline at end of file diff --git a/windows/client-management/client-tools/windows-libraries.md b/windows/client-management/client-tools/windows-libraries.md index 3486649f20..65a263719f 100644 --- a/windows/client-management/client-tools/windows-libraries.md +++ b/windows/client-management/client-tools/windows-libraries.md @@ -2,13 +2,15 @@ title: Windows Libraries description: All about Windows Libraries, which are containers for users' content, such as Documents and Pictures. ms.topic: conceptual -ms.date: 08/10/2023 +ms.date: 07/01/2024 --- # Windows libraries Libraries are virtual containers for users' content. A library can contain files and folders stored on the local computer or in a remote storage location. In Windows Explorer, users interact with libraries in ways similar to how they would interact with other folders. Libraries are built upon the legacy known folders (such as My Documents, My Pictures, and My Music) that users are familiar with, and these known folders are automatically included in the default libraries and set as the default save location. +To show libraries in File Explorer, go to **Options**, select the **View** tab, and then select **Show libraries**. + ## Features for Users Windows libraries provide full content search and rich metadata. Libraries offer the following advantages to users: diff --git a/windows/client-management/client-tools/windows-version-search.md b/windows/client-management/client-tools/windows-version-search.md index 2bb838cf72..2c34266131 100644 --- a/windows/client-management/client-tools/windows-version-search.md +++ b/windows/client-management/client-tools/windows-version-search.md @@ -1,7 +1,7 @@ --- title: What version of Windows am I running? description: Discover which version of Windows you're running to determine whether or not your device is enrolled in the Long-Term Servicing Channel or General Availability Channel. -ms.date: 08/10/2023 +ms.date: 07/01/2024 ms.topic: conceptual --- @@ -17,8 +17,6 @@ To determine if your device is enrolled in the Long-Term Servicing Channel or th Select **Start** > **Settings** > **System**, then select **About**. You then see **Edition**, **Version**, and **OS Build** information. -:::image type="content" source="images/systemcollage.png" alt-text="screenshot of the system properties window for a device running Windows 10."::: - ## Using Keyword Search You can type the following in the search bar and press **ENTER** to see version details for your device. From 2de75631ef221457783d7552a86261484ea6379c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 1 Jul 2024 14:42:05 -0700 Subject: [PATCH 178/354] wufbds-9131668 --- .../deployment/update/deployment-service-prerequisites.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index 1f24cbfe24..d2b1131886 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -14,7 +14,7 @@ ms.localizationpriority: medium appliesto: - ✅ Windows 11 - ✅ Windows 10 -ms.date: 01/29/2024 +ms.date: 07/01/2024 --- # Windows Update for Business deployment service prerequisites @@ -26,7 +26,7 @@ Before you begin the process of deploying updates with Windows Update for Busine ## Azure and Microsoft Entra ID - An Azure subscription with [Microsoft Entra ID](/azure/active-directory/) -- Devices must be Microsoft Entra joined and meet the below OSrequirements. +- Devices must be Microsoft Entra joined and meet the below OS requirements. - Devices can be [Microsoft Entra joined](/azure/active-directory/devices/concept-azure-ad-join) or [Microsoft Entra hybrid joined](/azure/active-directory/devices/concept-azure-ad-join-hybrid). - Devices that are [Microsoft Entra registered](/azure/active-directory/devices/concept-azure-ad-register) only (Workplace joined) aren't supported with Windows Update for Business @@ -85,9 +85,11 @@ When you use [Windows Update for Business reports](wufb-reports-overview.md) in - Windows Update for Business deployment service endpoints - devicelistenerprod.microsoft.com + - devicelistenerprod.eudb.microsoft.com if in the [EU Data Boundary](/privacy/eudb/eu-data-boundary-learn) - login.windows.net - payloadprod*.blob.core.windows.net + - [Windows Push Notification Services](/windows/uwp/design/shell/tiles-and-notifications/firewall-allowlist-config): *(Recommended, but not required. Without this access, devices might not expedite updates until their next daily check for updates.)* - *.notify.windows.com From fe089e42452db999e64c7e6ba5b49590813101ed Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 1 Jul 2024 14:42:34 -0700 Subject: [PATCH 179/354] wufbds-9131668 --- windows/deployment/update/deployment-service-prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index d2b1131886..778dd2ca1c 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -85,7 +85,7 @@ When you use [Windows Update for Business reports](wufb-reports-overview.md) in - Windows Update for Business deployment service endpoints - devicelistenerprod.microsoft.com - - devicelistenerprod.eudb.microsoft.com if in the [EU Data Boundary](/privacy/eudb/eu-data-boundary-learn) + - devicelistenerprod.eudb.microsoft.com for the [EU Data Boundary](/privacy/eudb/eu-data-boundary-learn) - login.windows.net - payloadprod*.blob.core.windows.net From 7760a21d17e8e35ed55f2e68133ddad6bcab4189 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:57:58 -0700 Subject: [PATCH 180/354] Adjust titles & applies to --- ...ndows-diagnostic-data-events-and-fields-2004.md | 9 ++++----- windows/privacy/toc.yml | 6 +++--- windows/privacy/windows-diagnostic-data.md | 14 +++++--------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md index c336dba245..a2da4f8863 100644 --- a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md +++ b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md @@ -1,6 +1,6 @@ --- description: Learn more about the required Windows 10 diagnostic data gathered. -title: Required diagnostic events and fields for Windows 10 (versions 22H2, 21H2, 21H1, 20H2, and 2004) +title: Required diagnostic events and fields for Windows 10, versions 22H2 and 21H2 ms.service: windows-client ms.subservice: itpro-privacy ms.localizationpriority: high @@ -13,16 +13,15 @@ ms.topic: reference --- -# Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004 +# Required diagnostic events and fields for Windows 10, versions 22H2 and 21H2 **Applies to** - Windows 10, version 22H2 - Windows 10, version 21H2 -- Windows 10, version 21H1 -- Windows 10, version 20H2 -- Windows 10, version 2004 +> [!NOTE] +> The information in this article also applies to these versions of Windows 10: 21H1, 20H2, and 2004. But those versions have reached their end of servicing date. For more information, see [Microsoft Product Lifecycle](/lifecycle/products). Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index 8d18cdd2dc..5ec34034d8 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -19,13 +19,13 @@ href: required-diagnostic-events-fields-windows-11-22H2.md - name: Windows 11, version 21H2 href: required-windows-11-diagnostic-events-and-fields.md - - name: Windows 10, versions 22H2, 21H2, 21H1, 20H2, and 2004 + - name: Windows 10, versions 22H2 and 21H2 href: required-windows-diagnostic-data-events-and-fields-2004.md - name: Windows 10, version 1809 href: basic-level-windows-diagnostic-events-and-fields-1809.md - - name: Optional Windows diagnostic data events and fields + - name: Optional Windows diagnostic data items: - - name: Windows 10, version 1709 and later and Windows 11 optional diagnostic data + - name: Optional diagnostic data for Windows 11 and Windows 10 href: windows-diagnostic-data.md - name: Manage Windows connected experiences items: diff --git a/windows/privacy/windows-diagnostic-data.md b/windows/privacy/windows-diagnostic-data.md index 44ea57dcd1..6b1643a86d 100644 --- a/windows/privacy/windows-diagnostic-data.md +++ b/windows/privacy/windows-diagnostic-data.md @@ -1,5 +1,5 @@ --- -title: Windows 10, version 1709 and Windows 11 and later optional diagnostic data (Windows 10) +title: Optional diagnostic data for Windows 11 and Windows 10 description: Use this article to learn about the types of optional diagnostic data that is collected. ms.service: windows-client ms.subservice: itpro-privacy @@ -12,7 +12,7 @@ ms.collection: highpri ms.topic: reference --- -# Windows 10, version 1709 and later and Windows 11 optional diagnostic data +# Optional diagnostic data for Windows 11 and Windows 10 Applies to: - Windows 11, version 23H2 @@ -20,14 +20,10 @@ Applies to: - Windows 11, version 21H2 - Windows 10, version 22H2 - Windows 10, version 21H2 -- Windows 10, version 21H1 -- Windows 10, version 20H2 -- Windows 10, version 2004 -- Windows 10, version 1909 -- Windows 10, version 1903 - Windows 10, version 1809 -- Windows 10, version 1803 -- Windows 10, version 1709 + +> [!NOTE] +> The information in this article also applies to these versions of Windows 10: 21H1, 20H2, 2004, 1909, 1903, 1803, and 1709. But those versions have reached their end of servicing date. For more information, see [Microsoft Product Lifecycle](/lifecycle/products). Microsoft uses Windows diagnostic data to keep Windows secure and up-to-date, troubleshoot problems, and make product improvements. For users who have turned on "Tailored experiences", it can also be used to offer you personalized tips, ads, and recommendations to enhance Microsoft products and services for your needs. This article describes all types of optional diagnostic data collected by Windows, with comprehensive examples of data we collect per each type. For additional, detailed technical descriptions of Basic data items, see [Windows 11 required diagnostic events and fields](/windows/privacy/required-windows-11-diagnostic-events-and-fields). From eea3af102883ffd1b656ff6a030f62281985af39 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Jul 2024 16:18:21 -0700 Subject: [PATCH 181/354] remove titleSuffix --- windows/whats-new/docfx.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/whats-new/docfx.json b/windows/whats-new/docfx.json index 6abf313079..d51e184c00 100644 --- a/windows/whats-new/docfx.json +++ b/windows/whats-new/docfx.json @@ -49,12 +49,11 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "What's new in Windows", "contributors_to_exclude": [ "dstrome2", - "rjagiewich", + "rjagiewich", "American-Dipper", - "claydetels19", + "claydetels19", "jborsecnik", "v-stchambers", "shdyas", From 8eadd278e534f41f6e0ec7de86366b6ae886ab6c Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Jul 2024 16:23:47 -0700 Subject: [PATCH 182/354] combine ltsc and other updates --- ...lishing.redirection.windows-whats-new.json | 21 +++++--- windows/whats-new/TOC.yml | 17 +++++-- windows/whats-new/index.yml | 43 ++++++++++------ windows/whats-new/ltsc/TOC.yml | 13 ----- windows/whats-new/ltsc/index.yml | 49 ------------------- 5 files changed, 56 insertions(+), 87 deletions(-) delete mode 100644 windows/whats-new/ltsc/TOC.yml delete mode 100644 windows/whats-new/ltsc/index.yml diff --git a/.openpublishing.redirection.windows-whats-new.json b/.openpublishing.redirection.windows-whats-new.json index 9e05719ebc..28ef654c0a 100644 --- a/.openpublishing.redirection.windows-whats-new.json +++ b/.openpublishing.redirection.windows-whats-new.json @@ -159,11 +159,16 @@ "source_path":"windows/whats-new/whats-new-windows-10-version-20H2.md", "redirect_url":"/previous-versions/windows/it-pro/windows-10/whats-new/whats-new-windows-10-version-20H2", "redirect_document_id":false - }, - { - "source_path":"windows/whats-new/whats-new-windows-10-version-21H1.md", - "redirect_url":"/previous-versions/windows/it-pro/windows-10/whats-new/whats-new-windows-10-version-21H1", - "redirect_document_id":false - } - ] - } + }, + { + "source_path":"windows/whats-new/whats-new-windows-10-version-21H1.md", + "redirect_url":"/previous-versions/windows/it-pro/windows-10/whats-new/whats-new-windows-10-version-21H1", + "redirect_document_id":false + }, + { + "source_path":"windows/whats-new/ltsc/index.yml", + "redirect_url":"/windows/whats-new/", + "redirect_document_id":false + } + ] +} diff --git a/windows/whats-new/TOC.yml b/windows/whats-new/TOC.yml index 7ad2200658..408873ec0b 100644 --- a/windows/whats-new/TOC.yml +++ b/windows/whats-new/TOC.yml @@ -18,14 +18,25 @@ - name: What's new in Windows 11, version 22H2 href: whats-new-windows-11-version-22h2.md - name: Windows 10 - expanded: true + expanded: false items: - name: Extended Security Updates (ESU) program for Windows 10 href: extended-security-updates.md - name: What's new in Windows 10, version 22H2 href: whats-new-windows-10-version-22H2.md - - name: What's new in Windows 10, version 21H2 - href: whats-new-windows-10-version-21H2.md +- name: Windows 10 Enterprise LTSC + expanded: false + items: + - name: Windows 10 Enterprise LTSC overview + href: ltsc/overview.md + - name: What's new in Windows 10 Enterprise LTSC 2021 + href: ltsc/whats-new-windows-10-2021.md + - name: What's new in Windows 10 Enterprise LTSC 2019 + href: ltsc/whats-new-windows-10-2019.md + - name: What's new in Windows 10 Enterprise LTSC 2016 + href: ltsc/whats-new-windows-10-2016.md + - name: What's new in Windows 10 Enterprise LTSC 2015 + href: ltsc/whats-new-windows-10-2015.md - name: Windows commercial licensing overview href: windows-licensing.md - name: Deprecated and removed Windows features diff --git a/windows/whats-new/index.yml b/windows/whats-new/index.yml index 4bb62bd59c..911043127c 100644 --- a/windows/whats-new/index.yml +++ b/windows/whats-new/index.yml @@ -15,11 +15,13 @@ metadata: author: aczechowski ms.author: aaroncz manager: aaroncz - ms.date: 10/31/2023 + ms.date: 07/01/2024 localization_priority: medium landingContent: +# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | tutorial | overview | quickstart | reference | sample | tutorial | video | whats-new + - title: Windows 11 planning linkLists: - linkListType: overview @@ -49,12 +51,35 @@ landingContent: - linkListType: whats-new links: - text: Extended Security Updates (ESU) program for Windows 10 - url: extended-security-updates.md + url: extended-security-updates.md - text: What's new in Windows 10, version 22H2 url: whats-new-windows-10-version-22h2.md - - text: What's new in Windows 10, version 21H2 - url: whats-new-windows-10-version-21h2.md + - title: Windows 10 Enterprise LTSC + linkLists: + - linkListType: whats-new + links: + - text: Windows 10 Enterprise LTSC overview + url: ltsc/overview.md + - text: What's new in Windows 10 Enterprise LTSC 2021 + url: ltsc/whats-new-windows-10-2021.md + - text: What's new in Windows 10 Enterprise LTSC 2019 + url: ltsc/whats-new-windows-10-2019.md + - text: What's new in Windows 10 Enterprise LTSC 2016 + url: ltsc/whats-new-windows-10-2016.md + - text: What's new in Windows 10 Enterprise LTSC 2015 + url: ltsc/whats-new-windows-10-2015.md + + - title: Deprecated features + linkLists: + - linkListType: reference + links: + - text: Windows features we're no longer developing + url: deprecated-features.md + - text: Features and functionality removed in Windows + url: removed-features.md + - text: Lifecycle terminology + url: feature-lifecycle.md#terminology - title: Learn more linkLists: @@ -64,15 +89,5 @@ landingContent: url: /windows/release-health/windows11-release-information - text: Windows release health dashboard url: /windows/release-health/ - - text: Windows 11 update history - url: https://support.microsoft.com/topic/windows-11-version-22h2-update-history-ec4229c3-9c5f-4e75-9d6d-9025ab70fcce - - text: Windows 10 update history - url: https://support.microsoft.com/topic/windows-10-update-history-857b8ccb-71e4-49e5-b3f6-7073197d98fb - - text: Windows features we're no longer developing - url: deprecated-features.md - - text: Features and functionality removed in Windows - url: removed-features.md - text: Compare Windows 11 Editions url: https://www.microsoft.com/windows/business/compare-windows-11 - - text: Windows 10 Enterprise LTSC - url: ltsc/overview.md diff --git a/windows/whats-new/ltsc/TOC.yml b/windows/whats-new/ltsc/TOC.yml deleted file mode 100644 index 3dede78331..0000000000 --- a/windows/whats-new/ltsc/TOC.yml +++ /dev/null @@ -1,13 +0,0 @@ -- name: Windows 10 Enterprise LTSC - href: index.yml - items: - - name: Windows 10 Enterprise LTSC overview - href: overview.md - - name: What's new in Windows 10 Enterprise LTSC 2021 - href: whats-new-windows-10-2021.md - - name: What's new in Windows 10 Enterprise LTSC 2019 - href: whats-new-windows-10-2019.md - - name: What's new in Windows 10 Enterprise LTSC 2016 - href: whats-new-windows-10-2016.md - - name: What's new in Windows 10 Enterprise LTSC 2015 - href: whats-new-windows-10-2015.md diff --git a/windows/whats-new/ltsc/index.yml b/windows/whats-new/ltsc/index.yml deleted file mode 100644 index 64c7cef9df..0000000000 --- a/windows/whats-new/ltsc/index.yml +++ /dev/null @@ -1,49 +0,0 @@ -### YamlMime:Landing - -title: What's new in Windows 10 Enterprise LTSC -summary: Find out about new features and capabilities in the latest release of Windows 10 Enterprise LTSC for IT professionals. - -metadata: - title: What's new in Windows 10 Enterprise LTSC - description: Find out about new features and capabilities in the latest release of Windows 10 Enterprise LTSC for IT professionals. - ms.service: windows-client - ms.subservice: itpro-fundamentals - ms.topic: landing-page - ms.collection: - - highpri - - tier1 - author: mestew - ms.author: mstewart - manager: aaroncz - ms.date: 12/18/2023 - localization_priority: medium - -landingContent: - - - title: Windows 10 Enterprise LTSC - linkLists: - - linkListType: overview - links: - - text: Windows 10 Enterprise LTSC overview - url: overview.md - - text: What's new in Windows 10 Enterprise LTSC 2021 - url: whats-new-windows-10-2021.md - - text: What's new in Windows 10 Enterprise LTSC 2019 - url: whats-new-windows-10-2019.md - - text: What's new in Windows 10 Enterprise LTSC 2016 - url: whats-new-windows-10-2016.md - - text: What's new in Windows 10 Enterprise LTSC 2015 - url: whats-new-windows-10-2015.md - - - title: Learn more - linkLists: - - linkListType: overview - links: - - text: Windows release health dashboard - url: /windows/release-health/ - - text: Windows 10 update history - url: https://support.microsoft.com/topic/windows-10-update-history-857b8ccb-71e4-49e5-b3f6-7073197d98fb - - text: Windows features we're no longer developing - url: ../deprecated-features.md - - text: Features and functionality removed in Windows - url: ../removed-features.md From 34f240bf3336be07b544ece0d5cb392cf390da34 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Jul 2024 16:37:54 -0700 Subject: [PATCH 183/354] archive win10 21h2 --- ...lishing.redirection.windows-whats-new.json | 5 ++ .../whats-new-windows-10-version-21H2.md | 77 ------------------- 2 files changed, 5 insertions(+), 77 deletions(-) delete mode 100644 windows/whats-new/whats-new-windows-10-version-21H2.md diff --git a/.openpublishing.redirection.windows-whats-new.json b/.openpublishing.redirection.windows-whats-new.json index 28ef654c0a..b72627e6c6 100644 --- a/.openpublishing.redirection.windows-whats-new.json +++ b/.openpublishing.redirection.windows-whats-new.json @@ -165,6 +165,11 @@ "redirect_url":"/previous-versions/windows/it-pro/windows-10/whats-new/whats-new-windows-10-version-21H1", "redirect_document_id":false }, + { + "source_path":"windows/whats-new/whats-new-windows-10-version-21H2.md", + "redirect_url":"/previous-versions/windows/it-pro/windows-10/whats-new/whats-new-windows-10-version-21H2", + "redirect_document_id":false + }, { "source_path":"windows/whats-new/ltsc/index.yml", "redirect_url":"/windows/whats-new/", diff --git a/windows/whats-new/whats-new-windows-10-version-21H2.md b/windows/whats-new/whats-new-windows-10-version-21H2.md deleted file mode 100644 index f23820ffe8..0000000000 --- a/windows/whats-new/whats-new-windows-10-version-21H2.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: What's new in Windows 10, version 21H2 for IT pros -description: Learn more about what's new in Windows 10 version 21H2, including servicing updates, Windows Subsystem for Linux, the latest CSPs, and more. -manager: aaroncz -ms.service: windows-client -ms.author: mstewart -author: mestew -ms.localizationpriority: medium -ms.topic: conceptual -ms.collection: - - highpri - - tier2 -ms.subservice: itpro-fundamentals -ms.date: 12/31/2017 -appliesto: - - ✅ Windows 10, version 21H2 ---- - -# What's new in Windows 10, version 21H2 - -Windows 10, version 21H2 is the next feature update. This article lists the new and updated features IT Pros should know. Windows 10, version 21H2 is also known as the Windows 10 November 2021 Update. It includes all features and fixes in previous cumulative updates to Windows 10, version 21H1. - -Windows 10, version 21H2 is an [H2-targeted release](/lifecycle/faq/windows#what-is-the-servicing-timeline-for-a-version--feature-update--of-windows-10-), and has the following servicing schedule: - -- **Windows 10 Professional**: Serviced for 18 months from the release date. -- **Windows 10 Enterprise**: Serviced for 30 months from the release date. - -Windows 10, version 21H2 is available through Windows Server Update Services (including Configuration Manager), Windows Update for Business, and the Volume Licensing Service Center (VLSC). For more information, see [How to get the Windows 10 November 2021 Update](https://blogs.windows.com/windowsexperience/2021/11/16/how-to-get-the-windows-10-november-2021-update/) and [IT tools to support Windows 10, version 21H2 blog](https://aka.ms/tools-for-21h2). - -Devices running Windows 10, versions 2004, 20H2, and 21H1 can update quickly to version 21H2 using an enablement package. For more information, see [Feature Update through Windows 10, version 21H2 Enablement Package](https://support.microsoft.com/help/5003791). - -To learn more about the status of the November 2021 Update rollout, known issues, and new information, see [Windows release health](/windows/release-health/). - -## Updates and servicing - -Windows 10, version 21H2 feature updates are installed annually using the General Availability Channel. Previous feature updates were installed using the General Availability Channel. For more information on this change, see the [How to get the Windows 10 November 2021 Update](https://blogs.windows.com/windowsexperience/?p=176473). - -Quality updates are still installed monthly on the second Tuesday of the month. - -For more information, see: - -- [Feature and quality update definitions](/windows/deployment/update/waas-quick-start#definitions) -- [Windows servicing channels](/windows/deployment/update/waas-overview#servicing-channels) - -## GPU compute support for the Windows Subsystem for Linux - -Starting with Windows 10 version 21H2, the Windows Subsystem for Linux has full graphics processing unit (GPU) compute support. It was available to Windows Insiders, and is now available to everyone. The Linux binaries can use your Windows GPU, and run different workloads, including artificial intelligence (AI) and machine learning (ML) development workflows. - -For more information, and what GPU compute support means for you, see the [GPU accelerated ML training inside the Windows Subsystem for Linux blog post](https://blogs.windows.com/windowsdeveloper/2020/06/17/gpu-accelerated-ml-training-inside-the-windows-subsystem-for-linux/). - -## Get the latest CSPs - -The [KB5005101 September 1, 2021 update](https://support.microsoft.com/topic/september-1-2021-kb5005101-os-builds-19041-1202-19042-1202-and-19043-1202-preview-82a50f27-a56f-4212-96ce-1554e8058dc1) includes about 1400 CSPs that were made available to MDM providers. - -These CSPs are built in to Windows 10, version 21H2. These settings are available in Microsoft Intune in the [Settings Catalog](/mem/intune/configuration/settings-catalog). [Group Policy analytics](/mem/intune/configuration/group-policy-analytics) also includes these GPOs in its analysis. - -For more information on the CSPs, see the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). - -## Apps appear local with Azure Virtual Desktop - -Azure virtual desktop is a Windows client OS hosted in the cloud, and runs virtual apps. You use the cloud to deliver virtual apps in real time, and as-needed. Users use the apps as if they're installed locally. - -You can create Azure virtual desktops that run Windows 10 version 21H2. - -For more information, see: - -- [What is Azure Virtual Desktop?](/azure/virtual-desktop/overview) -- [What's new in Azure Virtual Desktop?](/azure/virtual-desktop/whats-new) -- [Set up MSIX app attach with the Azure portal](/azure/virtual-desktop/app-attach-azure-portal) - -## Wi-Fi WPA3-Personal H2E support - -Wi-Fi WPA3-Personal H2E (Hash-to-Element) support is built in to Windows 10, version 21H2. - -## Related articles - -- [Release notes for Microsoft Edge Stable Channel](/deployedge/microsoft-edge-relnote-stable-channel) From f83238cbdc16a2d840d4fd2a95aeba150b9b648a Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 1 Jul 2024 17:48:12 -0700 Subject: [PATCH 184/354] remove direct links --- windows/deployment/update/waas-quick-start.md | 14 +++++++------- windows/deployment/update/waas-restart.md | 7 +++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/windows/deployment/update/waas-quick-start.md b/windows/deployment/update/waas-quick-start.md index fce23e0310..adc84ef341 100644 --- a/windows/deployment/update/waas-quick-start.md +++ b/windows/deployment/update/waas-quick-start.md @@ -1,5 +1,5 @@ --- -title: Quick guide to Windows as a service (Windows 10) +title: Quick guide to Windows as a service description: In Windows 10, Microsoft has streamlined servicing to make operating system updates simpler to test, manage, and deploy. ms.service: windows-client ms.subservice: itpro-updates @@ -8,15 +8,15 @@ author: mestew ms.author: mstewart manager: aaroncz ms.localizationpriority: high -appliesto: +appliesto: - ✅ Windows 11 -- ✅ Windows 10 +- ✅ Windows 10 ms.date: 12/31/2017 --- # Quick guide to Windows as a service -Here's a quick guide to the most important concepts in Windows as a service. For more information, see the [extensive set of documentation](index.md). +Here's a quick guide to the most important concepts in Windows as a service. ## Definitions @@ -25,10 +25,10 @@ Some new terms have been introduced as part of Windows as a service, so you shou - **Feature updates** are released annually. As the name suggests, these updates add new features, delivered in bite-sized chunks compared to the previous practice of Windows releases every 3-5 years. - **Quality updates** deliver both security and nonsecurity fixes. They're typically released on the second Tuesday of each month, though they can be released at any time. Quality updates include security updates, critical updates, servicing stack updates, and driver updates. Quality updates are cumulative, so installing the latest quality update is sufficient to get all the available fixes for a specific Windows 10 feature update. The "servicing stack" is the code that installs other updates, so they're important to keep current. For more information, see [Servicing stack updates](servicing-stack-updates.md). - **Insider Preview** builds are made available during the development of the features that will be shipped in the next feature update, enabling organizations to validate new features and confirm compatibility with existing apps and infrastructure, providing feedback to Microsoft on any issues encountered. -- **Servicing channels** allow organizations to choose when to deploy new features. +- **Servicing channels** allow organizations to choose when to deploy new features. - The **General Availability Channel** receives feature updates annually. - The **Long-Term Servicing Channel**, which is meant only for specialized devices (which typically don't run Office) such as those that control medical equipment or ATMs, receives new feature releases every two to three years. -- **Deployment rings** are groups of devices used to initially pilot, and then to broadly deploy, each feature update in an organization. +- **Deployment rings** are groups of devices used to initially pilot, and then to broadly deploy, each feature update in an organization. For more information, see [Overview of Windows as a service](waas-overview.md). @@ -36,7 +36,7 @@ For some interesting in-depth information about how cumulative updates work, see ## Key concepts -With each release in the General Availability Channel, we recommend beginning deployment right away to devices selected for early adoption (targeted validation) and ramp up to full deployment at your discretion. +With each release in the General Availability Channel, we recommend beginning deployment right away to devices selected for early adoption (targeted validation) and ramp up to full deployment at your discretion. Windows Enterprise LTSC versions are separate **Long-Term Servicing Channel** versions. Each release is supported for a total of 10 years (five years standard support, five years extended support). New releases are expected about every three years. diff --git a/windows/deployment/update/waas-restart.md b/windows/deployment/update/waas-restart.md index 0170408476..9d859d31c3 100644 --- a/windows/deployment/update/waas-restart.md +++ b/windows/deployment/update/waas-restart.md @@ -11,7 +11,7 @@ ms.collection: - highpri - tier2 ms.localizationpriority: medium -appliesto: +appliesto: - ✅ Windows 11 - ✅ Windows 10 ms.date: 10/10/2023 @@ -43,7 +43,7 @@ When **Configure Automatic Updates** is enabled in Group Policy, you can also en - **No auto-restart with logged on users for scheduled automatic updates installations** prevents automatic restart when a user is signed in. If a user schedules the restart in the update notification, the device restarts at the time the user specifies even if a user is signed in at the time. This policy only applies when **Configure Automatic Updates** is set to option **4-Auto download and schedule the install**. > [!NOTE] -> When using Remote Desktop Protocol connections, only active RDP sessions are considered as logged on users. Devices that do not have locally logged on users, or active RDP sessions, will be restarted. +> When using Remote Desktop Protocol connections, only active RDP sessions are considered as logged on users. Devices that do not have locally logged on users, or active RDP sessions, will be restarted. You can also use Registry, to prevent automatic restarts when a user is signed in. Under **HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU**, set **AuOptions** to **4** and enable **NoAutoRebootWithLoggedOnUsers**. As with Group Policy, if a user schedules the restart in the update notification, it overrides this setting. @@ -113,7 +113,7 @@ Starting in Windows 10 version 1809, you can define which Windows Update notific To configure this behavior through MDM, use [**Update/UpdateNotificationLevel**](/windows/client-management/mdm/policy-configuration-service-provider#update-updatenotificationlevel). -Starting in Windows 11, version 22H2, **Apply only during active hours** was added as an additional option for **Display options for update notifications**. When **Apply only during active hours** is selected, the notifications will only be disabled during active hours when options `1` or `2` are used. To ensure that the device stays updated, a notification will still be shown during active hours if **Apply only during active hours** is selected, and once a deadline has been reached when [Specify deadlines for automatic updates and restarts](wufb-compliancedeadlines.md) is configured. +Starting in Windows 11, version 22H2, **Apply only during active hours** was added as an additional option for **Display options for update notifications**. When **Apply only during active hours** is selected, the notifications will only be disabled during active hours when options `1` or `2` are used. To ensure that the device stays updated, a notification will still be shown during active hours if **Apply only during active hours** is selected, and once a deadline has been reached when [Specify deadlines for automatic updates and restarts](wufb-compliancedeadlines.md) is configured. To configure this behavior through MDM, use [**Update/UpdateNotificationLevel**](/windows/client-management/mdm/policy-csp-update#update-NoUpdateNotificationDuringActiveHours). @@ -209,7 +209,6 @@ There are three different registry combinations for controlling restart behavior ## More resources -- [Update Windows in the enterprise](index.md) - [Overview of Windows as a service](waas-overview.md) - [Configure Delivery Optimization for Windows updates](../do/waas-delivery-optimization.md) - [Configure BranchCache for Windows updates](waas-branchcache.md) From cc05e23bdbfa569e536f5bdbdc99200cbb104580 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Wed, 3 Jul 2024 18:44:07 -0600 Subject: [PATCH 185/354] Feedback from review --- .../do/delivery-optimization-configure.md | 99 ++++++++++++------ .../do/images/do-setup-device-counts.png | Bin 38723 -> 0 bytes .../do/images/do-setup-network-topology.png | Bin 64370 -> 64030 bytes .../do/images/do-setup-org-size.png | Bin 0 -> 34454 bytes .../do/images/do-setup-presence.png | Bin 29520 -> 33727 bytes .../waas-delivery-optimization-reference.md | 2 +- 6 files changed, 70 insertions(+), 31 deletions(-) delete mode 100644 windows/deployment/do/images/do-setup-device-counts.png create mode 100644 windows/deployment/do/images/do-setup-org-size.png diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index c071770b24..e76d94965e 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -1,6 +1,6 @@ --- title: Configure Delivery Optimization for Windows -description: In this article, learn about the different configuration considerations to optimize Delivery Optimization in your environment. +description: In this article, learn about the different configuration considerations to optimize Delivery Optimization (DO) in your environment. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -19,27 +19,31 @@ appliesto: ms.date: 07/01/2024 --- -# Configure Delivery Optimization for Windows +# Configure Delivery Optimization (DO) for Windows ## Delivery Optimization set up considerations checklist +Use this checklist to guide you through different aspects when modifying Delivery Optimization configurations for your environment. + 1. Allow Delivery Optimization communication -1. Find Delivery Optimization -1. Network topology -1. Device count -1. System resources -1. Improve efficiencies -1. Connected Cache +2. Options to apply Delivery Optimization settings +3. Network topology +4. Optimize P2P usage for your organization size +5. System resources +6. Improve efficiencies +7. Connected Cache ## 1. Allow DO communication :::image type="content" source="images/do-setup-allow-communication.png" alt-text="Screenshot of the considerations to allow Delivery Optimization communication." lightbox="images/do-setup-allow-communication.png"::: -Learn more about Firewall, Proxy, and Port requirements for Delivery Optimization communication. +Delivery Optimization is used to download Microsoft content from different sources (HTTP source, peers, and/or dedicated cache solution). It requires communication between the DO client and the service to find the best and most reliable source of content. For this technology to work, the DO client running on the Windows device must be able to reach the DO cloud service. + +Find out more about the requirements for Firewall, Proxy, and Port settings to enable Delivery Optimization communication. ### Firewall -There are some host names that you need to permit through your Firewall for Delivery Optimization to communicate. Check the [full list](waas-delivery-optimization-faq.yml#what-hostnames-should-i-allow-through-my-firewall-to-support-delivery-optimization) of host names to permit. +There are service endpoints that you need to permit through your Firewall to communicate with the Delivery Optimization service. Check the [full list](waas-delivery-optimization-faq.yml#what-hostnames-should-i-allow-through-my-firewall-to-support-delivery-optimization) of endpoints to permit. ### Local proxy @@ -47,29 +51,40 @@ When using a proxy, you want to bypass calls from the Delivery Optimization serv ### Cloud proxy -If you're using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. +To allow peer-to-peer (P2P) to work properly you need to allow direct calls to the Delivery Optimization service from your devices (bypass the *.prod.do.dsp.mp.microsoft.com in your proxy). If the calls to the DO service are funneled through your proxy, it will alter the public IP Address of the devices, preventing P2P from working properly. If you're using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. ### Ports Delivery Optimization requires the use of certain ports to deliver content. Make sure all the [required ports](waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) are open to make Delivery Optimization work seamlessly. +| Port | Function | +|---------|-------------------| +| 7680 | Listen for P2P using TCP/IP | +| 3544 | Uses Teredo to discover and connect to peers across NATs | +| 443 | Used to communicate Delivery Optimization client and service | + ## 2. DO presence :::image type="content" source="images/do-setup-presence.png" alt-text="Screenshot of different product areas where you find Delivery Optimization." lightbox="images/do-setup-presence.png"::: -Use Group Policy or MDM Policies to locate Delivery Optimization settings. +### Group Policies -**Group Policies:** Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. -**MDM Policies:** You can use an MDM solution like Intune to configure Delivery Optimization. +To use Group Policy to manage Delivery Optimization settings you can find them here, -Delivery Optimization is increasingly found throughout Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. +```Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. or MDM Policies to locate Delivery Optimization settings.``` + +### MDM Policies + +Similarly, in MDM, the Delivery Optimization settings are under, + +```.Vendor/MSFT/Policy/Config/DeliveryOptimization/.``` + +Delivery Optimization can be used with other Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. * [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) * [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) * [Autopilot](../windows-deployment-scenarios.md#modern-deployment-methods)/[Autopatch](../windows-autopatch/overview/windows-autopatch-overview.md) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. - - ## 3. Network topology :::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: @@ -84,9 +99,12 @@ Peer groups can be defined in Delivery Optimization using a combination of setti To limit a peer group to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This Download Mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. +> [!NOTE] +> If your network topology is a hub and spoke - consider using Group download mode mode and/or restrict peer selection to the subnet. + ##### Wide area network (WAN) -To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use Download Mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing “boundaries” in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. +To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use Download Mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. ##### GroupIDSource default behavior @@ -94,6 +112,9 @@ There are several options for identifying your Group ID using the [DOGroupIDSour > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. +> +> > [!NOTE] +> For Configuration Manager users, we recommend to leverage existing [MECM boundary groups](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) to define the peer groups. ##### Restrict peer selection @@ -101,19 +122,19 @@ If your environment requires a more granular approach, you can use the Restrict ### Non-peering options -There are two valid Download Modes that don't use the peer-to-peer functionality to deliver content; Download Modes (0) and (99). Download Mode (0) provides hash checks of the requested content and allows for quick detection and recovery of corrupted data due to the use of piece level hash checks. Download Mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. +There are two valid Download Modes that don't use the peer-to-peer functionality to deliver content; Download Modes (0) and (99). Download Mode (0) uses additional metadata provided by the Delivery Optimization cloud services for a peerless, reliable and efficient download experience. Download Mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. ### Peering with VPN -By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. Also related, there's a [DODisallowCacheServerDownloadsOnVPN*](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) policy to prevent downloads from a cache server while on a VPN connection. +By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. -## 4. Device counts +## 4. Optimize P2P usage for your organization size -:::image type="content" source="images/do-setup-device-counts.png" alt-text="Screenshot of Delivery Optimization device count considerations." lightbox="images/do-setup-device-counts.png"::: +:::image type="content" source="images/do-setup-org-size.png" alt-text="Screenshot of optimizing P2P usage for your organization." lightbox="images/do-setup-org-size.png"::: Delivery Optimization is designed to perform best in a large-scale environment with many devices. Depending on the size of the environment, you should evaluate the value of the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to optimize peering. -### Cache file size +### Minimum file size to cache Content peering has a limited number of slots available at any given time. By default, only content files that are 50 MB or larger can be used for peering. In an environment with more than 30 devices, change the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to a lower value (10 MB), to have more content available for peering, which can be distributed among many devices. For an even larger number of devices (>100), you can raise this setting to (1 MB). @@ -129,15 +150,19 @@ There are some Delivery Optimization configurations that can make an impact when ### Disk size -Alter the minimum disk size a device must have to use peering with the [DOMinDiskSizeAllowedToPeer](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size)/[DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size). +Alter the minimum disk size (default is 32 GB) a device must have to use peering with the [DOMinDiskSizeAllowedToPeer](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. + +### Optimize cache size + +You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size) (default is 20%) and [DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size) (default is not configured). ### RAM size -Control the minimum amount of RAM (inclusive) allowed to use peer caching, [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). +Control the minimum amount of RAM (inclusive) allowed to use peer caching (default is 4 GB), [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). -### Large # of devices with healthy system resources +### Large # of devices with idle system resources -In a lab situation, there's typically a set number of devices that are plugged in and have ample free disk space. By increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to 7 or more (up to 30 days), you can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. +In an environment with a set number of devices that are plugged in and have ample free disk space try increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) seven or more (up to 30 days). You can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. ## 6. Improve efficiencies @@ -146,12 +171,15 @@ In a lab situation, there's typically a set number of devices that are plugged i Looking to improve efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: * Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. -* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs), [DelayCacheServerFallbackBackground*](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs), [DelayCacheServerFallbackForeground*](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs). For applicable scenarios (improving efficiency from peers or cache server) a good starting point is ’60 - 90’ seconds for the background settings and ’30 – 60’ for foreground settings. -* Reduce any disruptions and help to manage the timing of network usage by utilizing the business hours policies, [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth) and [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth). +* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). For applicable scenarios (improving efficiency from peers or cache server) a good starting point is 60 seconds for the background settings and 30 seconds for foreground settings. + +### Bandwidth throttling options + +* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth) and [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth). * Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). > [!NOTE] -> Not all content types aren't eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. +> Not all content types are eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## 7. Connected cache @@ -165,6 +193,17 @@ Looking to improve efficiency? Some of the most powerful settings you can change * [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). * [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. +## Summary of basic configuration recommendations + +| Use case | Policy | Recommended value | +| --- | --- | ------------------------- | +| Use P2P | DownloadMode | 1 or 2 | +| Do not use P2P | DownloadMode | 0 | +| Number of devices in the organization | MinFileSizeToCache | 1 MB for peer group > 100 devices | +| Idle system resources | MaxCacheAge | 7 days (604800 seconds) | +| Improve efficiencies | MinBackgroundQoS and DelayBackgroundDownloadFromHttp / DelayForegroundDownloadFromHttp | 500 KB/s and 60/30 seconds | +| Using Connected Cache? | DelayCacheServerFallbackBackground / DelayCacheServerFallbackForeground | 60/30 seconds | + ## Monitor Delivery Optimization Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you will want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. diff --git a/windows/deployment/do/images/do-setup-device-counts.png b/windows/deployment/do/images/do-setup-device-counts.png deleted file mode 100644 index 211195a6358481eae0bc12a3c2e9d3f4683b7ab2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38723 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

    UQ^l^bTsAC5OORrJ?X=koH=x(sfA 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 LhZsP_An^YI=}F(l diff --git a/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md b/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md index 97dec0c215..80c1a38048 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md +++ b/windows/configuration/provisioning-packages/provision-pcs-for-initial-deployment.md @@ -1,63 +1,47 @@ --- -title: Provision PCs with common settings -description: Create a provisioning package to apply common settings to a PC running Windows 10. +title: Create a provisioning package (desktop wizard) +description: Create a provisioning package to apply common settings to a PC running Windows. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Provision PCs with common settings for initial deployment (desktop wizard) +# Create a provisioning package (desktop wizard) -This topic explains how to create and apply a provisioning package that contains common enterprise settings to a device running all desktop editions of Windows client except Home. +This article explains how to create and apply a provisioning package that contains common enterprise settings to a device running all desktop editions of Windows client except Home. You can apply a provisioning package on a USB drive to off-the-shelf devices during setup, making it fast and easy to configure new devices. -You can apply a provisioning package on a USB drive to off-the-shelf devices during setup, making it fast and easy to configure new devices. +The following wizard options provide a simple interface for configuring common settings for desktop and kiosk devices: -## Advantages +- [Instructions for the desktop wizard](#start-a-new-project) +- [Instructions for the kiosk wizard](../assigned-access/overview.md) +- [Instructions for the HoloLens wizard](/hololens/hololens-provisioning#provisioning-package-hololens-wizard) +- [Instructions for the Surface Hub wizard](/surface-hub/provisioning-packages-for-surface-hub) -- You can configure new devices without reimaging -- Works on desktop devices -- No network connectivity required -- Simple to apply - -[Learn more about the benefits and uses of provisioning packages.](provisioning-packages.md) - -## What does the desktop wizard do? - -The desktop wizard helps you configure the following settings in a provisioning package: +In this example, we use the **Provision desktop devices** option which helps you configure the following settings in a provisioning package: - Set device name - Upgrade product edition - Configure the device for shared use -- Remove pre-installed software +- Remove preinstalled software - Configure Wi-Fi network - Enroll device in Active Directory or Microsoft Entra ID - Create local administrator account - Add applications and certificates ->[!WARNING] ->You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. +> [IMPORTANT] +> You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. -Provisioning packages can include management instructions and policies, installation of specific apps, customization of network connections and policies, and more. +## Start a new project -> [!TIP] -> Use the desktop wizard to create a package with the common settings, then switch to the advanced editor to add other settings, apps, policies, etc. -> -> :::image type="content" source="images/icd-simple-edit.png" alt-text="In the desktop wizard, open the advanced editor."::: +1. Open Windows Configuration Designer: From either the Start menu or Start menu search, type **Windows Configuration Designer**, and then select the **Windows Configuration Designer** shortcut. -## Create the provisioning package - -Use the Windows Configuration Designer tool to create a provisioning package. [Learn how to install Windows Configuration Designer.](provisioning-install-icd.md) - -1. Open Windows Configuration Designer (by default, %windir%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe). - -1. Click **Provision desktop devices**. +1. Select **Provision desktop devices**. :::image type="content" source="images/icd-create-options-1703.png" alt-text="In Windows Configuration Designer, see the ICD start options."::: -1. Name your project and click **Finish**. The pages for desktop provisioning will walk you through the following steps. +1. Name your project and select **Finish**. The pages for desktop provisioning walk you through the following steps. :::image type="content" source="images/icd-desktop-1703.png" alt-text="In Windows Configuration Designer, select Finish, and see the ICD desktop provisioning."::: - > [!IMPORTANT] > When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location and delete the project files when they are no longer needed. @@ -74,6 +58,9 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L - **Configure devices for shared use**: Select **Yes** or **No** to optimize the Windows client for shared use scenarios. - **Remove pre-installed software**: Optional. Select **Yes** if you want to remove preinstalled software. + > [!NOTE] + > To target devices running versions earlier than Windows 10, version 2004, ComputerName customization must be defined from the setting path: `Accounts/ComputerAccount/ComputerName` from the advanced editor. The default path from the simple editor uses a new CSP that isn't available on older systems. + 1. Set up the network: :::image type="content" source="images/set-up-network-details-desktop.png" alt-text="In Windows Configuration Designer, turn on wireless connectivity, enter the network SSID, and network type."::: @@ -81,7 +68,7 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L If you want to enable network setup, select **Set up network**, and configure the following settings: - **Set up network**: To enable wireless connectivity, select **On**. - - **Network SSID**: Enter the Service Set IDentifier (SSID) of the network. + - **Network SSID**: Enter the Service Set Identifier (SSID) of the network. - **Network type**: Select **Open** or **WPA2-Personal**. If you select **WPA2-Personal**, enter the password for the wireless network. 1. Enable account management: @@ -91,10 +78,11 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L If you want to enable account management, select **Account Management**, and configure the following settings: - **Manage organization/school accounts**: Choose how devices are enrolled. Your options: + - **Active Directory**: Enter the credentials for a least-privileged user account to join the device to the domain. - **Microsoft Entra ID**: Before you use a Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment, [set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup). In your Microsoft Entra tenant, the **maximum number of devices per user** setting determines how many times the bulk token in the wizard can be used. - If you select this option, enter a friendly name for the bulk token you get using the wizard. Set an expiration date for the token. The maximum is 180 days from the date you get the token. Select **Get bulk token**. In **Let's get you signed in**, enter an account that has permissions to join a device to Microsoft Entra ID, and then the password. Select **Accept** to give Windows Configuration Designer the necessary permissions. + If you select this option, enter a friendly name for the bulk token retrieved using the wizard. Set an expiration date for the token. The maximum is 180 days from the date you get the token. Select **Get bulk token**. In **Let's get you signed in**, enter an account that has permissions to join a device to Microsoft Entra ID, and then the password. Select **Accept** to give Windows Configuration Designer the necessary permissions. You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. @@ -123,6 +111,11 @@ Use the Windows Configuration Designer tool to create a provisioning package. [L - **Protect your package**: Select **Yes** or **No** to password protect your provisioning package. When you apply the provisioning package to a device, you must enter this password. -After you're done, click **Create**. It only takes a few seconds. When the package is built, the location where the package is stored is displayed as a hyperlink at the bottom of the page. +After you're done, select **Create**. It only takes a few seconds. When the package is built, the location where the package is stored is displayed as a hyperlink at the bottom of the page. - **Next step**: [How to apply a provisioning package](provisioning-apply-package.md) +## Next steps + +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) diff --git a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md index fd7134875e..2052ee0f96 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md +++ b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md @@ -2,21 +2,21 @@ title: Provision PCs with apps description: Learn how to install multiple Universal Windows Platform (UWP) apps and Windows desktop applications (Win32) in a provisioning package. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Provision PCs with apps You can install multiple Universal Windows Platform (UWP) apps and Windows desktop applications (Win32) in a provisioning package. This article explains the various settings in [Windows Configuration Designer](provisioning-install-icd.md) for app install. -When you add an app in a Windows Configuration Designer wizard, the appropriate settings are displayed based on the app that you select. For instructions on adding an app using the advanced editor in Windows Configuration Designer, see [Add an app using advanced editor](#adv). +When you add an app in a Windows Configuration Designer wizard, the appropriate settings are displayed based on the app that you select. For instructions on adding an app using the advanced editor in Windows Configuration Designer, see [Add an app using advanced editor](#add-a-windows-desktop-application-using-advanced-editor). ->[!IMPORTANT] ->If you plan to use Intune to manage your devices, we recommend using Intune to install Microsoft 365 Apps for enterprise 2016 apps (Access, Excel, OneDrive for Business, OneNote, Outlook, PowerPoint, Publisher, Skype for Business, Word, Project Desktop Client, and Visio Pro for Microsoft 365 Apps for enterprise). Apps that are installed using a provisioning package cannot be managed or modified using Intune. [Learn how to assign Microsoft 365 Apps for enterprise 2016 apps using Microsoft Intune.](/intune/apps-add-office365) +> [!IMPORTANT] +> If you plan to use Intune to manage your devices, we recommend using Intune to install Microsoft 365 Apps for enterprise. Apps that are installed using a provisioning package cannot be managed or modified using Intune. [Learn how to add Microsoft 365 Apps to Windows devices with Microsoft Intune.](/intune/apps-add-office365) ## Settings for UWP apps -- **License Path**: Specify the license file if it is an app from the Microsoft Store. This is optional if you have a certificate for the app. +- **License Path**: Specify the license file if it's an app from the Microsoft Store. This is optional if you have a certificate for the app. - **Package family name**: Specify the package family name if you don't specify a license. This field will be autopopulated after you specify a license. - **Required appx dependencies**: Specify the appx dependency packages that are required for the installation of the app @@ -24,32 +24,23 @@ When you add an app in a Windows Configuration Designer wizard, the appropriate ### MSI installer +- **Command line arguments**: Optionally, append more command arguments. The silent flag is appended for you. Example: PROPERTY=VALUE +- **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install +- **Restart required**: Optionally, specify if you want to reboot after a successful install of this app +- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). + > [!NOTE] > You can find more information about command-line options for Msiexec.exe [here](/windows/win32/msi/command-line-options). -- **Command line arguments**: Optionally, append more command arguments. The silent flag is appended for you. Example: PROPERTY=VALUE - -- **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install - -- **Restart required**: Optionally, specify if you want to reboot after a successful install of this app - -- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). - ### Exe or other installer - **Command line arguments**: Append the command line arguments with a silent flag (required). Optionally, append more flags - -- **Return Codes**: Specify the return codes for success and success with restart (0 and 3010 by default respectively) Any return code that is not listed will be interpreted as failure. The text boxes are space delimited. - +- **Return Codes**: Specify the return codes for success and success with restart (0 and 3010 by default respectively) Any return code that isn't listed is interpreted as failure. The text boxes are space delimited. - **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install - - **Restart required**: Optionally, specify if you want to reboot after a successful install of this app - - **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). - - -## Add a Windows desktop application using advanced editor in Windows Configuration Designer +## Add a Windows desktop application using advanced editor 1. In the **Available customizations** pane, go to **Runtime settings** > **ProvisioningCommands** > **PrimaryContext** > **Command**. @@ -61,50 +52,32 @@ When you add an app in a Windows Configuration Designer wizard, the appropriate ![enter settings for first app.](images/wcd-app-commands.png) -## Add a universal app to your package +## Add a universal app to your package using advanced editor -Universal apps that you can distribute in the provisioning package can be line-of-business (LOB) apps developed by your organization, Microsoft Store for Business apps that you acquire with [offline licensing](/microsoft-store/acquire-apps-windows-store-for-business), or third-party apps. This procedure will assume you are distributing apps from the Microsoft Store for Business. For other apps, obtain the necessary information (such as the package family name) from the app developer. +Universal apps that you can distribute in the provisioning package can be line-of-business (LOB) apps developed by your organization, Microsoft Store for Business apps that you acquire with [offline licensing](/microsoft-store/acquire-apps-windows-store-for-business), or non-Microsoft apps. This procedure assumes you're distributing apps from the Microsoft Store for Business. For other apps, obtain the necessary information (such as the package family name) from the app developer. 1. In the **Available customizations** pane, go to **Runtime settings** > **UniversalAppInstall**. - 1. For **DeviceContextApp**, specify the **PackageFamilyName** for the app. In Microsoft Store for Business, the package family name is listed in the **Package details** section of the download page. - 1. For **ApplicationFile**, select **Browse** to find and select the target app (either an \*.appx or \*.appxbundle). - 1. For **DependencyAppxFiles**, select **Browse** to find and add any dependencies for the app. In Microsoft Store for Business, any dependencies for the app are listed in the **Required frameworks** section of the download page. - 1. For **DeviceContextAppLicense**, enter the **LicenseProductID**. - - In Microsoft Store for Business, generate the unencoded license for the app on the app's download page. - - - - Open the license file and search for **LicenseID=** to get the GUID, enter the GUID in the **LicenseProductID** field and select **Add**. - - 1. In the **Available customizations** pane, select the **LicenseProductId** that you just added. - 1. For **LicenseInstall**, select **Browse**, navigate to the license file that you renamed *\*.**ms-windows-store-license**, and select the license file. [Learn more about distributing offline apps from the Microsoft Store for Business.](/microsoft-store/distribute-offline-apps) -> [!NOTE] +> [!IMPORTANT] > Removing a provisioning package will not remove any apps installed by device context in that provisioning package. - - ## Add a certificate to your package 1. In the **Available customizations** pane, go to **Runtime settings** > **Certificates** > **ClientCertificates**. - 1. Enter a **CertificateName** and then select **Add**. - 1. Enter the **CertificatePassword**. - 1. For **CertificatePath**, browse and select the certificate to be used. - 1. Set **ExportCertificate** to **False**. - 1. For **KeyLocation**, select **Software only**. ## Add other settings to your package @@ -113,15 +86,15 @@ For details about the settings you can customize in provisioning packages, see [ ## Build your package -1. When you are done configuring the provisioning package, on the **File** menu, select **Save**. +1. After you configure the provisioning package, on the **File** menu, select **Save**. 1. Read the warning that project files may contain sensitive information, and select **OK**. - When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files are not encrypted. You should store the project files in a secure location, and delete the project files when they're no longer needed. + When you build a provisioning package, you may include sensitive information in the project files and in the provisioning package (.ppkg) file. Although you have the option to encrypt the .ppkg file, project files aren't encrypted. Store the project files in a secure location, and delete the project files when they're no longer needed. 1. On the **Export** menu, select **Provisioning package**. -1. Change **Owner** to **IT Admin**, which will set the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.** +1. Change **Owner** to **IT Admin**, which sets the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.** 1. Set a value for **Package Version**. @@ -130,8 +103,7 @@ For details about the settings you can customize in provisioning packages, see [ 1. Optional. In the **Provisioning package security** window, you can choose to encrypt the package and enable package signing. - - **Enable package encryption** - If you select this option, an auto-generated password will be shown on the screen. - + - **Enable package encryption** - If you select this option, an autogenerated password is shown on the screen. - **Enable package signing** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by selecting **Select...** and choosing the certificate you want to use to sign the package. > [!TIP] @@ -145,36 +117,21 @@ For details about the settings you can customize in provisioning packages, see [ 1. Select **Build** to start building the package. The project information is displayed in the build page and the progress bar indicates the build status.

    If you need to cancel the build, select **Cancel**. This cancels the current build process, closes the wizard, and takes you back to the **Customizations Page**. -1. If your build fails, an error message will show up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again.

    - If your build is successful, the name of the provisioning package, output directory, and project directory will be shown. +1. If your build fails, an error message shows up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. If your build is successful, the name of the provisioning package, output directory, and project directory is shown. - If you choose, you can build the provisioning package again and pick a different path for the output package. To do this, select **Back** to change the output package name and path, and then select **Next** to start another build. - - - - If you are done, select **Finish** to close the wizard and go back to the **Customizations Page**. + - If you're done, select **Finish** to close the wizard and go back to the **Customizations Page**. 1. Select the **output location** link to go to the location of the package. You can provide that .ppkg to others through any of the following methods: - Shared network folder - - SharePoint site - - Removable media (USB/SD) - - Email -**Next step**: [How to apply a provisioning package](provisioning-apply-package.md) +## Next steps -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) diff --git a/windows/configuration/provisioning-packages/provisioning-apply-package.md b/windows/configuration/provisioning-packages/provisioning-apply-package.md index 2f8bb266e1..a5e44cee63 100644 --- a/windows/configuration/provisioning-packages/provisioning-apply-package.md +++ b/windows/configuration/provisioning-packages/provisioning-apply-package.md @@ -2,7 +2,7 @@ title: Apply a provisioning package description: Provisioning packages can be applied to a device during initial setup (OOBE) and after (runtime). ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Apply a provisioning package @@ -13,22 +13,20 @@ Provisioning packages can be applied to a device during initial setup (out-of-bo > > - Applying a provisioning package to a desktop device requires administrator privileges on the device. > - You can interrupt a long-running provisioning process by pressing ESC. - -> [!TIP] -> In addition to the following methods, you can use the PowerShell cmdlet [Install-ProvisioningPackage](/powershell/module/provisioning/Install-ProvisioningPackage) with `-LogsDirectoryPath` to get logs for the operation. +> - In addition to the following methods, you can use the PowerShell cmdlet [Install-ProvisioningPackage](/powershell/module/provisioning/Install-ProvisioningPackage) with `-LogsDirectoryPath` to get logs for the operation. ## During initial setup To apply a provisioning package from a USB drive during initial setup: -1. Start with a device on the initial setup screen. If the device has gone past this screen, reset the device to start over. To reset, go to **Settings** > **System** > [**Recovery**](ms-settings:recovery) > **Reset this PC**. +1. Start with a device on the initial setup screen. If the device goes past this screen, reset the device to start over. To reset, go to **Settings** > **System** > [**Recovery**](ms-settings:recovery) > **Reset this PC**. :::image type="content" source="images/oobe.png" alt-text="The first screen when setting up a new PC."::: 1. Insert the USB drive. If nothing happens when you insert the USB drive, press the Windows key five times. - If there's only one provisioning package on the USB drive, the provisioning package is applied. See step 5. - - If there's more than one provisioning package on the USB drive, Windows setup recognizes the drive and ask how you want to provision the device. Select **Install provisioning package** and select **Next**. + - If there's more than one provisioning package on the USB drive, Windows setup recognizes the drive and asks how you want to provision the device. Select **Install provisioning package** and select **Next**. :::image type="content" source="images/provisioning-oobe-choice.png" alt-text="What would you like to do?"::: @@ -36,11 +34,11 @@ To apply a provisioning package from a USB drive during initial setup: :::image type="content" source="images/provisioning-oobe-choose-package.png" alt-text="Choose a package."::: -1. The selected provisioning package will install and apply to the device. +1. The selected provisioning package is applied to the device. :::image type="content" source="images/provisioning-oobe-installing.png" alt-text="Setting up your PC."::: -1. Wait for the device to load and begin applying the provisioning package. Once you see "You can remove your removable media now!" you can remove your USB drive. Windows will continue provisioning the device. +1. Wait for the device to load and begin applying the provisioning package. After you see "You can remove your removable media now!" you can remove your USB drive. Windows continues to provision the device. ## After initial setup @@ -60,7 +58,7 @@ Provisioning packages can be applied after initial setup through Windows setting :::image type="content" source="images/provisioning-runtime-add-package.png" alt-text="Select and add a package."::: -1. Provisioning packages require administrator privileges as they can modify system policies and run scripts at the system level. Ensure you trust the package you're installing before accepting the UAC prompt. Select **Yes**. +1. Provisioning packages require administrator privileges as they can modify system policies and run scripts at the system level. Ensure you trust the package you're installing before accepting the User Account Control (UAC) prompt. Select **Yes**. :::image type="content" source="images/provisioning-runtime-UAC.png" alt-text="Do you want to allow changes to your device?"::: @@ -83,16 +81,3 @@ To apply a provisioning package directly, such as from a USB drive, folder, netw 1. The provisioning runtime asks if the package is from a source you trust. Verify that you're applying the correct package and that it's trusted. Select **Yes, add it**. :::image type="content" source="images/provisioning-runtime-trust.png" alt-text="Do you trust this package?"::: - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) diff --git a/windows/configuration/provisioning-packages/provisioning-command-line.md b/windows/configuration/provisioning-packages/provisioning-command-line.md index 12a10ae502..5ff3a5cf1d 100644 --- a/windows/configuration/provisioning-packages/provisioning-command-line.md +++ b/windows/configuration/provisioning-packages/provisioning-command-line.md @@ -1,20 +1,17 @@ --- title: Windows Configuration Designer command line interface -description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command line interface for Windows10/11 client devices. +description: Learn more about the ICD syntax, switches, and arguments that you can use in the Windows Configuration Designer command line interface for Windows devices. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Windows Configuration Designer command line interface (reference) +# Windows Configuration Designer command line interface You can use the Windows Configuration Designer command line interface (CLI) to automate the building of provisioning packages. - IT pros can use the Windows Configuration Designer CLI to require less retooling of existing processes. You must run the Windows Configuration Designer CLI from a command window with administrator privileges. - - You must use the Windows Configuration Designer CLI and edit the customizations.xml sources to create a provisioning package with multivariant support. You need the customizations.xml file as one of the inputs to the Windows Configuration Designer CLI to build a provisioning package. For more information, see [Create a provisioning package with multivariant settings](provisioning-multivariant.md). - - ## Syntax ``` cmd @@ -29,25 +26,9 @@ icd.exe /Build-ProvisioningPackage /CustomizationXML: /PackagePath: | Switch | Required? | Arguments | | --- | --- | --- | | /CustomizationXML | No | Specifies the path to a Windows provisioning XML file that contains the customization assets and settings. For more information, see Windows provisioning answer file. | -| /PackagePath | Yes | Specifies the path and the package name where the built provisioning package will be saved. | +| /PackagePath | Yes | Specifies the path and the package name where the built provisioning package is saved. | | /StoreFile | No


    See Important note. | For partners using a settings store other than the default store(s) used by Windows Configuration Designer, use this parameter to specify the path to one or more comma-separated Windows settings store file. By default, if you don't specify a settings store file, the settings store that's common to all Windows editions is loaded by Windows Configuration Designer.


    **Important** If you use this parameter, you must not use /MSPackageRoot or /OEMInputXML. | | /Variables | No | Specifies a semicolon separated `` and `` macro pair. The format for the argument must be `=`. | | Encrypted | No | Denotes whether the provisioning package should be built with encryption. Windows Configuration Designer autogenerates the decryption password and includes this information in the output.

    Precede with `+` for encryption, or `-` for no encryption. The default is no encryption. | | Overwrite | No | Denotes whether to overwrite an existing provisioning package.

    Precede with + to overwrite an existing package or - if you don't want to overwrite an existing package. The default is false (don't overwrite). | | /? | No | Lists the switches and their descriptions for the command-line tool or for certain commands. | - - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) - - diff --git a/windows/configuration/provisioning-packages/provisioning-create-package.md b/windows/configuration/provisioning-packages/provisioning-create-package.md index 0824710f19..b239dfb3d5 100644 --- a/windows/configuration/provisioning-packages/provisioning-create-package.md +++ b/windows/configuration/provisioning-packages/provisioning-create-package.md @@ -1,16 +1,14 @@ --- -title: Create a provisioning package -description: Learn how to create a provisioning package for Windows 10/11, which lets you quickly configure a device without having to install a new image. +title: Create a provisioning package (advanced) +description: Learn how to create a provisioning package for Windows, which lets you quickly configure a device without having to install a new image. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Create a provisioning package +# Create a provisioning package (advanced) You can use Windows Configuration Designer to create a provisioning package (`.ppkg`) that contains customization settings, and then apply the provisioning package to a device running Windows client. ->[Learn how to install Windows Configuration Designer.](provisioning-install-icd.md) - > [!TIP] > We recommend creating a local admin account when you develop and test your provisioning package. We also recommend using a *least privileged* domain user account to join devices to the Active Directory domain. @@ -18,29 +16,14 @@ You can use Windows Configuration Designer to create a provisioning package (`.p 1. Open Windows Configuration Designer: From either the Start menu or Start menu search, type **Windows Configuration Designer**, and then select the **Windows Configuration Designer** shortcut. -1. Select your desired option on the **Start** page, which offers multiple options for creating a provisioning package, as shown in the following image: +1. Select **Advanced provisioning** on the start page, which offers multiple options for creating a provisioning package, as shown in the following image: ![Configuration Designer wizards.](images/icd-create-options-1703.png) - - The following wizard options provide a simple interface for configuring common settings for desktop and kiosk devices: - - - [Instructions for the desktop wizard](provision-pcs-for-initial-deployment.md) - - [Instructions for the kiosk wizard](../kiosk-single-app.md#wizard) - - [Instructions for HoloLens wizard](/hololens/hololens-provisioning) - - [Instructions for Surface Hub wizard](/surface-hub/provisioning-packages-for-surface-hub) - - Wizards are also available for creating provisioning packages for Microsoft Surface Hub and Microsoft HoloLens devices. For a summary of the settings available in the desktop and kiosk devices, see [What you can configure using Configuration Designer wizards](provisioning-packages.md#configuration-designer-wizards). - - - >[!NOTE] - >To target devices running versions earlier than Windows 10, version 2004, ComputerName customization must be defined from the setting path: `Accounts/ComputerAccount/ComputerName` from the advanced editor. The default path from the simple editor uses a new CSP that isn't available on older systems. - - - The **Advanced provisioning** option opens a new project with all the runtime settings available. (The rest of this procedure uses advanced provisioning.) - - >[!TIP] - > You can start a project in the simple wizard editor and then switch the project to the advanced editor. - > - > ![Switch to advanced editor.](images/icd-switch.png) + > [!TIP] + > You can start a project in the simple wizard editor and then switch the project to the advanced editor. + > + > ![Switch to advanced editor.](images/icd-switch.png) 1. Enter a name for your project, and then select **Next**. @@ -48,7 +31,7 @@ You can use Windows Configuration Designer to create a provisioning package (`.p | Windows edition | Settings available for customization | Provisioning package can apply to | |---|---|---| - | All Windows editions | Common settings | All Windows client devices | + | All Windows editions | Common settings | All Windows client devices | | All Windows desktop editions | Common settings and settings specific to desktop devices | All Windows client desktop editions (Home, Pro, Enterprise, Pro Education, Enterprise Education) | | Windows 10 IoT Core | Common settings and settings specific to Windows 10 IoT Core | All Windows 10 IoT Core devices | | Windows 10 Holographic | Common settings and settings specific to Windows 10 Holographic | [Microsoft HoloLens](/hololens/hololens-provisioning) | @@ -67,7 +50,10 @@ For an advanced provisioning project, Windows Configuration Designer opens the * ![What the ICD interface looks like.](images/icd-runtime.png) -The settings in Windows Configuration Designer are based on Windows client configuration service providers (CSPs). To learn more about CSPs, see [Introduction to configuration service providers (CSPs) for IT pros](./how-it-pros-can-use-configuration-service-providers.md). +The settings in Windows Configuration Designer are based on Windows client configuration service providers (CSPs). To learn more about CSPs, see [Introduction to configuration service providers (CSPs) for IT pros](how-it-pros-can-use-configuration-service-providers.md). + +> [!NOTE] +> To target devices running versions earlier than Windows 10, version 2004, ComputerName customization must be defined from the setting path: `Accounts/ComputerAccount/ComputerName` from the advanced editor. The default path from the simple editor uses a new CSP that isn't available on older systems. The process for configuring settings is similar for all settings. The following table shows an example. @@ -83,11 +69,11 @@ The process for configuring settings is similar for all settings. The following :::image type="content" source="images/icd-step3.png" alt-text="In Windows Configuration Designer, enter a name for the certificate."::: -1. Some settings, such as this example, require additional information. In **Available customizations**, select the value you just created, and more settings are displayed: +1. Some settings, such as this example, require additional information. In **Available customizations**, select the value you created, and more settings are displayed: :::image type="content" source="images/icd-step4.png" alt-text="In Windows Configuration Designer, additional settings for client certificate are available."::: -1. When the setting is configured, it is displayed in the **Selected customizations** pane: +1. When the setting is configured, it's displayed in the **Selected customizations** pane: :::image type="content" source="images/icd-step5.png" alt-text="In Windows Configuration Designer, the selected customizations pane shows your settings."::: @@ -97,27 +83,26 @@ For details on each specific setting, see [Windows Provisioning settings referen ## Build package -1. After you're done configuring your customizations, select **Export**, and then select **Provisioning Package**. +1. After you configure your customizations, select **Export**, and then select **Provisioning Package**. ![Export on top bar.](images/icd-export-menu.png) 1. In the **Describe the provisioning package** window, enter the following information, and then select **Next**: - - **Name** - This field is pre-populated with the project name. You can change this value by entering a different name in the **Name** field. - - **Version (in Major.Minor format** - Optional. You can change the default package version by specifying a new value in the **Version** field. + - **Name** - This field is prepopulated with the project name. You can change this value by entering a different name in the **Name** field. + - **Version (in Major.Minor format** - Optional. You can change the default package version by specifying a new value in the **Version** field. - **Owner** - Select **IT Admin**. For more information, see [Precedence for provisioning packages](provisioning-how-it-works.md#precedence-for-provisioning-packages). - **Rank (between 0-99)** - Optional. You can select a value between 0 and 99, inclusive. The default package rank is 0. 1. In the **Select security details for the provisioning package** window, you can select to encrypt and/or sign a provisioning package with a selected certificate, and then select **Next**. Both selections are optional: - - **Encrypt package** - If you select this option, an autogenerated password will be shown on the screen. - - **Sign package** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by selecting **Select** and choosing the certificate you want to use to sign the package. + - **Encrypt package** - If you select this option, an autogenerated password is shown on the screen. + - **Sign package** - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by selecting **Select** and choosing the certificate you want to use to sign the package. - >[!NOTE] - >You should only configure provisioning package security when the package is used for device provisioning and when the package has content with sensitive security data, such as certificates or credentials that should be prevented from being compromised. When applying an encrypted and/or signed provisioning package, either during OOBE or through the setting UI, the package can be decrypted, and if signed, be trusted without explicit user consent. An IT administrator can set policy on a user device to restrict the removal of required packages from the device, or the provisioning of potentially harmful packages on the device. - - > - >If a provisioning package is signed by a trusted provisioner, it can be installed on a device without a prompt for user consent. In order to enable trusted provider certificates, you must set the **TrustedProvisioners** setting prior to installing the trusted provisioning package. This is the only way to install a package without user consent. To provide additional security, you can also set **RequireProvisioningPackageSignature**, which prevents users from installing provisioning packages that are not signed by a trusted provisioner. + > [!NOTE] + > You should only configure provisioning package security when the package is used for device provisioning and when the package has content with sensitive security data, such as certificates or credentials that should be prevented from being compromised. When applying an encrypted and/or signed provisioning package, either during OOBE or through the setting UI, the package can be decrypted, and if signed, be trusted without explicit user consent. An IT administrator can set policy on a user device to restrict the removal of required packages from the device, or the provisioning of potentially harmful packages on the device. + > + > If a provisioning package is signed by a trusted provisioner, it can be installed on a device without a prompt for user consent. In order to enable trusted provider certificates, you must set the **TrustedProvisioners** setting prior to installing the trusted provisioning package. This is the only way to install a package without user consent. To provide additional security, you can also set **RequireProvisioningPackageSignature**, which prevents users from installing provisioning packages that are not signed by a trusted provisioner. 1. In the **Select where to save the provisioning package** window, specify the output location where you want the provisioning package to go once it's built, and then select **Next**. By default, Windows Configuration Designer uses the project folder as the output location. @@ -125,29 +110,17 @@ For details on each specific setting, see [Windows Provisioning settings referen If you need to cancel the build, select **Cancel**. This cancels the current build process, closes the wizard, and takes you back to the **Customizations** page. -1. If your build fails, an error message will appear that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. +1. If your build fails, an error message appears that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. - If your build is successful, the name of the provisioning package, output directory, and project directory will be shown. + If your build is successful, the name of the provisioning package, output directory, and project directory is shown. If you choose, you can build the provisioning package again and pick a different path for the output package. To do this, select **Back** to change the output package name and path, and then select **Next** to start another build. -1. When you are done, select **Finish** to close the wizard and go back to the **Customizations** page. +1. When you're done, select **Finish** to close the wizard and go back to the **Customizations** page. -**Next step**: [How to apply a provisioning package](provisioning-apply-package.md) +## Next steps -## Learn more - -- [How to bulk-enroll devices with On-premises Mobile Device Management in Microsoft Configuration Manager](/configmgr/mdm/deploy-use/bulk-enroll-devices-on-premises-mdm) - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) \ No newline at end of file diff --git a/windows/configuration/provisioning-packages/provisioning-how-it-works.md b/windows/configuration/provisioning-packages/provisioning-how-it-works.md index 24c02a6557..ec61311214 100644 --- a/windows/configuration/provisioning-packages/provisioning-how-it-works.md +++ b/windows/configuration/provisioning-packages/provisioning-how-it-works.md @@ -1,13 +1,13 @@ --- -title: How provisioning works in Windows 10/11 +title: How provisioning works in Windows description: Learn more about how provisioning package work on Windows client devices. A provisioning package (.ppkg) is a container for a collection of configuration settings. ms.topic: conceptual -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # How provisioning works in Windows -Provisioning packages in Windows client provide IT administrators with a simplified way to apply configuration settings to Windows client devices. Windows Configuration Designer is a tool that makes it easy to create a provisioning package. Windows Configuration Designer can be installed from Microsoft Store. +Provisioning packages in Windows client provide IT administrators with a simplified way to apply configuration settings to Windows client devices. Windows Configuration Designer is a tool that makes it easy to create a provisioning package. Windows Configuration Designer can be installed from the Microsoft Store. ## Provisioning packages @@ -30,15 +30,10 @@ You can use provisioning packages for runtime device provisioning by accessing When multiple provisioning packages are available for device provisioning, the combination of package owner type and package rank level defined in the package manifest is used to resolve setting conflicts. The pre-defined package owner types are listed below in the order of lowest to highest owner type precedence: 1. Microsoft - 1. Silicon Vendor - 1. OEM - 1. System Integrator - 1. Mobile Operator - 1. IT Admin The valid value range of package rank level is 0 to 99. @@ -130,16 +125,3 @@ When applying provisioning packages from a removable media attached to the devic When applying multiple provisioning packages to a device, the provisioning engine resolves settings with conflicting configuration values from different packages by evaluating the package ranking using the combination of package owner type and package rank level defined in the package metadata. A configuration setting applied from a provisioning package with the highest package ranking will be the final value applied to the device. After a stand-alone provisioning package is applied to the device, the package is persisted in the `%ProgramData%\Microsoft\Provisioning` folder on the device. Provisioning packages can be removed by an administrator by using the **Add or remove a provisioning package** available under **Settings** > **Accounts** > **Access work or school**. - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) diff --git a/windows/configuration/provisioning-packages/provisioning-install-icd.md b/windows/configuration/provisioning-packages/provisioning-install-icd.md index 9b572cde75..8acca19051 100644 --- a/windows/configuration/provisioning-packages/provisioning-install-icd.md +++ b/windows/configuration/provisioning-packages/provisioning-install-icd.md @@ -1,15 +1,17 @@ --- title: Install Windows Configuration Designer -description: Learn how to install and use Windows Configuration Designer so you can easily configure devices running Windows 10/11. +description: Learn how to install and use Windows Configuration Designer so you can easily configure devices running Windows. ms.topic: how-to ms.reviewer: kevinsheehan -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# Install Windows Configuration Designer, and learn about any limitations +# Install Windows Configuration Designer Use the Windows Configuration Designer tool to create provisioning packages to easily configure devices running Windows client. Windows Configuration Designer is primarily used by IT departments for business and educational institutions who need to provision bring-your-own-device (BYOD) and business-supplied devices. +On devices running Windows client, you can install [the Windows Configuration Designer app](https://www.microsoft.com/store/apps/9nblggh4tx22) from the Microsoft Store. + ## Supported platforms Windows Configuration Designer can create provisioning packages for Windows client desktop, including Windows IoT Core, Microsoft Surface Hub, and Microsoft HoloLens. You can run Windows Configuration Designer on the following operating systems: @@ -18,32 +20,22 @@ Windows Configuration Designer can create provisioning packages for Windows clie - Windows 11 - Windows 10 - x86 and amd64 -- Windows 8.1 Update - x86 and amd64 -- Windows 8.1 - x86 and amd64 -- Windows 8 - x86 and amd64 -- Windows 7 - x86 and amd64 **Server OS**: +- Windows Server 2022 +- Windows Server 2019 - Windows Server 2016 -- Windows Server 2012 R2 Update -- Windows Server 2012 R2 -- Windows Server 2012 -- Windows Server 2008 R2 ->[!WARNING] ->You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. - -## Install Windows Configuration Designer - -On devices running Windows client, you can install [the Windows Configuration Designer app](https://www.microsoft.com/store/apps/9nblggh4tx22) from the Microsoft Store. +> [!WARNING] +> You must run Windows Configuration Designer on Windows client to configure Microsoft Entra enrollment using any of the wizards. ## Current Windows Configuration Designer limitations -- When running Windows Configuration Designer on Windows releases earlier than Windows 10, version 2004 you might need to enable TLS 1.2, especially if using Bulk Enrollment Tokens. You may see the error message in the `icd.log` file: `Error: AADSTS1002016: You are using TLS version 1.0, 1.1 and/or 3DES cipher which are deprecated to improve the security posture of Azure AD` For more information, see [Enable TLS 1.2 on client or server operating systems](/troubleshoot/azure/active-directory/enable-support-tls-environment#enable-tls-12-on-client-or-server-operating-systems-). +- When running Windows Configuration Designer on Windows releases earlier than Windows 10, version 2004 you might need to enable TLS 1.2, especially if using Bulk Enrollment Tokens. You may see the error message in the `icd.log` file: `Error: AADSTS1002016: You are using TLS version 1.0, 1.1 and/or 3DES cipher which are deprecated to improve the security posture of Azure AD` For more information, see [Enable TLS 1.2 on client or server operating systems](/troubleshoot/azure/active-directory/enable-support-tls-environment#enable-tls-12-on-client-or-server-operating-systems-). -- Windows Configuration Designer doesn't work properly when the Group Policy setting **Policies** > **Administrative Templates** > **Windows Components** > **Internet Explorer** > **Security Zones: Use only machine settings** is enabled. When this policy is set, each step will display oversized buttons that fill the **Windows Configuration Designer** window. Additionally, the various options and descriptions that are normally to the right of the buttons won't be displayed because the buttons take up all of the space in the **Windows Configuration Designer** window. To resolve the problem, run Windows Configuration Designer on a device that doesn't have this policy enabled. +- Windows Configuration Designer doesn't work properly when the Group Policy setting **Policies** > **Administrative Templates** > **Windows Components** > **Internet Explorer** > **Security Zones: Use only machine settings** is enabled. When this policy is set, each step displays oversized buttons that fill the **Windows Configuration Designer** window. Additionally, the various options and descriptions that are normally to the right of the buttons aren't displayed because the buttons take up all of the space in the **Windows Configuration Designer** window. To resolve the problem, run Windows Configuration Designer on a device that doesn't have this policy enabled. - You can only run one instance of Windows Configuration Designer on your computer at a time. @@ -68,17 +60,10 @@ On devices running Windows client, you can install [the Windows Configuration De - **Recommended**: Before starting, copy all source files to the PC running Windows Configuration Designer. Don't use external sources, like network shares or removable drives. Using local files reduces the risk of interrupting the build process from a network issue, or from disconnecting the USB device. -**Next step**: [How to create a provisioning package](provisioning-create-package.md) +## Next steps -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about creating a provisioning package: +> +> [Create a provisioning package (simple)](provision-pcs-for-initial-deployment.md) +> [Create a provisioning package (advanced)](provisioning-create-package.md) diff --git a/windows/configuration/provisioning-packages/provisioning-multivariant.md b/windows/configuration/provisioning-packages/provisioning-multivariant.md index 6ecb125be7..01be2943f7 100644 --- a/windows/configuration/provisioning-packages/provisioning-multivariant.md +++ b/windows/configuration/provisioning-packages/provisioning-multivariant.md @@ -2,18 +2,18 @@ title: Create a provisioning package with multivariant settings description: Create a provisioning package with multivariant settings to customize the provisioned settings for defined conditions. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Create a provisioning package with multivariant settings -In your organization, you might have different configuration requirements for devices that you manage. You can create separate provisioning packages for each group of devices in your organization that have different requirements. Or, you can create a multivariant provisioning package, a single provisioning package that can work for multiple conditions. For example, in a single provisioning package, you can define one set of customization settings that will apply to devices set up for French and a different set of customization settings for devices set up for Japanese. +In your organization, you might have different configuration requirements for devices that you manage. You can create separate provisioning packages for each group of devices in your organization that have different requirements. Or, you can create a multivariant provisioning package, a single provisioning package that can work for multiple conditions. For example, in a single provisioning package, you can define one set of customization settings that apply to devices set up for French and a different set of customization settings for devices set up for Japanese. To provision multivariant settings, you use Windows Configuration Designer to create a provisioning package that contains all of the customization settings that you want to apply to any of your devices. Next, you manually edit the .XML file for that project to define each set of devices (a **Target**). For each **Target**, you specify at least one **Condition** with a value, which identifies the devices to receive the configuration. Finally, for each **Target**, you provide the customization settings to be applied to those devices. Let's begin by learning how to define a **Target**. -## Define a target +## Target In the XML file, you provide an **Id**, or friendly name, for each **Target**. Each **Target** is defined by at least one **TargetState** which contains at least one **Condition**. A **Condition** element defines the matching type between the condition and the specified value. @@ -43,9 +43,9 @@ The following table shows the conditions supported in Windows client provisionin | PNN | P0 | Supported | String | Use to target settings based on public land mobile network (PLMN) Network Name value. | | GID1 | P0 | Supported | Digit string | Use to target settings based on the Group Identifier (level 1) value. | | ICCID | P0 | Supported | Digit string | Use to target settings based on the Integrated Circuit Card Identifier (ICCID) value. | -| Roaming | P0 | N/A | Boolean | Use to specify roaming. Set the value to **1** (roaming) or **0** (non-roaming). | -| UICC | P0 | N/A | Enumeration | Use to specify the Universal Integrated Circuit Card (UICC) state. Set the value to one of the following:


    - 0 - Empty
    - 1 - Ready
    - 2 - Locked | -| UICCSLOT | P0 | N/A | Digit string | Use to specify the UICC slot. Set the value one of the following:


    - 0 - Slot 0
    - 1 - Slot 1 | +| Roaming | P0 | N/A | Boolean | Use to specify roaming. Set the value to **1** (roaming) or **0** (nonroaming). | +| UICC | P0 | N/A | Enumeration | Use to specify the Universal Integrated Circuit Card (UICC) state. Set the value to one of these values:
    0 - Empty
    1 - Ready
    2 - Locked | +| UICCSLOT | P0 | N/A | Digit string | Use to specify the UICC slot. Set the value one of these values:
    0 - Slot 0
    1 - Slot 1 | | ProcessorType | P1 | Supported | String | Use to target settings based on the processor type. | | ProcessorName | P1 | Supported | String | Use to target settings based on the processor name. | | AoAc ("Always On, Always Connected") | P1 | Supported | Boolean | Set the value to **0** (false) or **1** (true). If this condition is TRUE, the system supports the S0 low power idle model. | @@ -53,17 +53,16 @@ The following table shows the conditions supported in Windows client provisionin | SocIdentifier | P1 | Supported | String | Use to target settings based on the Soc Identifier. Available since 25301 OS build version. | | Architecture | P1 | Supported | String | Matches the PROCESSOR_ARCHITECTURE environment variable. | | Server | P1 | Supported | Boolean | Set the value to **0** (false) or **1** (true) to identify a server. | -| Region | P1 | Supported | Enumeration | Use to target settings based on country/region, using the 2-digit alpha ISO code per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). | -| Lang | P1 | Supported | Enumeration | Use to target settings based on language code, using the 2-digit [ISO 639 alpha-2 code](https://en.wikipedia.org/wiki/ISO_639). | +| Region | P1 | Supported | Enumeration | Use to target settings based on region, using the two digit alpha ISO code per [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). | +| Lang | P1 | Supported | Enumeration | Use to target settings based on language code, using the two digit [ISO 639 alpha-2 code](https://en.wikipedia.org/wiki/ISO_639). | The matching types supported in Windows client are: -| Matching type | Syntax | Example | -| --- | --- | --- | -| Straight match | Matching type is specified as-is | <Condition Name="ProcessorName" Value="Barton" /> | -| Regular expression (Regex) match | Matching type is prefixed by "Pattern:" | <Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" /> | -| Numeric range match | Matching type is prefixed by "!Range:" | <Condition Name="MNC" Value="!Range:400, 550" /> | - +| Matching type | Syntax | Example | +|-----------------------------------|-------------------------------------------|------------------------------------------------------------------------| +| Straight match | Matching type is specified as-is | `<Condition Name="ProcessorName" Value="Barton" />` | +| Regular expressions (Regex) match | Matching type is prefixed with `Pattern:` | `<Condition Name="ProcessorName" Value="Pattern:.*Celeron.*" />` | +| Numeric range match | Matching type is prefixed with `!Range:` | `<Condition Name="MNC" Value="!Range:400, 550" />` | ### TargetState priorities @@ -76,27 +75,18 @@ Settings that match more than one **TargetState** with equal priority are applie The **TargetState** priority is assigned based on the condition's priority (see the [Conditions table](#conditions) for priorities). The priority evaluation rules are as followed: 1. A **TargetState** with P0 conditions is higher than a **TargetState** without P0 conditions. - 1. A **TargetState** with both P0 and P1 conditions is higher than a **TargetState** with only P0 conditions. - 1. A **TargetState** with a greater number of matched P0 conditions is higher than **TargetState** with fewer matched P0 conditions, regardless of the number of P1 conditions matched. - -1. If the number of P0 conditions matched are equivalent, then the **TargetState** with the most matched P1 conditions has higher priority. - +1. If the number of P0 conditions matched is equivalent, then the **TargetState** with the most matched P1 conditions has higher priority. 1. If both P0 and P1 conditions are equally matched, then the **TargetState** with the greatest total number of matched conditions has highest priority. - - ## Create a provisioning package with multivariant settings Follow these steps to create a provisioning package with multivariant capabilities. 1. Build a provisioning package and configure the customizations you want to apply during certain conditions. For more information, see [Create a provisioning package](provisioning-create-package.md). - -1. After you've [configured the settings](provisioning-create-package.md#configure-settings), save the project. - +1. After you [configure the settings](provisioning-create-package.md#configure-settings), save the project. 1. Open the project folder and copy the customizations.xml file to any local location. - 1. Use an XML or text editor to open the customizations.xml file. The customizations.xml file holds the package metadata (including the package owner and rank) and the settings that you configured when you created your provisioning package. The **Customizations** node of the file contains a **Common** section, which contains the customization settings. @@ -131,10 +121,9 @@ Follow these steps to create a provisioning package with multivariant capabiliti ``` -1. Edit the customizations.xml file to create a **Targets** section to describe the conditions that will handle your multivariant settings. - - The following example shows the customizations.xml, which has been modified to include several conditions including **ProcessorName**, **ProcessorType**, **MCC**, and **MNC**. +1. Edit the customizations.xml file to create a **Targets** section to describe the conditions that handle your multivariant settings. + The following example shows the customizations.xml, which is modified to include several conditions including **ProcessorName**, **ProcessorType**, **MCC**, and **MNC**. ```XML @@ -185,18 +174,15 @@ Follow these steps to create a provisioning package with multivariant capabiliti 1. In the customizations.xml file, create a **Variant** section for the settings you need to customize. To do this: a. Define a child **TargetRefs** element. - - b. Within the **TargetRefs** element, define a **TargetRef** element. You can define multiple **TargetRef** elements for each **Id** that you need to apply to customized settings. - c. Move compliant settings from the **Common** section to the **Variant** section. If any of the **TargetRef** elements matches the **Target**, all settings in the **Variant** are applied. - >[!NOTE] - >You can define multiple **Variant** sections. Settings that reside in the **Common** section are applied unconditionally on every triggering event. + > [!NOTE] + > You can define multiple **Variant** sections. Settings that reside in the **Common** section are applied unconditionally on every triggering event. - The following example shows the customizations.xml updated to include a **Variant** section and the moved settings that will be applied if the conditions for the variant are met. + The following example shows the customizations.xml updated to include a **Variant** section and the moved settings that are applied if the conditions for the variant are met. ```XML @@ -249,10 +235,9 @@ Follow these steps to create a provisioning package with multivariant capabiliti - ``` -1. Save the updated customizations.xml file and note the path to this updated file. You will need the path as one of the values for the next step. +1. Save the updated customizations.xml file and note the path to this updated file. You'll need the path as one of the values for the next step. 1. Use the [Windows Configuration Designer command-line interface](provisioning-command-line.md) to create a provisioning package using the updated customizations.xml. @@ -262,13 +247,10 @@ Follow these steps to create a provisioning package with multivariant capabiliti icd.exe /Build-ProvisioningPackage /CustomizationXML:"C:\CustomProject\customizations.xml" /PackagePath:"C:\CustomProject\output.ppkg" /StoreFile:C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\Microsoft-Common-Provisioning.dat" ``` +In this example, the **StoreFile** corresponds to the location of the settings store that is used to create the package for the required Windows edition. -In this example, the **StoreFile** corresponds to the location of the settings store that will be used to create the package for the required Windows edition. - ->[!NOTE] ->The provisioning package created during this step will contain the multivariant settings. You can use this package either as a standalone package that you can apply to a Windows device or use it as the base when starting another project. - - +> [!NOTE] +> The provisioning package created during this step contains the multivariant settings. You can use this package either as a standalone package that you can apply to a Windows device or use it as the base when starting another project. ## Events that trigger provisioning @@ -276,26 +258,11 @@ When you install the multivariant provisioning package on a Windows client devic The following events trigger provisioning on Windows client devices: -| Event | Windows client for desktop editions | -| --- | --- | -| System boot | Supported | -| Operating system update | Planned | -| Package installation during device first run experience | Supported | -| Detection of SIM presence or update | Supported | -| Package installation at runtime | Supported | -| Roaming detected | Not supported | - - -## Related articles - -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) - +| Event | Windows client for desktop editions | +|---------------------------------------------------------|-------------------------------------| +| System boot | Supported | +| Operating system update | Planned | +| Package installation during device first run experience | Supported | +| Detection of SIM presence or update | Supported | +| Package installation at runtime | Supported | +| Roaming detected | Not supported | diff --git a/windows/configuration/provisioning-packages/provisioning-packages.md b/windows/configuration/provisioning-packages/provisioning-packages.md index 050fc24beb..a226b877f3 100644 --- a/windows/configuration/provisioning-packages/provisioning-packages.md +++ b/windows/configuration/provisioning-packages/provisioning-packages.md @@ -1,9 +1,9 @@ --- title: Provisioning packages overview -description: With Windows 10 and Windows 11, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. Learn about what provisioning packages, are and what they do. +description: With Windows, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. Learn about what provisioning packages are and what they do. ms.reviewer: kevinsheehan ms.topic: conceptual -ms.date: 12/31/2017 +ms.date: 07/08/2024 --- # Provisioning packages for Windows @@ -12,29 +12,17 @@ Windows provisioning makes it easy for IT administrators to configure end-user d A provisioning package (.ppkg) is a container for a collection of configuration settings. With Windows client, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. -Provisioning packages are simple enough that with a short set of written instructions, a student, or non-technical employee can use them to configure their device. It can result in a significant reduction in the time required to configure multiple devices in your organization. - - +Provisioning packages are simple enough that with a short set of written instructions, a student, or nontechnical users can use them to configure their device. It can result in a significant reduction in the time required to configure multiple devices in your organization. Windows Configuration Designer is available as an [app in the Microsoft Store](https://www.microsoft.com/store/apps/9nblggh4tx22). - - - - - - - - - - ## Benefits of provisioning packages Provisioning packages let you: - Quickly configure a new device without going through the process of installing a new image. - Save time by configuring multiple devices using one provisioning package. -- Quickly configure employee-owned devices in an organization without a mobile device management (MDM) infrastructure. +- Quickly configure user-owned devices in an organization without a mobile device management (MDM) infrastructure. - Set up a device without the device having network connectivity. Provisioning packages can be: @@ -44,57 +32,7 @@ Provisioning packages can be: - Downloaded from a network share. - Deployed in NFC tags or barcodes. -## What you can configure - -### Configuration Designer wizards - -The following table describes settings that you can configure using the wizards in Windows Configuration Designer to create provisioning packages. - -| Step | Description | Desktop wizard | Kiosk wizard | HoloLens wizard | -| --- | --- | --- | --- | --- | -| Set up device | Assign device name, enter product key to upgrade Windows, configure shared use, remove pre-installed software | ✅ | ✅ | ✅ | -| Set up network | Connect to a Wi-Fi network | ✅ | ✅ | ✅ | -| Account management | Enroll device in Active Directory, enroll device in Microsoft Entra ID, or create a local administrator account | ✅ | ✅ | ✅ | -| Bulk Enrollment in Microsoft Entra ID | Enroll device in Microsoft Entra ID using Bulk Token

    [Set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup), before you use Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment. | ✅ | ✅ | ✅ | -| Add applications | Install applications using the provisioning package. | ✅ | ✅ | ❌ | -| Add certificates | Include a certificate file in the provisioning package. | ✅ | ✅ | ✅ | -| Configure kiosk account and app | Create local account to run the kiosk mode app, specify the app to run in kiosk mode | ❌ | ✅ | ❌ | -| Configure kiosk common settings | Set tablet mode, configure welcome and shutdown screens, turn off timeout settings | ❌ | ✅ | ❌ | -| Developer Setup | Enable Developer Mode | ❌ | ❌ | ✅ | - -- [Instructions for the desktop wizard](provision-pcs-for-initial-deployment.md) -- [Instructions for the kiosk wizard](../kiosk-single-app.md#wizard) -- [Instructions for the HoloLens wizard](/hololens/hololens-provisioning#wizard) - ->[!NOTE] ->After you start a project using a Windows Configuration Designer wizard, you can switch to the advanced editor to configure additional settings in the provisioning package. - -### Configuration Designer advanced editor - -The following table provides some examples of settings that you can configure using the Windows Configuration Designer advanced editor to create provisioning packages. - -| Customization options | Examples | -|---|---| -| Bulk Active Directory join and device name | Join devices to Active Directory domain and assign device names using hardware-specific serial numbers or random characters | -| Applications | Windows apps, line-of-business applications | -| Bulk enrollment into MDM | Automatic enrollment into a third-party MDM service

    Using a provisioning package for auto-enrollment to Microsoft Intune isn't supported. To enroll devices, use the Configuration Manager console. | -| Certificates | Root certification authority (CA), client certificates | -| Connectivity profiles | Wi-Fi, proxy settings, Email | -| Enterprise policies | Security restrictions (password, device lock, camera, and so on), encryption, update settings | -| Data assets | Documents, music, videos, pictures | -| Start menu customization | Start menu layout, application pinning | -| Other | Home and lock screen wallpaper, computer name, domain join, DNS settings, and so on | - -For details about the settings you can customize in provisioning packages, see [Windows Provisioning settings reference]( https://go.microsoft.com/fwlink/p/?LinkId=619012). - - - - - - -WCD, simplified common provisioning scenarios. - -:::image type="content" source="images/icd.png" alt-text="Configuration Designer options"::: +## Provisioning scenarios WCD supports the following scenarios for IT administrators: @@ -111,8 +49,54 @@ WCD supports the following scenarios for IT administrators: - MobileIron (password-string based enrollment) - Other MDMs (cert-based enrollment) - - +> [!NOTE] +> The Provision school devices wizard is removed from Windows Configuration Designer. Instead, use the [Setup School PCs app](https://www.microsoft.com/store/p/set-up-school-pcs/9nblggh4ls40) from the Microsoft Store. + +:::image type="content" source="images/icd.png" alt-text="Configuration Designer options"::: + +## What you can configure + +Windows Configuration Designer provides the following simple provisioning scenarios: + +- [Instructions for the desktop wizard](provision-pcs-for-initial-deployment.md) +- [Instructions for the kiosk wizard](../assigned-access/overview.md) +- [Instructions for the HoloLens wizard](/hololens/hololens-provisioning#provisioning-package-hololens-wizard) +- [Instructions for the Surface Hub wizard](/surface-hub/provisioning-packages-for-surface-hub) + +The following table describes settings that you can configure using the wizards in Windows Configuration Designer to create provisioning packages. + +| Step | Description | Desktop wizard | Kiosk wizard | HoloLens wizard | +| --- | --- | --- | --- | --- | +| Set up device | Assign device name, enter product key to upgrade Windows, configure shared use, remove preinstalled software | ✅ | ✅ | ✅ | +| Set up network | Connect to a Wi-Fi network | ✅ | ✅ | ✅ | +| Account management | Enroll device in Active Directory, enroll device in Microsoft Entra ID, or create a local administrator account | ✅ | ✅ | ✅ | +| Bulk Enrollment in Microsoft Entra ID | Enroll device in Microsoft Entra ID using Bulk Token

    [Set up Microsoft Entra join in your organization](/azure/active-directory/active-directory-azureadjoin-setup), before you use Windows Configuration Designer wizard to configure bulk Microsoft Entra enrollment. | ✅ | ✅ | ✅ | +| Add applications | Install applications using the provisioning package. | ✅ | ✅ | ❌ | +| Add certificates | Include a certificate file in the provisioning package. | ✅ | ✅ | ✅ | +| Configure kiosk account and app | Create local account to run the kiosk mode app, specify the app to run in kiosk mode | ❌ | ✅ | ❌ | +| Configure kiosk common settings | Set tablet mode, configure welcome and shutdown screens, turn off timeout settings | ❌ | ✅ | ❌ | +| Developer Setup | Enable Developer Mode | ❌ | ❌ | ✅ | + +> [!TIP] +> After you start a project using a Windows Configuration Designer wizard, you can switch to the advanced editor to configure additional settings in the provisioning package. + +## Configuration Designer advanced editor + +The following table provides some examples of settings that you can configure using the Windows Configuration Designer advanced editor to create provisioning packages. + +| Customization options | Examples | +|---|---| +| Bulk Active Directory join and device name | Join devices to Active Directory domain and assign device names using hardware-specific serial numbers or random characters | +| Applications | Windows apps, line-of-business applications | +| Bulk enrollment into MDM | Automatic enrollment into a third-party MDM service

    Using a provisioning package for autoenrollment to Microsoft Intune isn't supported. To enroll devices, use the Configuration Manager console. | +| Certificates | Root certification authority (CA), client certificates | +| Connectivity profiles | Wi-Fi, proxy settings, Email | +| Enterprise policies | Security restrictions (password, device lock, camera, and so on), encryption, update settings | +| Data assets | Documents, music, videos, pictures | +| Start menu customization | Start menu layout, application pinning | +| Other | Home and lock screen wallpaper, computer name, domain join, DNS settings, and so on | + +For details about the settings you can customize in provisioning packages, see [Windows Provisioning settings reference]( https://go.microsoft.com/fwlink/p/?LinkId=619012). ## Related articles diff --git a/windows/configuration/provisioning-packages/provisioning-powershell.md b/windows/configuration/provisioning-packages/provisioning-powershell.md index e5e7ea6019..d8292d3413 100644 --- a/windows/configuration/provisioning-packages/provisioning-powershell.md +++ b/windows/configuration/provisioning-packages/provisioning-powershell.md @@ -1,17 +1,14 @@ --- -title: PowerShell cmdlets for provisioning Windows 10/11 -description: Learn more about the Windows PowerShell cmdlets that you can use with Provisioning packages on Windows10/11 client desktop devices. +title: PowerShell cmdlets for provisioning packages in Windows +description: Learn more about the Windows PowerShell cmdlets that you can use with Provisioning packages on Windows devices. ms.topic: conceptual - -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- -# PowerShell cmdlets for provisioning Windows client (reference) +# PowerShell cmdlets for provisioning Windows client Windows client includes Provisioning PowerShell cmdlets. These cmdlets make it easy to script the following functions. -## cmdlets - - **Add-ProvisioningPackage**: Applies a provisioning package. Syntax: @@ -59,7 +56,7 @@ Windows client includes Provisioning PowerShell cmdlets. These cmdlets make it e - `Uninstall-TrustedProvisioningCertificate ` ->[!NOTE] +> [!NOTE] > You can use Get-Help to get usage help on any command. For example: `Get-Help Add-ProvisioningPackage` Trace logs are captured when using cmdlets. The following logs are available in the logs folder after the cmdlet completes: @@ -69,20 +66,5 @@ Trace logs are captured when using cmdlets. The following logs are available in - ProvTrace.<timestamp>.TXT - TEXT file containing trace output formatted for easy reading, filtered to only show events logged by providers in the WPRP file - ProvLogReport.<timestamp>.XLS - Excel file containing trace output, filtered to only show events logged by providers in WPRP file - - ->[!NOTE] ->When applying provisioning packages using Powershell cmdlets, the default behavior is to suppress the prompt that appears when applying an unsigned provisioning package. This is by design so that provisioning packages can be applied as part of existing scripts. - -## Related articles - -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Use a script to install a desktop app in provisioning packages](provisioning-script-to-install-app.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) - +> [!NOTE] +> When applying provisioning packages using Powershell cmdlets, the default behavior is to suppress the prompt that appears when applying an unsigned provisioning package. This is by design so that provisioning packages can be applied as part of existing scripts. diff --git a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md index c9aff98df4..05fc65f6c1 100644 --- a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md +++ b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md @@ -1,8 +1,8 @@ --- title: Use a script to install a desktop app in provisioning packages -description: With Windows 10/11, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. +description: With Windows, you can create provisioning packages that let you quickly and efficiently configure a device without having to install a new image. ms.topic: how-to -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Use a script to install a desktop app in provisioning packages @@ -57,14 +57,14 @@ Create a script to perform whatever work is needed to install the application(s) You don't need to create an orchestrator script. You can have one command line per app. If necessary, you can create a script that logs the output per app, as mentioned below (rather than one orchestrator script for the entire provisioning package). ->[!NOTE] ->All actions performed by the script must happen silently, showing no UI and requiring no user interaction. +> [!NOTE] > ->The scripts will be run on the device in system context. +> - All actions performed by the script must happen silently, showing no UI and requiring no user interaction. +> - The scripts will be run on the device in system context. ### Debugging example -Granular logging isn't built in, so the logging must be built into the script itself. Here's an example script that logs 'Hello World' to a logfile. When run on the device, the logfile will be available after provisioning is completed. As you'll see in the following examples, it's recommended that you log each action that your script performs. +Granular logging isn't built in, so the logging must be built into the script itself. Here's an example script that logs `Hello World` to a logfile. When run on the device, the logfile will be available after provisioning is completed. As you'll see in the following examples, it's recommended that you log each action that your script performs. ```log set LOGFILE=%SystemDrive%\HelloWorld.log @@ -178,20 +178,14 @@ When you're done, [build the package](provisioning-create-package.md#build-packa 1. The command line will be executed with the directory the CommandFiles were deployed to as the working directory. This means you do not need to specific the full path to assets in the command line or from within any script. 1. The runtime provisioning component will attempt to run the scripts from the provisioning package at the earliest point possible, depending on the stage when the PPKG was added. For example, if the package was added during the Out-of-Box Experience, it will be run immediately after the package is applied, while the out of box experience is still happening. This is before the user account configuration options are presented to the user. A spinning progress dialog will appear and "please wait" will be displayed on the screen. - >[!NOTE] - >There is a timeout of 30 minutes for the provisioning process at this point. All scripts and installs need to complete within this time. + > [!NOTE] + > There is a timeout of 30 minutes for the provisioning process at this point. All scripts and installs need to complete within this time. 1. The scripts are executed in the background as the rest of provisioning continues to run. For packages added on existing systems using the double-click to install, there's no notification that provisioning or script execution has completed -## Related articles +## Next steps -- [Provisioning packages for Windows client](provisioning-packages.md) -- [How provisioning works in Windows client](provisioning-how-it-works.md) -- [Install Windows Configuration Designer](provisioning-install-icd.md) -- [Create a provisioning package](provisioning-create-package.md) -- [Apply a provisioning package](provisioning-apply-package.md) -- [Settings changed when you uninstall a provisioning package](provisioning-uninstall-package.md) -- [Provision PCs with common settings for initial deployment (simple provisioning)](provision-pcs-for-initial-deployment.md) -- [Windows Configuration Designer command-line interface (reference)](provisioning-command-line.md) -- [PowerShell cmdlets for provisioning Windows client (reference)](provisioning-powershell.md) -- [Create a provisioning package with multivariant settings](provisioning-multivariant.md) +> [!div class="nextstepaction"] +> Learn more about applying a provisioning package: +> +> [Apply a provisioning package](provisioning-apply-package.md) \ No newline at end of file diff --git a/windows/configuration/provisioning-packages/provisioning-uninstall-package.md b/windows/configuration/provisioning-packages/provisioning-uninstall-package.md index 6615407051..a4f68379ee 100644 --- a/windows/configuration/provisioning-packages/provisioning-uninstall-package.md +++ b/windows/configuration/provisioning-packages/provisioning-uninstall-package.md @@ -1,19 +1,18 @@ --- -title: Uninstall a provisioning package - reverted settings -description: This article lists the settings that are reverted when you uninstall a provisioning package on Windows 10/11 desktop client devices. +title: Settings changed when you uninstall a provisioning package +description: This article lists the settings that are reverted when you uninstall a provisioning package on Windows desktop client devices. ms.topic: conceptual -ms.date: 12/31/2017 +ms.date: 07/09/2024 --- # Settings changed when you uninstall a provisioning package -When you uninstall a provisioning package, only certain settings are revertible. This article lists the settings that are reverted when you uninstall a provisioning package. - -As an administrator, you can uninstall by using the **Add or remove a package for work or school** option available under **Settings** > **Accounts** > **Access work or school**. +When you uninstall a provisioning package, only certain settings are revertible. This article lists the settings that are reverted when you uninstall a provisioning package. As an administrator, you can uninstall by using the **Add or remove a package for work or school** option available under **Settings** > **Accounts** > **Access work or school**. When a provisioning package is uninstalled, some of its settings are reverted, which means the value for the setting is changed to the next available or default value. Not all settings, however, are revertible. -Only settings in the following lists are revertible. +> [!IMPORTANT] +> Only settings in the following lists are revertible. ## Registry-based settings @@ -21,8 +20,8 @@ The registry-based settings that are revertible when a provisioning package is u - [Wi-Fi Sense](../wcd/wcd-connectivityprofiles.md#wifisense) - [CountryAndRegion](../wcd/wcd-countryandregion.md) -- DeviceManagement / PGList/ LogicalProxyName -- UniversalAppInstall / LaunchAppAtLogin +- [DeviceManagement / PGList / LogicalProxyName](../wcd/wcd-devicemanagement.md#pglist) +- [UniversalAppInstall](../wcd/wcd-universalappinstall.md) / LaunchAppAtLogin - [Power](/previous-versions//dn953704(v=vs.85)) - [TabletMode](../wcd/wcd-tabletmode.md) - [Maps](../wcd/wcd-maps.md) @@ -33,26 +32,26 @@ The registry-based settings that are revertible when a provisioning package is u ## CSP-based settings -Here is the list of revertible settings based on configuration service providers (CSPs). +Here's the list of revertible settings based on configuration service providers (CSPs). -[ActiveSync CSP](/windows/client-management/mdm/activesync-csp) -[AppLocker CSP](/windows/client-management/mdm/applocker-csp) -[BrowserFavorite CSP](/windows/client-management/mdm/browserfavorite-csp) -[CertificateStore CSP](/windows/client-management/mdm/certificatestore-csp) -[ClientCertificateInstall CSP](/windows/client-management/mdm/clientcertificateinstall-csp) -[RootCATrustedCertificates CSP](/windows/client-management/mdm/rootcacertificates-csp) -[CM_CellularEntries CSP](/windows/client-management/mdm/cm-cellularentries-csp) -[CM_ProxyEntries CSP](/windows/client-management/mdm/cm-proxyentries-csp) -[CMPolicy CSP](/windows/client-management/mdm/cmpolicy-csp) -[CMPolicyEnterprise CSP](/windows/client-management/mdm/cmpolicyenterprise-csp) -[EMAIL2 CSP](/windows/client-management/mdm/email2-csp) -[EnterpriseAPN CSP](/windows/client-management/mdm/enterpriseapn-csp) -[EnterpriseDesktopAppManagement CSP](/windows/client-management/mdm/enterprisedesktopappmanagement-csp) -[EnterpriseModernAppManagement CSP](/windows/client-management/mdm/enterprisemodernappmanagement-csp) -[NAP CSP](/windows/client-management/mdm/nap-csp) -[PassportForWork CSP](/windows/client-management/mdm/passportforwork-csp) -[Provisioning CSP](/windows/client-management/mdm/provisioning-csp) -[SecureAssessment CSP](/windows/client-management/mdm/secureassessment-csp) -[VPN CSP](/windows/client-management/mdm/vpn-csp) -[VPNv2 CSP](/windows/client-management/mdm/vpnv2-csp) -[WiFi CSP](/windows/client-management/mdm/wifi-csp) +- [ActiveSync CSP](/windows/client-management/mdm/activesync-csp) +- [AppLocker CSP](/windows/client-management/mdm/applocker-csp) +- [BrowserFavorite CSP](/windows/client-management/mdm/browserfavorite-csp) +- [CertificateStore CSP](/windows/client-management/mdm/certificatestore-csp) +- [ClientCertificateInstall CSP](/windows/client-management/mdm/clientcertificateinstall-csp) +- [RootCATrustedCertificates CSP](/windows/client-management/mdm/rootcacertificates-csp) +- [CM_CellularEntries CSP](/windows/client-management/mdm/cm-cellularentries-csp) +- [CM_ProxyEntries CSP](/windows/client-management/mdm/cm-proxyentries-csp) +- [CMPolicy CSP](/windows/client-management/mdm/cmpolicy-csp) +- [CMPolicyEnterprise CSP](/windows/client-management/mdm/cmpolicyenterprise-csp) +- [EMAIL2 CSP](/windows/client-management/mdm/email2-csp) +- [EnterpriseAPN CSP](/windows/client-management/mdm/enterpriseapn-csp) +- [EnterpriseDesktopAppManagement CSP](/windows/client-management/mdm/enterprisedesktopappmanagement-csp) +- [EnterpriseModernAppManagement CSP](/windows/client-management/mdm/enterprisemodernappmanagement-csp) +- [NAP CSP](/windows/client-management/mdm/nap-csp) +- [PassportForWork CSP](/windows/client-management/mdm/passportforwork-csp) +- [Provisioning CSP](/windows/client-management/mdm/provisioning-csp) +- [SecureAssessment CSP](/windows/client-management/mdm/secureassessment-csp) +- [VPN CSP](/windows/client-management/mdm/vpn-csp) +- [VPNv2 CSP](/windows/client-management/mdm/vpnv2-csp) +- [WiFi CSP](/windows/client-management/mdm/wifi-csp) diff --git a/windows/configuration/provisioning-packages/toc.yml b/windows/configuration/provisioning-packages/toc.yml index afd0f1f158..2e5266898d 100644 --- a/windows/configuration/provisioning-packages/toc.yml +++ b/windows/configuration/provisioning-packages/toc.yml @@ -1,29 +1,35 @@ items: - name: Overview href: provisioning-packages.md - - name: How provisioning works in Windows client + - name: How provisioning works href: provisioning-how-it-works.md - - name: Introduction to configuration service providers (CSPs) - href: how-it-pros-can-use-configuration-service-providers.md - - name: Install Windows Configuration Designer - href: provisioning-install-icd.md - - name: Create a provisioning package - href: provisioning-create-package.md - - name: Apply a provisioning package - href: provisioning-apply-package.md - - name: Settings changed when you uninstall a provisioning package - href: provisioning-uninstall-package.md - - name: Provision PCs with common settings for initial deployment (desktop wizard) - href: provision-pcs-for-initial-deployment.md - - name: Provision PCs with apps - href: provision-pcs-with-apps.md - - name: Use a script to install a desktop app in provisioning packages - href: provisioning-script-to-install-app.md + - name: Quickstarts + items: + - name: Install Windows Configuration Designer + href: provisioning-install-icd.md + - name: Create a provisioning package (desktop wizard) + href: provision-pcs-for-initial-deployment.md + - name: Create a provisioning package (advanced) + href: provisioning-create-package.md + - name: Apply a provisioning package + href: provisioning-apply-package.md + - name: Provision apps + items: + - name: Provision apps + href: provision-pcs-with-apps.md + - name: Use a script to install a desktop app + href: provisioning-script-to-install-app.md - name: Create a provisioning package with multivariant settings href: provisioning-multivariant.md - - name: PowerShell cmdlets for provisioning Windows client (reference) - href: provisioning-powershell.md - name: Diagnose provisioning packages href: diagnose-provisioning-packages.md - - name: Windows Configuration Designer command-line interface (reference) - href: provisioning-command-line.md \ No newline at end of file + - name: Settings changed when you uninstall a provisioning package + href: provisioning-uninstall-package.md + - name: Reference + items: + - name: Introduction to configuration service providers (CSPs) + href: how-it-pros-can-use-configuration-service-providers.md + - name: Windows Configuration Designer command-line interface + href: provisioning-command-line.md + - name: PowerShell cmdlets for provisioning Windows client + href: provisioning-powershell.md \ No newline at end of file From 322076a8b47d41370cede9ef279bfe63fac118df Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Tue, 9 Jul 2024 13:40:45 -0600 Subject: [PATCH 219/354] Mo-updates --- ...-it-pros-can-use-configuration-service-providers.md | 8 ++++---- .../provisioning-packages/provision-pcs-with-apps.md | 10 ++++------ .../provisioning-packages/provisioning-install-icd.md | 2 +- .../provisioning-script-to-install-app.md | 2 -- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md index 978aa8fc5b..9c82d0c44c 100644 --- a/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md +++ b/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers.md @@ -19,11 +19,11 @@ Each CSP provides access to specific settings. For example, the [Wi-Fi CSP](/win CSPs receive configuration policies in the XML-based Synchronization Markup Language (SyncML) format, pushed from an MDM-compliant management server, such as Microsoft Intune. Traditional enterprise management systems, such as Microsoft Configuration Manager, can also target CSPs, by using a client-side Windows Management Instrumentation (WMI)-to-CSP Bridge. -### Synchronization Markup Language (SyncML) +## Synchronization Markup Language (SyncML) The Open Mobile Alliance Device Management (OMA-DM) protocol uses the XML-based SyncML for data exchange between compliant servers and clients. SyncML offers an open standard to use as an alternative to vendor-specific management solutions (such as WMI). The value for enterprises adopting industry standard management protocols is that it allows the management of a broader set of vendor devices using a single platform (such as Microsoft Intune). Device policies, including VPN connection profiles, are delivered to client devices formatted as in SyncML. The target CSP reads this information and applies the necessary configurations. -### The WMI-to-CSP Bridge +## The WMI-to-CSP Bridge The WMI-to-CSP Bridge is a component allowing configuration of Windows client CSPs using scripts and traditional enterprise management software, such as Configuration Manager using WMI. The bridge is responsible for reading WMI commands and through a component called the common device configurator pass them to a CSP for application on the device. @@ -35,7 +35,7 @@ Generally, enterprises rely on Group Policy or MDM to configure and manage devic In addition, you may have unmanaged devices, or a large number of devices that you want to configure before enrolling them in management. You may also want to apply custom settings that aren't available through your MDM service. The [CSP documentation](/windows/client-management/mdm/configuration-service-provider-reference) can help you understand the settings that can be configured or queried. You can also learn about all of the available configuration settings. -### CSPs in Windows Configuration Designer +## CSPs in Windows Configuration Designer You can use Windows Configuration Designer to create [provisioning packages](provisioning-packages.md) to apply settings to devices during the out-of-box-experience (OOBE), and after the devices are set up. You can also use provisioning packages to configure a device's connectivity and enroll the device in MDM. Many of the runtime settings in Windows Configuration Designer are based on CSPs. @@ -45,7 +45,7 @@ Many settings in Windows Configuration Designer display documentation for that s [Provisioning packages in Windows client](provisioning-packages.md) explains how to use the Windows Configuration Designer tool to create a runtime provisioning package. -### CSPs in MDM +## CSPs in MDM Most, if not all, CSPs are surfaced through your MDM service. If you see a CSP that provides a capability that you want to make use of and can't find that capability in your MDM service, contact your MDM provider for assistance. It might be named differently than you expected. You can see the CSPs supported by MDM in the [Configuration service provider reference](/windows/client-management/mdm/configuration-service-provider-reference). diff --git a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md index 2052ee0f96..3ffeaa9b73 100644 --- a/windows/configuration/provisioning-packages/provision-pcs-with-apps.md +++ b/windows/configuration/provisioning-packages/provision-pcs-with-apps.md @@ -27,7 +27,7 @@ When you add an app in a Windows Configuration Designer wizard, the appropriate - **Command line arguments**: Optionally, append more command arguments. The silent flag is appended for you. Example: PROPERTY=VALUE - **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install - **Restart required**: Optionally, specify if you want to reboot after a successful install of this app -- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). +- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#extract-from-a-cab-example). > [!NOTE] > You can find more information about command-line options for Msiexec.exe [here](/windows/win32/msi/command-line-options). @@ -38,7 +38,7 @@ When you add an app in a Windows Configuration Designer wizard, the appropriate - **Return Codes**: Specify the return codes for success and success with restart (0 and 3010 by default respectively) Any return code that isn't listed is interpreted as failure. The text boxes are space delimited. - **Continue installations after failure**: Optionally, specify if you want to continue installing more apps if this app fails to install - **Restart required**: Optionally, specify if you want to reboot after a successful install of this app -- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#cab-extract). +- **Required win32 app dependencies**: Optionally, specify more files that are required for the installation of the app. For installers that have multiple file dependencies or have directory structures, [create a cab file of the assets](provisioning-script-to-install-app.md#cab-the-application-assets). The installation script should [include expansion of the .cab file](provisioning-script-to-install-app.md#extract-from-a-cab-example). ## Add a Windows desktop application using advanced editor @@ -109,13 +109,11 @@ For details about the settings you can customize in provisioning packages, see [ > [!TIP] > We recommend that you include a trusted provisioning certificate in your provisioning package. When the package is applied to a device, the certificate is added to the system store. Any package signed with that certificate can be applied silently. -1. Select **Next** to specify the output location where you want the provisioning package to go once it's built. By default, Windows ICD uses the project folder as the output location.

    - Optionally, you can select **Browse** to change the default output location. +1. Select **Next** to specify the output location where you want the provisioning package to go once it's built. By default, Windows ICD uses the project folder as the output location. Optionally, you can select **Browse** to change the default output location. 1. Select **Next**. -1. Select **Build** to start building the package. The project information is displayed in the build page and the progress bar indicates the build status.

    - If you need to cancel the build, select **Cancel**. This cancels the current build process, closes the wizard, and takes you back to the **Customizations Page**. +1. Select **Build** to start building the package. The project information is displayed in the build page and the progress bar indicates the build status. If you need to cancel the build, select **Cancel**. This cancels the current build process, closes the wizard, and takes you back to the **Customizations Page**. 1. If your build fails, an error message shows up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again. If your build is successful, the name of the provisioning package, output directory, and project directory is shown. diff --git a/windows/configuration/provisioning-packages/provisioning-install-icd.md b/windows/configuration/provisioning-packages/provisioning-install-icd.md index 8acca19051..3b4fddb9b4 100644 --- a/windows/configuration/provisioning-packages/provisioning-install-icd.md +++ b/windows/configuration/provisioning-packages/provisioning-install-icd.md @@ -65,5 +65,5 @@ Windows Configuration Designer can create provisioning packages for Windows clie > [!div class="nextstepaction"] > Learn more about creating a provisioning package: > -> [Create a provisioning package (simple)](provision-pcs-for-initial-deployment.md) +> [Create a provisioning package (desktop wizard)](provision-pcs-for-initial-deployment.md) > [Create a provisioning package (advanced)](provisioning-create-package.md) diff --git a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md index 05fc65f6c1..970ed67763 100644 --- a/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md +++ b/windows/configuration/provisioning-packages/provisioning-script-to-install-app.md @@ -105,8 +105,6 @@ PsExec.exe -accepteula -i -s cmd.exe /c 'powershell.exe my_powershell_script.ps1 echo result: %ERRORLEVEL% >> %LOGFILE% ``` - - ### Extract from a .CAB example This example script shows expansion of a .cab from the provisioning commands script, and installation of the expanded setup.exe From 15ba2a8464cdc4d9de07a5d6f1c3de8ca39191bf Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 10 Jul 2024 07:34:35 -0400 Subject: [PATCH 220/354] Windows 11 ui update --- .../configuration/start/includes/hide-lock.md | 2 +- .../configuration/start/policy-settings.md | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/windows/configuration/start/includes/hide-lock.md b/windows/configuration/start/includes/hide-lock.md index e43dff0cfa..52a8be809e 100644 --- a/windows/configuration/start/includes/hide-lock.md +++ b/windows/configuration/start/includes/hide-lock.md @@ -9,5 +9,5 @@ ms.topic: include | | Path | |--|--| -| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Start/`[HideSignOut](/windows/client-management/mdm/policy-csp-start#hidelock) | +| **CSP** | `./Device/Vendor/MSFT/Policy/Config/Start/`[HideLock](/windows/client-management/mdm/policy-csp-start#hidelock) | | **GPO** | Not available. | diff --git a/windows/configuration/start/policy-settings.md b/windows/configuration/start/policy-settings.md index 9dd5437ffc..4000e5d049 100644 --- a/windows/configuration/start/policy-settings.md +++ b/windows/configuration/start/policy-settings.md @@ -132,6 +132,16 @@ Select one of the tabs to see the list of available settings: #### [:::image type="icon" source="../images/icons/user.svg"::: **Account options**](#tab/user) +::: zone pivot="windows-11" +|Policy name| CSP | GPO | +|-|-|-| +|[Hide **Change account settings**](#hide-change-account-settings)|✅|❌| +|[Hide **Sign out**](#hide-sign-out)|✅|✅| +|[Hide **Switch account**](#hide-switch-account)|✅|❌| +|[Hide user tile](#hide-user-tile)|✅|❌| +::: zone-end + +::: zone pivot="windows-10" |Policy name| CSP | GPO | |-|-|-| |[Hide **Change account settings**](#hide-change-account-settings)|✅|❌| @@ -139,9 +149,14 @@ Select one of the tabs to see the list of available settings: |[Hide **Sign out**](#hide-sign-out)|✅|✅| |[Hide **Switch account**](#hide-switch-account)|✅|❌| |[Hide user tile](#hide-user-tile)|✅|❌| +::: zone-end [!INCLUDE [hide-change-account-settings](includes/hide-change-account-settings.md)] + +::: zone pivot="windows-10" [!INCLUDE [hide-lock](includes/hide-lock.md)] +::: zone-end + [!INCLUDE [hide-signout](includes/hide-signout.md)] [!INCLUDE [hide-switch-user](includes/hide-switch-account.md)] [!INCLUDE [hide-switch-user](includes/hide-user-tile.md)] @@ -174,6 +189,21 @@ Select one of the tabs to see the list of available settings: #### [:::image type="icon" source="../images/icons/power.svg"::: **Power options**](#tab/power) + +::: zone pivot="windows-11" +|Policy name| CSP | GPO | +|-|-|-| +|[Hide **Hibernate** ](#hide-hibernate)|✅|❌| +|[Hide **Lock**](#hide-lock)|✅|❌| +|[Hide **Power** button](#hide-power-button)|✅|❌| +|[Hide **Restart**](#hide-restart)|✅|❌| +|[Hide **Shut down**](#hide-shut-down)|✅|❌| +|[Hide **Sleep**](#hide-sleep)|✅|❌| +|[Remove and prevent access to the shut down restart sleep and hibernate commands](#remove-and-prevent-access-to-the-shut-down-restart-sleep-and-hibernate-commands)|❌|✅| +::: zone-end + +::: zone pivot="windows-10" + |Policy name| CSP | GPO | |-|-|-| |[Hide **Hibernate** ](#hide-hibernate)|✅|❌| @@ -183,7 +213,12 @@ Select one of the tabs to see the list of available settings: |[Hide **Sleep**](#hide-sleep)|✅|❌| |[Remove and prevent access to the shut down restart sleep and hibernate commands](#remove-and-prevent-access-to-the-shut-down-restart-sleep-and-hibernate-commands)|❌|✅| +::: zone-end + [!INCLUDE [hide-hibernate](includes/hide-hibernate.md)] +::: zone pivot="windows-11" +[!INCLUDE [hide-lock](includes/hide-lock.md)] +::: zone-end [!INCLUDE [hide-power-button](includes/hide-power-button.md)] [!INCLUDE [hide-restart](includes/hide-restart.md)] [!INCLUDE [hide-shut-down](includes/hide-shut-down.md)] From 52ac86059f6d975c533da6f7c3723cb9e4fd3da6 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 10 Jul 2024 07:34:59 -0400 Subject: [PATCH 221/354] date update --- windows/configuration/start/policy-settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/start/policy-settings.md b/windows/configuration/start/policy-settings.md index 4000e5d049..b9a8351ca5 100644 --- a/windows/configuration/start/policy-settings.md +++ b/windows/configuration/start/policy-settings.md @@ -2,7 +2,7 @@ title: Start policy settings description: Learn about the policy settings to configure the Windows Start menu. ms.topic: reference -ms.date: 04/10/2024 +ms.date: 07/10/2024 appliesto: zone_pivot_groups: windows-versions-11-10 --- From dd653a9b5080d983ff887c5902c7fc647a60d7ad Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:20:51 -0700 Subject: [PATCH 222/354] add context file --- windows/deployment/context/context.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 windows/deployment/context/context.yml diff --git a/windows/deployment/context/context.yml b/windows/deployment/context/context.yml new file mode 100644 index 0000000000..aa53a529eb --- /dev/null +++ b/windows/deployment/context/context.yml @@ -0,0 +1,4 @@ +### YamlMime: ContextObject +brand: windows +breadcrumb_path: ../breadcrumb/toc.yml +toc_rel: ../toc.yml \ No newline at end of file From 89b9257a02f6eab8f00d1d5f093dd6708a912a0e Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:25:32 -0700 Subject: [PATCH 223/354] use context file --- windows/deployment/TOC.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index ce71f48060..88851f15ff 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -29,7 +29,7 @@ - name: Plan items: - name: Plan for Windows 11 - href: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/windows-11-plan?context=/windows/deployment/context/context - name: Create a deployment plan href: update/create-deployment-plan.md - name: Define readiness criteria @@ -41,12 +41,12 @@ - name: Define your servicing strategy href: update/plan-define-strategy.md - name: Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/waas-delivery-optimization.md?context=/windows/deployment/context/context items: - name: Using a proxy with Delivery Optimization - href: do/delivery-optimization-proxy.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/delivery-optimization-proxy.md?context=/windows/deployment/context/context - name: Delivery Optimization client-service communication - href: do/delivery-optimization-workflow.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/delivery-optimization-workflow.md?context=/windows/deployment/context/context - name: Windows 10 deployment considerations href: planning/windows-10-deployment-considerations.md - name: Windows 10 infrastructure requirements @@ -56,17 +56,17 @@ - name: Features removed or planned for replacement items: - name: Windows client features lifecycle - href: /windows/whats-new/feature-lifecycle?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/feature-lifecycle?context=/windows/deployment/context/context - name: Deprecated features - href: /windows/whats-new/deprecated-features?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/deprecated-features?context=/windows/deployment/context/context - name: Resources for deprecated features - href: /windows/whats-new/deprecated-features-resources?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/deprecated-features-resources?context=/windows/deployment/context/context - name: Removed features - href: /windows/whats-new/removed-features?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/removed-features?context=/windows/deployment/context/context - name: Prepare items: - name: Prepare for Windows 11 - href: /windows/whats-new/windows-11-prepare?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/windows-11-prepare?context=/windows/deployment/context/context - name: Prepare to deploy Windows client updates href: update/prepare-deploy-windows.md - name: Evaluate and update infrastructure @@ -74,7 +74,7 @@ - name: Update Baseline href: update/update-baseline.md - name: Set up Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/waas-delivery-optimization-setup.md?context=/windows/deployment/context/context - name: Configure BranchCache for Windows client updates href: update/waas-branchcache.md - name: Prepare for deployment with Configuration Manager @@ -324,25 +324,25 @@ - name: Resolve Windows upgrade errors href: upgrade/resolve-windows-upgrade-errors.md - name: Quick fixes - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-quick-fixes?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-quick-fixes?context=/windows/deployment/context/context - name: SetupDiag href: upgrade/setupdiag.md - name: Troubleshooting upgrade errors - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-issues-troubleshooting?context=/windows/deployment/context/context - name: Windows error reporting href: upgrade/windows-error-reporting.md - name: Upgrade error codes - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-error-codes?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-error-codes?context=/windows/deployment/context/context - name: Log files href: upgrade/log-files.md - name: Resolution procedures - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-resolution-procedures?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-resolution-procedures?context=/windows/deployment/context/context - name: Submit Windows client upgrade errors href: upgrade/submit-errors.md - name: Troubleshoot Windows Update items: - name: How to troubleshoot Windows Update - href: /troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?context=/windows/deployment/context/context - name: Opt out of safeguard holds href: update/safeguard-opt-out.md - name: Determine the source of Windows Updates @@ -350,7 +350,7 @@ - name: Windows Update security href: ./update/windows-update-security.md - name: Common Windows Update errors - href: /troubleshoot/windows-client/deployment/common-windows-update-errors?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/common-windows-update-errors?context=/windows/deployment/context/context - name: Windows Update error code reference href: update/windows-update-error-reference.md - name: Troubleshoot the Windows Update for Business deployment service @@ -371,13 +371,13 @@ - name: Servicing stack updates href: update/servicing-stack-updates.md - name: Update CSP policies - href: /windows/client-management/mdm/policy-csp-update?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/client-management/mdm/policy-csp-update?context=/windows/deployment/context/context - name: Additional Windows Update settings href: update/waas-wu-settings.md - name: Update other Microsoft products href: update/update-other-microsoft-products.md - name: Delivery Optimization reference - href: do/waas-delivery-optimization-reference.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/waas-delivery-optimization-reference.md?context=/windows/deployment/context/context - name: FoD and language packs for WSUS and Configuration Manager href: update/fod-and-lang-packs.md - name: Windows client in S mode From e1d84479c71dffb64b33d4e48664fdd4fd76106c Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Wed, 10 Jul 2024 10:25:46 -0700 Subject: [PATCH 224/354] SFI- Global admin review --- .../deploy/windows-autopatch-register-devices.md | 7 ++----- .../windows-autopatch-policy-health-and-remediation.md | 4 ++-- ...-windows-quality-and-feature-update-reports-overview.md | 3 +-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md index f0938f7fd7..5836f3979a 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-register-devices.md @@ -1,7 +1,7 @@ --- title: Register your devices description: This article details how to register devices in Autopatch. -ms.date: 02/15/2024 +ms.date: 07/10/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -112,10 +112,7 @@ The following are the possible device readiness statuses in Windows Autopatch: ## Built-in roles required for device registration -A role defines the set of permissions granted to users assigned to that role. You can use one of the following built-in roles in Windows Autopatch to register devices: - -- Microsoft Entra Global Administrator -- Intune Service Administrator +A role defines the set of permissions granted to users assigned to that role. You can use the **Intune Service Administrator** role to register devices. For more information, see [Microsoft Entra built-in roles](/azure/active-directory/roles/permissions-reference) and [Role-based access control (RBAC) with Microsoft Intune](/mem/intune/fundamentals/role-based-access-control). diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md index d0371e0e59..54d541524e 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md @@ -1,7 +1,7 @@ --- title: policy health and remediation description: Describes what Autopatch does it detects policies in the tenant are either missing or modified to states that affect the service -ms.date: 07/08/2024 +ms.date: 07/10/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -44,7 +44,7 @@ Alerts are raised when deployment rings don't have the required policies and the ## Built-in roles required for remediation actions -The minimum role required to restore configurations is **Intune Service Administrator**. You can also perform these actions in the Global administrator role. +The minimum role required to restore configurations is **Intune Service Administrator**. ## Restore device configuration policy diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md index 9d5cd07373..c556fca641 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md @@ -1,7 +1,7 @@ --- title: Windows quality and feature update reports overview description: This article details the types of reports available and info about update device eligibility, device update health, device update trends in Windows Autopatch. -ms.date: 04/09/2024 +ms.date: 07/10/2024 ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual @@ -53,7 +53,6 @@ The Windows feature update report types are organized into the following focus a Users with the following permissions can access the reports: -- Global Administrator - Intune Service Administrator - Global Reader - Services Support Administrator From a06aa38440b7d44374a50332716b46d76a17e491 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 10 Jul 2024 11:32:47 -0700 Subject: [PATCH 225/354] Revert "use context file for deployment folder" --- windows/deployment/TOC.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 88851f15ff..ce71f48060 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -29,7 +29,7 @@ - name: Plan items: - name: Plan for Windows 11 - href: /windows/whats-new/windows-11-plan?context=/windows/deployment/context/context + href: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Create a deployment plan href: update/create-deployment-plan.md - name: Define readiness criteria @@ -41,12 +41,12 @@ - name: Define your servicing strategy href: update/plan-define-strategy.md - name: Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization.md?context=/windows/deployment/context/context + href: do/waas-delivery-optimization.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json items: - name: Using a proxy with Delivery Optimization - href: do/delivery-optimization-proxy.md?context=/windows/deployment/context/context + href: do/delivery-optimization-proxy.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Delivery Optimization client-service communication - href: do/delivery-optimization-workflow.md?context=/windows/deployment/context/context + href: do/delivery-optimization-workflow.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Windows 10 deployment considerations href: planning/windows-10-deployment-considerations.md - name: Windows 10 infrastructure requirements @@ -56,17 +56,17 @@ - name: Features removed or planned for replacement items: - name: Windows client features lifecycle - href: /windows/whats-new/feature-lifecycle?context=/windows/deployment/context/context + href: /windows/whats-new/feature-lifecycle?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Deprecated features - href: /windows/whats-new/deprecated-features?context=/windows/deployment/context/context + href: /windows/whats-new/deprecated-features?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Resources for deprecated features - href: /windows/whats-new/deprecated-features-resources?context=/windows/deployment/context/context + href: /windows/whats-new/deprecated-features-resources?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Removed features - href: /windows/whats-new/removed-features?context=/windows/deployment/context/context + href: /windows/whats-new/removed-features?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Prepare items: - name: Prepare for Windows 11 - href: /windows/whats-new/windows-11-prepare?context=/windows/deployment/context/context + href: /windows/whats-new/windows-11-prepare?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Prepare to deploy Windows client updates href: update/prepare-deploy-windows.md - name: Evaluate and update infrastructure @@ -74,7 +74,7 @@ - name: Update Baseline href: update/update-baseline.md - name: Set up Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization-setup.md?context=/windows/deployment/context/context + href: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Configure BranchCache for Windows client updates href: update/waas-branchcache.md - name: Prepare for deployment with Configuration Manager @@ -324,25 +324,25 @@ - name: Resolve Windows upgrade errors href: upgrade/resolve-windows-upgrade-errors.md - name: Quick fixes - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-quick-fixes?context=/windows/deployment/context/context + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-quick-fixes?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: SetupDiag href: upgrade/setupdiag.md - name: Troubleshooting upgrade errors - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-issues-troubleshooting?context=/windows/deployment/context/context + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Windows error reporting href: upgrade/windows-error-reporting.md - name: Upgrade error codes - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-error-codes?context=/windows/deployment/context/context + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-error-codes?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Log files href: upgrade/log-files.md - name: Resolution procedures - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-resolution-procedures?context=/windows/deployment/context/context + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-resolution-procedures?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Submit Windows client upgrade errors href: upgrade/submit-errors.md - name: Troubleshoot Windows Update items: - name: How to troubleshoot Windows Update - href: /troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?context=/windows/deployment/context/context + href: /troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Opt out of safeguard holds href: update/safeguard-opt-out.md - name: Determine the source of Windows Updates @@ -350,7 +350,7 @@ - name: Windows Update security href: ./update/windows-update-security.md - name: Common Windows Update errors - href: /troubleshoot/windows-client/deployment/common-windows-update-errors?context=/windows/deployment/context/context + href: /troubleshoot/windows-client/deployment/common-windows-update-errors?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Windows Update error code reference href: update/windows-update-error-reference.md - name: Troubleshoot the Windows Update for Business deployment service @@ -371,13 +371,13 @@ - name: Servicing stack updates href: update/servicing-stack-updates.md - name: Update CSP policies - href: /windows/client-management/mdm/policy-csp-update?context=/windows/deployment/context/context + href: /windows/client-management/mdm/policy-csp-update?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Additional Windows Update settings href: update/waas-wu-settings.md - name: Update other Microsoft products href: update/update-other-microsoft-products.md - name: Delivery Optimization reference - href: do/waas-delivery-optimization-reference.md?context=/windows/deployment/context/context + href: do/waas-delivery-optimization-reference.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: FoD and language packs for WSUS and Configuration Manager href: update/fod-and-lang-packs.md - name: Windows client in S mode From 966cb02232a8066b232b092a6d17289f5ba7de4c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 10 Jul 2024 11:46:30 -0700 Subject: [PATCH 226/354] replacement for context toc 10014 --- windows/deployment/TOC.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index ce71f48060..88851f15ff 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -29,7 +29,7 @@ - name: Plan items: - name: Plan for Windows 11 - href: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/windows-11-plan?context=/windows/deployment/context/context - name: Create a deployment plan href: update/create-deployment-plan.md - name: Define readiness criteria @@ -41,12 +41,12 @@ - name: Define your servicing strategy href: update/plan-define-strategy.md - name: Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/waas-delivery-optimization.md?context=/windows/deployment/context/context items: - name: Using a proxy with Delivery Optimization - href: do/delivery-optimization-proxy.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/delivery-optimization-proxy.md?context=/windows/deployment/context/context - name: Delivery Optimization client-service communication - href: do/delivery-optimization-workflow.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/delivery-optimization-workflow.md?context=/windows/deployment/context/context - name: Windows 10 deployment considerations href: planning/windows-10-deployment-considerations.md - name: Windows 10 infrastructure requirements @@ -56,17 +56,17 @@ - name: Features removed or planned for replacement items: - name: Windows client features lifecycle - href: /windows/whats-new/feature-lifecycle?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/feature-lifecycle?context=/windows/deployment/context/context - name: Deprecated features - href: /windows/whats-new/deprecated-features?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/deprecated-features?context=/windows/deployment/context/context - name: Resources for deprecated features - href: /windows/whats-new/deprecated-features-resources?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/deprecated-features-resources?context=/windows/deployment/context/context - name: Removed features - href: /windows/whats-new/removed-features?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/removed-features?context=/windows/deployment/context/context - name: Prepare items: - name: Prepare for Windows 11 - href: /windows/whats-new/windows-11-prepare?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/whats-new/windows-11-prepare?context=/windows/deployment/context/context - name: Prepare to deploy Windows client updates href: update/prepare-deploy-windows.md - name: Evaluate and update infrastructure @@ -74,7 +74,7 @@ - name: Update Baseline href: update/update-baseline.md - name: Set up Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/waas-delivery-optimization-setup.md?context=/windows/deployment/context/context - name: Configure BranchCache for Windows client updates href: update/waas-branchcache.md - name: Prepare for deployment with Configuration Manager @@ -324,25 +324,25 @@ - name: Resolve Windows upgrade errors href: upgrade/resolve-windows-upgrade-errors.md - name: Quick fixes - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-quick-fixes?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-quick-fixes?context=/windows/deployment/context/context - name: SetupDiag href: upgrade/setupdiag.md - name: Troubleshooting upgrade errors - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-issues-troubleshooting?context=/windows/deployment/context/context - name: Windows error reporting href: upgrade/windows-error-reporting.md - name: Upgrade error codes - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-error-codes?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-error-codes?context=/windows/deployment/context/context - name: Log files href: upgrade/log-files.md - name: Resolution procedures - href: /troubleshoot/windows-client/deployment/windows-10-upgrade-resolution-procedures?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-10-upgrade-resolution-procedures?context=/windows/deployment/context/context - name: Submit Windows client upgrade errors href: upgrade/submit-errors.md - name: Troubleshoot Windows Update items: - name: How to troubleshoot Windows Update - href: /troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?context=/windows/deployment/context/context - name: Opt out of safeguard holds href: update/safeguard-opt-out.md - name: Determine the source of Windows Updates @@ -350,7 +350,7 @@ - name: Windows Update security href: ./update/windows-update-security.md - name: Common Windows Update errors - href: /troubleshoot/windows-client/deployment/common-windows-update-errors?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /troubleshoot/windows-client/deployment/common-windows-update-errors?context=/windows/deployment/context/context - name: Windows Update error code reference href: update/windows-update-error-reference.md - name: Troubleshoot the Windows Update for Business deployment service @@ -371,13 +371,13 @@ - name: Servicing stack updates href: update/servicing-stack-updates.md - name: Update CSP policies - href: /windows/client-management/mdm/policy-csp-update?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: /windows/client-management/mdm/policy-csp-update?context=/windows/deployment/context/context - name: Additional Windows Update settings href: update/waas-wu-settings.md - name: Update other Microsoft products href: update/update-other-microsoft-products.md - name: Delivery Optimization reference - href: do/waas-delivery-optimization-reference.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + href: do/waas-delivery-optimization-reference.md?context=/windows/deployment/context/context - name: FoD and language packs for WSUS and Configuration Manager href: update/fod-and-lang-packs.md - name: Windows client in S mode From 939e43cf5456d11eb587cd16ee1cffecfe0b998a Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Wed, 10 Jul 2024 15:29:16 -0600 Subject: [PATCH 227/354] Hardware security freshness --- ...tion-based-protection-of-code-integrity.md | 2 +- ...sed-root-of-trust-helps-protect-windows.md | 12 ++-- windows/security/hardware-security/index.md | 2 +- .../kernel-dma-protection-for-thunderbolt.md | 17 +++-- .../microsoft-pluton-security-processor.md | 4 +- .../hardware-security/pluton/pluton-as-tpm.md | 6 +- ...-guard-secure-launch-and-smm-protection.md | 28 +++----- ...ackup-tpm-recovery-information-to-ad-ds.md | 2 +- .../tpm/change-the-tpm-owner-password.md | 9 +-- .../tpm/how-windows-uses-the-tpm.md | 44 ++++++------ ...lize-and-configure-ownership-of-the-tpm.md | 33 ++++----- .../tpm/manage-tpm-commands.md | 16 +---- .../tpm/manage-tpm-lockout.md | 10 +-- .../switch-pcr-banks-on-tpm-2-0-devices.md | 12 ++-- .../hardware-security/tpm/tpm-fundamentals.md | 4 +- .../tpm/tpm-recommendations.md | 34 ++++----- .../tpm/trusted-platform-module-overview.md | 2 +- ...m-module-services-group-policy-settings.md | 72 ++++++++++++++----- 18 files changed, 155 insertions(+), 154 deletions(-) diff --git a/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md index 1ef34f786a..a5cd24d3c9 100644 --- a/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity.md @@ -2,7 +2,7 @@ title: Enable memory integrity description: This article explains the steps to opt in to using memory integrity on Windows devices. ms.topic: conceptual -ms.date: 03/26/2024 +ms.date: 07/10/2024 appliesto: - "✅ Windows 11" - "✅ Windows 10" diff --git a/windows/security/hardware-security/how-hardware-based-root-of-trust-helps-protect-windows.md b/windows/security/hardware-security/how-hardware-based-root-of-trust-helps-protect-windows.md index e68ce7f0d5..54f9cc0237 100644 --- a/windows/security/hardware-security/how-hardware-based-root-of-trust-helps-protect-windows.md +++ b/windows/security/hardware-security/how-hardware-based-root-of-trust-helps-protect-windows.md @@ -2,7 +2,7 @@ title: How System Guard helps protect Windows description: Learn how System Guard reorganizes the existing Windows system integrity features under one roof. ms.localizationpriority: medium -ms.date: 01/16/2024 +ms.date: 07/10/2024 ms.topic: conceptual --- @@ -33,7 +33,7 @@ Also, a bug fix for UEFI code can take a long time to design, build, retest, val ### Secure Launch—the Dynamic Root of Trust for Measurement (DRTM) -[System Guard Secure Launch](system-guard-secure-launch-and-smm-protection.md), first introduced in Windows 10 version 1809, aims to alleviate these issues by leveraging a technology known as the Dynamic Root of Trust for Measurement (DRTM). DRTM lets the system freely boot into untrusted code initially, but shortly after launches the system into a trusted state by taking control of all CPUs and forcing them down a well-known and measured code path. This has the benefit of allowing untrusted early UEFI code to boot the system, but then being able to securely transition into a trusted and measured state. +[System Guard Secure Launch](system-guard-secure-launch-and-smm-protection.md), first introduced in Windows 10 version 1809, aims to alleviate these issues by using a technology known as the Dynamic Root of Trust for Measurement (DRTM). DRTM lets the system freely boot into untrusted code initially, but shortly after launches the system into a trusted state by taking control of all CPUs and forcing them down a well-known and measured code path. This has the benefit of allowing untrusted early UEFI code to boot the system, but then being able to securely transition into a trusted and measured state. ![System Guard Secure Launch.](images/system-guard-secure-launch.png) @@ -41,7 +41,7 @@ Secure Launch simplifies management of SRTM measurements because the launch code ### System Management Mode (SMM) protection -System Management Mode (SMM) is a special-purpose CPU mode in x86 microcontrollers that handles power management, hardware configuration, thermal monitoring, and anything else the manufacturer deems useful. Whenever one of these system operations is requested, a non-maskable interrupt (SMI) is invoked at runtime, which executes SMM code installed by the BIOS. SMM code executes in the highest privilege level and is invisible to the OS, which makes it an attractive target for malicious activity. Even if System Guard Secure Launch is used to late launch, SMM code can potentially access hypervisor memory and change the hypervisor. +System Management Mode (SMM) is a special-purpose CPU mode in x86 microcontrollers that handles power management, hardware configuration, thermal monitoring, and anything else the manufacturer deems useful. Whenever one of these system operations is requested, a nonmaskable interrupt (SMI) is invoked at runtime, which executes SMM code installed by the BIOS. SMM code executes in the highest privilege level and is invisible to the OS, which makes it an attractive target for malicious activity. Even if System Guard Secure Launch is used to late launch, SMM code can potentially access hypervisor memory and change the hypervisor. To defend against this, two techniques are used: @@ -88,7 +88,7 @@ This feature is available for the following processors: |AUX Policy|The required AUX policy must be as follows:

    • A = TPM2_PolicyLocality (Locality 3 & Locality 4)
    • B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)
    • authPolicy = \{A} OR {{A} AND \{B}}
    • authPolicy digest = 0xef, 0x9a, 0x26, 0xfc, 0x22, 0xd1, 0xae, 0x8c, 0xec, 0xff, 0x59, 0xe9, 0x48, 0x1a, 0xc1, 0xec, 0x53, 0x3d, 0xbe, 0x22, 0x8b, 0xec, 0x6d, 0x17, 0x93, 0x0f, 0x4c, 0xb2, 0xcc, 0x5b, 0x97, 0x24
    | |TPM NV Index|Platform firmware must set up a TPM NV index for use by the OS with:
    • Handle: 0x01C101C0
    • Attributes:
      • TPMA_NV_POLICYWRITE
      • TPMA_NV_PPREAD
      • TPMA_NV_OWNERREAD
      • TPMA_NV_AUTHREAD
      • TPMA_NV_POLICYREAD
      • TPMA_NV_NO_DA
      • TPMA_NV_PLATFORMCREATE
      • TPMA_NV_POLICY_DELETE
    • A policy of:
      • A = TPM2_PolicyAuthorize(MSFT_DRTM_AUTH_BLOB_SigningKey)
      • B = TPM2_PolicyCommandCode(TPM_CC_NV_UndefineSpaceSpecial)
      • authPolicy = \{A} OR {{A} AND \{B}}
      • Digest value of 0xcb, 0x45, 0xc8, 0x1f, 0xf3, 0x4b, 0xcf, 0x0a, 0xfb, 0x9e, 0x1a, 0x80, 0x29, 0xfa, 0x23, 0x1c, 0x87, 0x27, 0x30, 0x3c, 0x09, 0x22, 0xdc, 0xce, 0x68, 0x4b, 0xe3, 0xdb, 0x81, 0x7c, 0x20, 0xe1
    | |Platform firmware|Platform firmware must carry all code required to execute an Intel® Trusted Execution Technology secure launch:
    • Intel® SINIT ACM must be carried in the OEM BIOS
    • Platforms must ship with a production ACM signed by the correct production Intel® ACM signer for the platform
    | -|Platform firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | +|Platform firmware update|It's recommended to update System firmware via UpdateCapsule in Windows Update. | ### Requirements for AMD® processors starting with Zen2 or later silicon @@ -102,7 +102,7 @@ This feature is available for the following processors: |Modern/Connected Standby|Platforms must support Modern/Connected Standby.| |TPM NV Index|Platform firmware must set up a TPM NV index for use by the OS with:
    • Handle: 0x01C101C0
    • Attributes:
      • TPMA_NV_POLICYWRITE
      • TPMA_NV_PPREAD
      • TPMA_NV_OWNERREAD
      • TPMA_NV_AUTHREAD
      • TPMA_NV_POLICYREAD
      • TPMA_NV_NO_DA
      • TPMA_NV_PLATFORMCREATE
      • TPMA_NV_POLICY_DELETE
    • A policy of:
      • A = TPM2_PolicyAuthorize(MSFT_DRTM_AUTH_BLOB_SigningKey)
      • B = TPM2_PolicyCommandCode(TPM_CC_NV_UndefineSpaceSpecial)
      • authPolicy = \{A} OR {{A} AND \{B}}
      • Digest value of 0xcb, 0x45, 0xc8, 0x1f, 0xf3, 0x4b, 0xcf, 0x0a, 0xfb, 0x9e, 0x1a, 0x80, 0x29, 0xfa, 0x23, 0x1c, 0x87, 0x27, 0x30, 0x3c, 0x09, 0x22, 0xdc, 0xce, 0x68, 0x4b, 0xe3, 0xdb, 0x81, 0x7c, 0x20, 0xe1
    | |Platform firmware|Platform firmware must carry all code required to execute Secure Launch:
    • AMD® Secure Launch platforms must ship with AMD® DRTM driver devnode exposed and the AMD® DRTM driver installed

    Platform must have AMD® Secure Processor Firmware Anti-Rollback protection enabled
    Platform must have AMD® Memory Guard enabled.| -|Platform firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | +|Platform firmware update|It's recommended to update System firmware via UpdateCapsule in Windows Update. | ### Requirements for Qualcomm® processors with SD850 or later chipsets @@ -112,4 +112,4 @@ This feature is available for the following processors: |Monitor Mode Page Tables|All Monitor Mode page tables must:
    • NOT contain any mappings to EfiConventionalMemory (for example no OS/VMM owned memory)
    • They must NOT have execute and write permissions for the same page
    • Platforms must only allow Monitor Mode pages marked as executable
    • The memory map must report Monitor Mode as EfiReservedMemoryType
    • Platforms must provide mechanism to protect the Monitor Mode page tables from modification
    | |Modern/Connected Standby|Platforms must support Modern/Connected Standby.| |Platform firmware|Platform firmware must carry all code required to launch.| -|Platform firmware update|System firmware is recommended to be updated via UpdateCapsule in Windows Update. | +|Platform firmware update|It's recommended to update System firmware via UpdateCapsule in Windows Update. | diff --git a/windows/security/hardware-security/index.md b/windows/security/hardware-security/index.md index dbe8b6153f..e8cfb27d50 100644 --- a/windows/security/hardware-security/index.md +++ b/windows/security/hardware-security/index.md @@ -1,7 +1,7 @@ --- title: Windows hardware security description: Learn more about hardware security features support in Windows. -ms.date: 07/28/2023 +ms.date: 07/10/2024 ms.topic: overview appliesto: --- diff --git a/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md b/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md index 6b5201c81c..d010c70d1c 100644 --- a/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md +++ b/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md @@ -4,7 +4,7 @@ description: Learn how Kernel DMA Protection protects Windows devices against dr ms.collection: - tier1 ms.topic: conceptual -ms.date: 01/09/2024 +ms.date: 07/10/2024 --- # Kernel DMA Protection @@ -20,16 +20,16 @@ Drive-by DMA attacks are attacks that occur while the owner of the system isn't ## How Windows protects against DMA drive-by attacks -Windows uses the system *Input/Output Memory Management Unit (IOMMU)* to block external peripherals from starting and performing DMA, unless the drivers for these peripherals support memory isolation (such as DMA-remapping). Peripherals with [DMA Remapping compatible drivers][LINK-1] will be automatically enumerated, started, and allowed to perform DMA to their assigned memory regions. +Windows uses the system *Input/Output Memory Management Unit (IOMMU)* to block external peripherals from starting and performing DMA, unless the drivers for these peripherals support memory isolation (such as DMA-remapping). Peripherals with [DMA Remapping compatible drivers][LINK-1] are automatically enumerated, started, and allowed to perform DMA to their assigned memory regions. -By default, peripherals with DMA Remapping incompatible drivers will be blocked from starting and performing DMA until an authorized user signs into the system or unlocks the screen. IT administrators can modify the default behavior applied to devices with DMA Remapping incompatible drivers using MDM or group policies. +By default, peripherals with DMA Remapping incompatible drivers are blocked from starting and performing DMA until an authorized user signs into the system or unlocks the screen. IT administrators can modify the default behavior applied to devices with DMA Remapping incompatible drivers using MDM or group policies. ## User experience When Kernel DMA Protection is enabled: -- Peripherals with DMA Remapping-compatible device drivers will be automatically enumerated and started -- Peripherals with DMA Remapping-incompatible drivers will be blocked from starting if the peripheral was plugged in before an authorized user logs in, or while the screen is locked. Once the system is unlocked, the peripheral driver will be started by the OS, and the peripheral will continue to function normally until the system is rebooted, or the peripheral is unplugged. The peripheral will continue to function normally if the user locks the screen or signs out of the system. +- Peripherals with DMA Remapping-compatible device drivers are automatically enumerated and started +- Peripherals with DMA Remapping-incompatible drivers are blocked from starting if the peripheral was plugged in before an authorized user logs in, or while the screen is locked. Once the system is unlocked, the peripheral driver is started by the OS, and the peripheral continues to function normally until the system is rebooted, or the peripheral is unplugged. The peripheral will continue to function normally if the user locks the screen or signs out of the system. [!INCLUDE [kernel-direct-memory-access-dma-protection](../../../includes/licensing/kernel-direct-memory-access-dma-protection.md)] @@ -44,7 +44,7 @@ Kernel DMA Protection isn't compatible with other BitLocker DMA attacks counterm ## Check if Kernel DMA Protection is enabled -Systems that support Kernel DMA Protection will enable the feature automatically, with no user or IT admin configuration required. +Systems that support Kernel DMA Protection enable the feature automatically, with no user or IT admin configuration required. You can use the Windows Security settings to check if Kernel DMA Protection is enabled: @@ -53,7 +53,7 @@ You can use the Windows Security settings to check if Kernel DMA Protection is e :::image type="content" source="images/kernel-dma-protection-security-center.png" alt-text="Screenshot of Kernel DMA protection in Windows Security." lightbox="images/kernel-dma-protection-security-center.png" border="true"::: - Alternatively, you can use the System Information desktop app (`msinfo32.exe`). If the system supports Kernel DMA Protection, the **Kernel DMA Protection** value will be set to **ON**. + Alternatively, you can use the System Information desktop app (`msinfo32.exe`). If the system supports Kernel DMA Protection, the **Kernel DMA Protection** value is set to **ON**. :::image type="content" source="images/kernel-dma-protection.png" alt-text="Screenshot of Kernel DMA protection in System Information." lightbox="images/kernel-dma-protection.png" border="true"::: @@ -91,7 +91,7 @@ Use the Windows-provided drivers for the peripherals, when available. If there a ### My system's Kernel DMA Protection is off. Can DMA-remapping for a specific device be turned on? -Yes. DMA remapping for a specific device can be turned on independent from Kernel DMA Protection. For example, if the driver opts in and VT-d (Virtualization Technology for Directed I/O) is turned on, then DMA remapping will be enabled for the devices driver even if Kernel DMA Protection is turned off. +Yes. DMA remapping for a specific device can be turned on independent from Kernel DMA Protection. For example, if the driver opts in and VT-d (Virtualization Technology for Directed I/O) is turned on, then DMA remapping is enabled for the devices driver even if Kernel DMA Protection is turned off. Kernel DMA Protection is a policy that allows or blocks devices to perform DMA, based on their remapping state and capabilities. @@ -117,5 +117,4 @@ The policy can be enabled by using: [LINK-1]: /windows-hardware/drivers/pci/enabling-dma-remapping-for-device-drivers [LINK-2]: /windows/client-management/mdm/policy-csp-dmaguard#dmaguard-policies [LINK-3]: /windows-hardware/design/device-experiences/oem-kernel-dma-protection - [EXT-1]: https://thunderbolttechnology.net/security/Thunderbolt%203%20and%20Security.pdf diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index eb190c2bac..66feedfe73 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -2,7 +2,7 @@ title: Microsoft Pluton security processor description: Learn more about Microsoft Pluton security processor ms.topic: conceptual -ms.date: 02/19/2024 +ms.date: 07/10/2024 --- # Microsoft Pluton security processor @@ -13,7 +13,7 @@ Microsoft Pluton is currently available on devices with Ryzen 6000 and Qualcomm ## What is Microsoft Pluton? -Designed by Microsoft and built by silicon partners, Microsoft Pluton is a secure crypto-processor built into the CPU for security at the core to ensure code integrity and the latest protection with updates delivered by Microsoft through Windows Update. Pluton protects credentials, identities, personal data and encryption keys. Information is significantly harder to be removed even if an attacker installs malware or has complete physical possession of the PC. +Designed by Microsoft and built by silicon partners, Microsoft Pluton is a secure crypto-processor built into the CPU for security at the core to ensure code integrity and the latest protection with updates delivered by Microsoft through Windows Update. Pluton protects credentials, identities, personal data, and encryption keys. Information is significantly harder to be removed even if an attacker installs malware or has complete physical possession of the PC. Microsoft Pluton is designed to provide the functionality of the Trusted Platform Module (TPM) and deliver other security functionality beyond what is possible with the TPM 2.0 specification, and allows for other Pluton firmware and OS features to be delivered over time via Windows Update. For more information, see [Microsoft Pluton as TPM](pluton-as-tpm.md). diff --git a/windows/security/hardware-security/pluton/pluton-as-tpm.md b/windows/security/hardware-security/pluton/pluton-as-tpm.md index ccde7ec921..2946f43e11 100644 --- a/windows/security/hardware-security/pluton/pluton-as-tpm.md +++ b/windows/security/hardware-security/pluton/pluton-as-tpm.md @@ -2,12 +2,12 @@ title: Microsoft Pluton as Trusted Platform Module (TPM 2.0) description: Learn more about Microsoft Pluton security processor as Trusted Platform Module (TPM 2.0) ms.topic: conceptual -ms.date: 02/19/2024 +ms.date: 07/10/2024 --- # Microsoft Pluton as Trusted Platform Module -Microsoft Pluton is designed to provide the functionality of the Trusted Platform Module (TPM) thereby establishing the silicon root of trust. Microsoft Pluton supports the TPM 2.0 industry standard allowing customers to immediately benefit from the enhanced security in Windows features that rely on TPM including BitLocker, Windows Hello, and Windows Defender System Guard. +Microsoft Pluton is designed to provide the functionality of the Trusted Platform Module (TPM) thereby establishing the silicon root of trust. Microsoft Pluton supports the TPM 2.0 industry standard allowing customers to immediately benefit from the enhanced security in Windows features that rely on TPM including BitLocker, Windows Hello, and System Guard. As with other TPMs, credentials, encryption keys, and other sensitive information can't be easily extracted from Pluton even if an attacker installs malware or has complete physical possession of the device. Storing sensitive data like encryption keys securely within the Pluton processor, which is isolated from the rest of the system, helps ensure that emerging attack techniques such as speculative execution can't access key material. @@ -17,7 +17,7 @@ To learn more about the TPM related scenarios that benefit from Pluton, see [TPM ## Microsoft Pluton as a security processor alongside discrete TPM -Microsoft Pluton can be used as a TPM, or in conjunction with a TPM. Although Pluton builds security directly into the CPU, device manufacturers may choose to use discrete TPM as the default TPM, while having Pluton available to the system as a security processor for use cases beyond the TPM. +Microsoft Pluton can be used as a TPM, or with a TPM. Although Pluton builds security directly into the CPU, device manufacturers might choose to use discrete TPM as the default TPM, while having Pluton available to the system as a security processor for use cases beyond the TPM. Pluton is integrated within the SoC subsystem, and provides a flexible, updatable platform for running firmware that implements end-to-end security functionality authored, maintained, and updated by Microsoft. diff --git a/windows/security/hardware-security/system-guard-secure-launch-and-smm-protection.md b/windows/security/hardware-security/system-guard-secure-launch-and-smm-protection.md index 35ef8a1826..153871eba2 100644 --- a/windows/security/hardware-security/system-guard-secure-launch-and-smm-protection.md +++ b/windows/security/hardware-security/system-guard-secure-launch-and-smm-protection.md @@ -1,14 +1,13 @@ --- title: System Guard Secure Launch and SMM protection -description: Explains how to configure System Guard Secure Launch and System Management Mode (SMM protection) to improve the startup security of Windows 10 devices. -ms.localizationpriority: medium -ms.date: 07/31/2023 +description: Explains how to configure System Guard Secure Launch and System Management Mode (SMM protection) to improve the startup security of Windows devices. +ms.date: 07/10/2024 ms.topic: conceptual --- # System Guard Secure Launch and SMM protection -This topic explains how to configure [System Guard Secure Launch and System Management Mode (SMM) protection](how-hardware-based-root-of-trust-helps-protect-windows.md) to improve the startup security of Windows 10 and Windows 11 devices. The information below is presented from a client perspective. +This article explains how to configure [System Guard Secure Launch and System Management Mode (SMM) protection](how-hardware-based-root-of-trust-helps-protect-windows.md) to improve the startup security of Windows 10 and Windows 11 devices. The information below is presented from a client perspective. > [!NOTE] > System Guard Secure Launch feature requires a supported processor. For more information, see [System requirements for System Guard](how-hardware-based-root-of-trust-helps-protect-windows.md#system-requirements-for-system-guard). @@ -28,35 +27,30 @@ System Guard Secure Launch can be configured for Mobile Device Management (MDM) ### Group Policy -1. Click **Start** > type and then click **Edit group policy**. - -2. Click **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard** > **Turn On Virtualization Based Security** > **Secure Launch Configuration**. +1. Select **Start** > type and then select **Edit group policy**. +1. Select **Computer Configuration** > **Administrative Templates** > **System** > **Device Guard** > **Turn On Virtualization Based Security** > **Secure Launch Configuration**. ![Secure Launch Configuration.](images/secure-launch-group-policy.png) ### Windows Security -Click **Start** > **Settings** > **Update & Security** > **Windows Security** > **Open Windows Security** > **Device security** > **Core isolation** > **Firmware protection**. +Select **Start** > **Settings** > **Update & Security** > **Windows Security** > **Open Windows Security** > **Device security** > **Core isolation** > **Firmware protection**. ![Windows Security settings.](images/secure-launch-security-app.png) ### Registry 1. Open Registry editor. - -2. Click **HKEY_LOCAL_MACHINE** > **SYSTEM** > **CurrentControlSet** > **Control** > **DeviceGuard** > **Scenarios**. - -3. Right-click **Scenarios** > **New** > **Key** and name the new key **SystemGuard**. - -4. Right-click **SystemGuard** > **New** > **DWORD (32-bit) Value** and name the new DWORD **Enabled**. - -5. Double-click **Enabled**, change the value to **1**, and click **OK**. +1. Select **HKEY_LOCAL_MACHINE** > **SYSTEM** > **CurrentControlSet** > **Control** > **DeviceGuard** > **Scenarios**. +1. Right-click **Scenarios** > **New** > **Key** and name the new key **SystemGuard**. +1. Right-click **SystemGuard** > **New** > **DWORD (32-bit) Value** and name the new DWORD **Enabled**. +1. Double-click **Enabled**, change the value to **1**, and click **OK**. ![Secure Launch Registry.](images/secure-launch-registry.png) ## How to verify System Guard Secure Launch is configured and running -To verify that Secure Launch is running, use System Information (MSInfo32). Click **Start**, search for **System Information**, and look under **Virtualization-based Security Services Running** and **Virtualization-based Security Services Configured**. +To verify that Secure Launch is running, use System Information (MSInfo32). Select **Start**, search for **System Information**, and look under **Virtualization-based Security Services Running** and **Virtualization-based Security Services Configured**. ![Verifying Secure Launch is running in the Windows Security settings.](images/secure-launch-msinfo.png) diff --git a/windows/security/hardware-security/tpm/backup-tpm-recovery-information-to-ad-ds.md b/windows/security/hardware-security/tpm/backup-tpm-recovery-information-to-ad-ds.md index 9be58182e9..7a1c590a9a 100644 --- a/windows/security/hardware-security/tpm/backup-tpm-recovery-information-to-ad-ds.md +++ b/windows/security/hardware-security/tpm/backup-tpm-recovery-information-to-ad-ds.md @@ -2,7 +2,7 @@ title: Back up TPM recovery information to Active Directory description: Learn how to back up the Trusted Platform Module (TPM) recovery information to Active Directory. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # Back up the TPM recovery information to AD DS diff --git a/windows/security/hardware-security/tpm/change-the-tpm-owner-password.md b/windows/security/hardware-security/tpm/change-the-tpm-owner-password.md index 29abbe115b..37025f1eca 100644 --- a/windows/security/hardware-security/tpm/change-the-tpm-owner-password.md +++ b/windows/security/hardware-security/tpm/change-the-tpm-owner-password.md @@ -1,8 +1,8 @@ --- title: Change the TPM owner password -description: This topic for the IT professional describes how to change the password or PIN for the owner of the Trusted Platform Module (TPM) that is installed on your system. +description: This article for the IT professional describes how to change the password or PIN for the owner of the Trusted Platform Module (TPM) that is installed on your system. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # Change the TPM owner password @@ -32,7 +32,6 @@ Without the owner password, you can still perform all the preceding actions with Instead of changing your owner password, you can also use the following options to manage your TPM: - **Clear the TPM** - If you want to invalidate all of the existing keys that have been created since you took ownership of the TPM, you can clear it. For important precautions for this process, and instructions for completing it, see [Clear all the keys from the TPM](initialize-and-configure-ownership-of-the-tpm.md#clear-all-the-keys-from-the-tpm). - - **Turn off the TPM** - With TPM 1.2 and Windows 10, versions 1507 and 1511, you can turn off the TPM. Turn off the TPM if you want to keep all existing keys and data intact and disable the services that are provided by the TPM. For more info, see [Turn off the TPM](initialize-and-configure-ownership-of-the-tpm.md#turn-off-the-tpm). ## Changing the TPM owner password @@ -44,7 +43,3 @@ To change to a new TPM owner password, in `TPM.msc`, select **Change Owner Passw ## Use the TPM cmdlets You can manage the TPM using Windows PowerShell. For details, see [TPM Cmdlets in Windows PowerShell](/powershell/module/trustedplatformmodule). - -## Related articles - -- [Trusted Platform Module](trusted-platform-module-overview.md) diff --git a/windows/security/hardware-security/tpm/how-windows-uses-the-tpm.md b/windows/security/hardware-security/tpm/how-windows-uses-the-tpm.md index fc6a8fad0f..a4d314ad3f 100644 --- a/windows/security/hardware-security/tpm/how-windows-uses-the-tpm.md +++ b/windows/security/hardware-security/tpm/how-windows-uses-the-tpm.md @@ -2,12 +2,12 @@ title: How Windows uses the TPM description: Learn how Windows uses the Trusted Platform Module (TPM) to enhance security. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # How Windows uses the Trusted Platform Module -The Windows operating system places hardware-based security deeper inside many features, maximizing platform security while increasing usability. To achieve many of these security enhancements, Windows makes extensive use of the Trusted Platform Module (TPM). This article offers an overview of the TPM, describes how it works, and discusses the benefits that TPM brings to Windows and the cumulative security impact of running Windows on a device with a TPM. +The Windows operating system places hardware-based security deeper inside many features, maximizing platform security while increasing usability. To achieve many of these security enhancements, Windows makes extensive use of the Trusted Platform Module (TPM). This article offers an overview of the TPM, describes how it works, and discusses the benefits that TPM brings to Windows and the cumulative security effect of running Windows on a device with a TPM. ## TPM Overview @@ -21,7 +21,7 @@ The Trusted Computing Group (TCG) is the nonprofit organization that publishes a OEMs implement the TPM as a component in a trusted computing platform, such as a PC, tablet, or phone. Trusted computing platforms use the TPM to support privacy and security scenarios that software alone can't achieve. For example, software alone can't reliably report whether malware is present during the system startup process. The close integration between TPM and platform increases the transparency of the startup process and supports evaluating device health by enabling reliable measuring and reporting of the software that starts the device. Implementation of a TPM as part of a trusted computing platform provides a hardware root of trust-that is, it behaves in a trusted way. For example, if a key stored in a TPM has properties that disallow exporting the key, that key *truly can't leave the TPM*. -The TCG designed the TPM as a low-cost, mass-market security solution that addresses the requirements of different customer segments. There are variations in the security properties of different TPM implementations just as there are variations in customer and regulatory requirements for different sectors. In public-sector procurement, for example, some governments have clearly defined security requirements for TPMs, whereas others don't. +The TCG designed the TPM as a low-cost, mass-market security solution that addresses the requirements of different customer segments. There are variations in the security properties of different TPM implementations just as there are variations in customer and regulatory requirements for different sectors. In public-sector procurement, for example, some governments clearly define security requirements for TPMs, whereas others don't. Certification programs for TPMs-and technology in general-continue to evolve as the speed of innovation increases. Although having a TPM is clearly better than not having a TPM, Microsoft's best advice is to determine your organization's security needs and research any regulatory requirements associated with procurement for your industry. The result is a balance between scenarios used, assurance level, cost, convenience, and availability. @@ -51,11 +51,11 @@ Smart cards are physical devices that typically store a single certificate and t In Windows, the Virtual Smart Card feature allows the TPM to mimic a permanently inserted smart card. The TPM becomes *something the user has* but still requires a PIN. While physical smart cards limit the number of PIN attempts before locking the card and requiring a reset, a virtual smart card relies on the TPM's dictionary attack protection to prevent too many PIN guesses. -For TPM-based virtual smart cards, the TPM protects the use and storage of the certificate private key, so that it can't be copied when it is in use or stored and used elsewhere. Using a component that is part of the system rather than a separate physical smart card, can reduce total cost of ownership. The *lost card* or *card left at home* scenarios are not applicable, and the benefits of smart card-based multifactor authentication is preserved. For users, virtual smart cards are simple to use, requiring only a PIN to unlock. Virtual smart cards support the same scenarios that physical smart cards support, including signing in to Windows or authenticating for resource access. +For TPM-based virtual smart cards, the TPM protects the use and storage of the certificate private key, so that it can't be copied when it is in use or stored and used elsewhere. Using a component that is part of the system rather than a separate physical smart card, can reduce total cost of ownership. The *lost card* or *card left at home* scenarios aren't applicable, and the benefits of smart card-based multifactor authentication is preserved. For users, virtual smart cards are simple to use, requiring only a PIN to unlock. Virtual smart cards support the same scenarios that physical smart cards support, including signing in to Windows or authenticating for resource access. ## Windows Hello for Business -Windows Hello for Business provides authentication methods intended to replace passwords, which can be difficult to remember and easily compromised. In addition, username/password solutions for authentication often reuse the same credential combinations on multiple devices and services. If those credentials are compromised, they are compromised in multiple places. Windows Hello for Business combines the information provisioned on each device (i.e., the cryptographic key) with additional information to authenticate users. On a system that has a TPM, the TPM can protect the key. If a system does not have a TPM, software-based techniques protect the key. The additional information the user supplies can be a PIN value or, if the system has the necessary hardware, biometric information, such as fingerprint or facial recognition. To protect privacy, the biometric information is used only on the provisioned device to access the provisioned key: it is not shared across devices. +Windows Hello for Business provides authentication methods intended to replace passwords, which can be difficult to remember and easily compromised. In addition, username/password solutions for authentication often reuse the same credential combinations on multiple devices and services. If those credentials are compromised, they're compromised in multiple places. Windows Hello for Business combines the information provisioned on each device (that is, the cryptographic key) with additional information to authenticate users. On a system that has a TPM, the TPM can protect the key. If a system doesn't have a TPM, software-based techniques protect the key. The additional information the user supplies can be a PIN value or, if the system has the necessary hardware, biometric information, such as fingerprint or facial recognition. To protect privacy, the biometric information is used only on the provisioned device to access the provisioned key: it isn't shared across devices. The adoption of new authentication technology requires that identity providers and organizations deploy and use that technology. Windows Hello for Business lets users authenticate with their existing Microsoft account, an Active Directory account, a Microsoft Entra account, or even non-Microsoft Identity Provider Services or Relying Party Services that support [Fast ID Online V2.0 authentication](https://go.microsoft.com/fwlink/p/?LinkId=533889). @@ -63,7 +63,7 @@ Identity providers have flexibility in how they provision credentials on client - **Endorsement key**. The TPM manufacturer can create a special key in the TPM called an endorsement key. An endorsement key certificate, signed by the manufacturer, says that the endorsement key is present in a TPM that the manufacturer made. Solutions can use the certificate with the TPM containing the endorsement key to confirm a scenario really involves a TPM from a specific TPM manufacturer (instead of malware acting like a TPM). -- **Attestation identity key**. To protect privacy, most TPM scenarios do not directly use an actual endorsement key. Instead, they use attestation identity keys, and an identity certificate authority (CA) uses the endorsement key and its certificate to prove that one or more attestation identity keys actually exist in a real TPM. The identity CA issues attestation identity key certificates. More than one identity CA will generally see the same endorsement key certificate that can uniquely identify the TPM, but any number of attestation identity key certificates can be created to limit the information shared in other scenarios. +- **Attestation identity key**. To protect privacy, most TPM scenarios don't directly use an actual endorsement key. Instead, they use attestation identity keys, and an identity certificate authority (CA) uses the endorsement key and its certificate to prove that one or more attestation identity keys actually exist in a real TPM. The identity CA issues attestation identity key certificates. More than one identity CA will generally see the same endorsement key certificate that can uniquely identify the TPM, but any number of attestation identity key certificates can be created to limit the information shared in other scenarios. :::image type="content" alt-text="TPM Capabilities." source="images/tpm-capabilities.png" lightbox="images/tpm-capabilities.png"::: *Figure 1: TPM Cryptographic Key Management* @@ -72,15 +72,15 @@ For Windows Hello for Business, Microsoft can fill the role of the identity CA. ## BitLocker Drive Encryption -BitLocker provides full-volume encryption to protect data at rest. The most common device configuration splits the hard drive into several volumes. The operating system and user data reside on one volume that holds confidential information, and other volumes hold public information such as boot components, system information and recovery tools. (These other volumes are used infrequently enough that they do not need to be visible to users.) Without more protections in place, if the volume containing the operating system and user data is not encrypted, someone can boot another operating system and easily bypass the intended operating system's enforcement of file permissions to read any user data. +BitLocker provides full-volume encryption to protect data at rest. The most common device configuration splits the hard drive into several volumes. The operating system and user data reside on one volume that holds confidential information, and other volumes hold public information such as boot components, system information and recovery tools. (These other volumes are used infrequently enough that they don't need to be visible to users.) Without more protections in place, if the volume containing the operating system and user data isn't encrypted, someone can boot another operating system and easily bypass the intended operating system's enforcement of file permissions to read any user data. -In the most common configuration, BitLocker encrypts the operating system volume so that if the computer or hard disk is lost or stolen when powered off, the data on the volume remains confidential. When the computer is turned on, starts normally, and proceeds to the Windows logon prompt, the only path forward is for the user to log on with his or her credentials, allowing the operating system to enforce its normal file permissions. If something about the boot process changes, however-for example, a different operating system is booted from a USB device-the operating system volume and user data can't be read and are not accessible. The TPM and system firmware collaborate to record measurements of how the system started, including loaded software and configuration details such as whether boot occurred from the hard drive or a USB device. BitLocker relies on the TPM to allow the use of a key only when startup occurs in an expected way. The system firmware and TPM are carefully designed to work together to provide the following capabilities: +In the most common configuration, BitLocker encrypts the operating system volume so that if the computer or hard disk is lost or stolen when powered off, the data on the volume remains confidential. When the computer is turned on, starts normally, and proceeds to the Windows sign-in prompt, the only path forward is for the user to sign in with their credentials, allowing the operating system to enforce its normal file permissions. If something about the boot process changes, however-for example, a different operating system is booted from a USB device-the operating system volume and user data can't be read and aren't accessible. The TPM and system firmware collaborate to record measurements of how the system started, including loaded software and configuration details such as whether boot occurred from the hard drive or a USB device. BitLocker relies on the TPM to allow the use of a key only when startup occurs in an expected way. The system firmware and TPM are carefully designed to work together to provide the following capabilities: - **Hardware root of trust for measurement**. A TPM allows software to send it commands that record measurements of software or configuration information. This information can be calculated using a hash algorithm that essentially transforms a lot of data into a small, statistically unique hash value. The system firmware has a component called the Core Root of Trust for Measurement (CRTM) that is implicitly trusted. The CRTM unconditionally hashes the next software component and records the measurement value by sending a command to the TPM. Successive components, whether system firmware or operating system loaders, continue the process by measuring any software components they load before running them. Because each component's measurement is sent to the TPM before it runs, a component can't erase its measurement from the TPM. (However, measurements are erased when the system is restarted.) The result is that at each step of the system startup process, the TPM holds measurements of boot software and configuration information. Any changes in boot software or configuration yield different TPM measurements at that step and later steps. Because the system firmware unconditionally starts the measurement chain, it provides a hardware-based root of trust for the TPM measurements. At some point in the startup process, the value of recording all loaded software and configuration information diminishes and the chain of measurements stops. The TPM allows for the creation of keys that can be used only when the platform configuration registers that hold the measurements have specific values. -- **Key used only when boot measurements are accurate**. BitLocker creates a key in the TPM that can be used only when the boot measurements match an expected value. The expected value is calculated for the step in the startup process when Windows Boot Manager runs from the operating system volume on the system hard drive. Windows Boot Manager, which is stored unencrypted on the boot volume, needs to use the TPM key so that it can decrypt data read into memory from the operating system volume and startup can proceed using the encrypted operating system volume. If a different operating system is booted or the configuration is changed, the measurement values in the TPM will be different, the TPM will not let Windows Boot Manager use the key, and the startup process can't proceed normally because the data on the operating system can't be decrypted. If someone tries to boot the system with a different operating system or a different device, the software or configuration measurements in the TPM will be wrong and the TPM will not allow use of the key needed to decrypt the operating system volume. As a failsafe, if measurement values change unexpectedly, the user can always use the BitLocker recovery key to access volume data. Organizations can configure BitLocker to store the recovery key-in Active Directory Domain Services (AD DS). +- **Key used only when boot measurements are accurate**. BitLocker creates a key in the TPM that can be used only when the boot measurements match an expected value. The expected value is calculated for the step in the startup process when Windows Boot Manager runs from the operating system volume on the system hard drive. Windows Boot Manager, which is stored unencrypted on the boot volume, needs to use the TPM key so that it can decrypt data read into memory from the operating system volume and startup can proceed using the encrypted operating system volume. If a different operating system is booted or the configuration is changed, the measurement values in the TPM will be different, the TPM won't let Windows Boot Manager use the key, and the startup process can't proceed normally because the data on the operating system can't be decrypted. If someone tries to boot the system with a different operating system or a different device, the software or configuration measurements in the TPM will be wrong and the TPM won't allow use of the key needed to decrypt the operating system volume. As a failsafe, if measurement values change unexpectedly, the user can always use the BitLocker recovery key to access volume data. Organizations can configure BitLocker to store the recovery key-in Active Directory Domain Services (AD DS). -Device hardware characteristics are important to BitLocker and its ability to protect data. One consideration is whether the device provides attack vectors when the system is at the logon screen. For example, if the Windows device has a port that allows direct memory access so that someone can plug in hardware and read memory, an attacker can read the operating system volume's decryption key from memory while at the Windows logon screen. To mitigate this risk, organizations can configure BitLocker so that the TPM key requires both the correct software measurements and an authorization value. The system startup process stops at Windows Boot Manager, and the user is prompted to enter the authorization value for the TPM key or insert a USB device with the value. This process stops BitLocker from automatically loading the key into memory where it might be vulnerable, but has a less desirable user experience. +Device hardware characteristics are important to BitLocker and its ability to protect data. One consideration is whether the device provides attack vectors when the system is at the sign-in screen. For example, if the Windows device has a port that allows direct memory access so that someone can plug in hardware and read memory, an attacker can read the operating system volume's decryption key from memory while at the Windows sign-in screen. To mitigate this risk, organizations can configure BitLocker so that the TPM key requires both the correct software measurements and an authorization value. The system startup process stops at Windows Boot Manager, and the user is prompted to enter the authorization value for the TPM key or insert a USB device with the value. This process stops BitLocker from automatically loading the key into memory where it might be vulnerable, but has a less desirable user experience. Newer hardware and Windows work better together to disable direct memory access through ports and reduce attack vectors. The result is that organizations can deploy more systems without requiring users to enter additional authorization information during the startup process. The right hardware allows BitLocker to be used with the "TPM-only" configuration giving users a single sign-on experience without having to enter a PIN or USB key during boot. @@ -92,17 +92,17 @@ For software measurements, Device Encryption relies on measurements of the autho ## Measured Boot -Windows 8 introduced Measured Boot as a way for the operating system to record the chain of measurements of software components and configuration information in the TPM through the initialization of the Windows operating system. In previous Windows versions, the measurement chain stopped at the Windows Boot Manager component itself, and the measurements in the TPM were not helpful for understanding the starting state of Windows. +Windows 8 introduced Measured Boot as a way for the operating system to record the chain of measurements of software components and configuration information in the TPM through the initialization of the Windows operating system. In previous Windows versions, the measurement chain stopped at the Windows Boot Manager component itself, and the measurements in the TPM weren't helpful for understanding the starting state of Windows. -The Windows boot process happens in stages and often involves non-Microsoft drivers to communicate with vendor-specific hardware or implement antimalware solutions. For software, Measured Boot records measurements of the Windows kernel, Early-Launch Anti-Malware drivers, and boot drivers in the TPM. For configuration settings, Measured Boot records security-relevant information such as signature data that antimalware drivers use and configuration data about Windows security features (e.g., whether BitLocker is on or off). +The Windows boot process happens in stages and often involves non-Microsoft drivers to communicate with vendor-specific hardware or implement anti-malware solutions. For software, Measured Boot records measurements of the Windows kernel, Early-Launch anti-malware drivers, and boot drivers in the TPM. For configuration settings, Measured Boot records security-relevant information such as signature data that anti-malware drivers use and configuration data about Windows security features (for example, whether BitLocker is on or off). Measured Boot ensures that TPM measurements fully reflect the starting state of Windows software and configuration settings. If security settings and other protections are set up correctly, they can be trusted to maintain the security of the running operating system thereafter. Other scenarios can use the operating system's starting state to determine whether the running operating system should be trusted. -TPM measurements are designed to avoid recording any privacy-sensitive information as a measurement. As an additional privacy protection, Measured Boot stops the measurement chain at the initial starting state of Windows. Therefore, the set of measurements does not include details about which applications are in use or how Windows is being used. Measurement information can be shared with external entities to show that the device is enforcing adequate security policies and did not start with malware. +TPM measurements are designed to avoid recording any privacy-sensitive information as a measurement. As an additional privacy protection, Measured Boot stops the measurement chain at the initial starting state of Windows. Therefore, the set of measurements doesn't include details about which applications are in use or how Windows is being used. Measurement information can be shared with external entities to show that the device is enforcing adequate security policies and didn't start with malware. The TPM provides the following way for scenarios to use the measurements recorded in the TPM during boot: -- **Remote Attestation**. Using an attestation identity key, the TPM can generate and cryptographically sign a statement (or*quote*) of the current measurements in the TPM. Windows can create unique attestation identity keys for various scenarios to prevent separate evaluators from collaborating to track the same device. Additional information in the quote is cryptographically scrambled to limit information sharing and better protect privacy. By sending the quote to a remote entity, a device can attest which software and configuration settings were used to boot the device and initialize the operating system. An attestation identity key certificate can provide further assurance that the quote is coming from a real TPM. Remote attestation is the process of recording measurements in the TPM, generating a quote, and sending the quote information to another system that evaluates the measurements to establish trust in a device. Figure 2 illustrates this process. +- **Remote Attestation**. Using an attestation identity key, the TPM can generate and cryptographically sign a statement (or *quote*) of the current measurements in the TPM. Windows can create unique attestation identity keys for various scenarios to prevent separate evaluators from collaborating to track the same device. Additional information in the quote is cryptographically scrambled to limit information sharing and better protect privacy. By sending the quote to a remote entity, a device can attest which software and configuration settings were used to boot the device and initialize the operating system. An attestation identity key certificate can provide further assurance that the quote is coming from a real TPM. Remote attestation is the process of recording measurements in the TPM, generating a quote, and sending the quote information to another system that evaluates the measurements to establish trust in a device. Figure 2 illustrates this process. When new security features are added to Windows, Measured Boot adds security-relevant configuration information to the measurements recorded in the TPM. Measured Boot enables remote attestation scenarios that reflect the system firmware and the Windows initialization state. @@ -111,24 +111,22 @@ When new security features are added to Windows, Measured Boot adds security-rel ## Health Attestation -Some Windows improvements help security solutions implement remote attestation scenarios. Microsoft provides a Health Attestation service, which can create attestation identity key certificates for TPMs from different manufacturers as well as parse measured boot information to extract simple security assertions, such as whether BitLocker is on or off. The simple security assertions can be used to evaluate device health. +Some Windows improvements help security solutions implement remote attestation scenarios. Microsoft provides a Health Attestation service, which can create attestation identity key certificates for TPMs from different manufacturers and parse measured boot information to extract simple security assertions, such as whether BitLocker is on or off. The simple security assertions can be used to evaluate device health. Mobile device management (MDM) solutions can receive simple security assertions from the Microsoft Health Attestation service for a client without having to deal with the complexity of the quote or the detailed TPM measurements. MDM solutions can act on the security information by quarantining unhealthy devices or blocking access to cloud services such as Microsoft Office 365. ## Credential Guard -Credential Guard is a new feature in Windows that helps protect Windows credentials in organizations that have deployed AD DS. Historically, a user's credentials (such as a logon password) were hashed to generate an authorization token. The user employed the token to access resources that he or she was permitted to use. One weakness of the token model is that malware that had access to the operating system kernel could look through the computer's memory and harvest all the access tokens currently in use. The attacker could then use harvested tokens to log on to other machines and collect more credentials. This kind of attack is called a "pass the hash" attack, a malware technique that infects one machine to infect many machines across an organization. +Credential Guard is a new feature in Windows that helps protect Windows credentials in organizations that have deployed AD DS. Historically, a user's credentials (such as a sign-in password) were hashed to generate an authorization token. The user employed the token to access resources that they were permitted to use. One weakness of the token model is that malware that had access to the operating system kernel could look through the computer's memory and harvest all the access tokens currently in use. The attacker could then use harvested tokens to sign in to other machines and collect more credentials. This kind of attack is called a "pass the hash" attack, a malware technique that infects one machine to infect many machines across an organization. -Similar to the way Microsoft Hyper-V keeps virtual machines (VMs) separate from one another, Credential Guard uses virtualization to isolate the process that hashes credentials in a memory area that the operating system kernel can't access. This isolated memory area is initialized and protected during the boot process so that components in the larger operating system environment can't tamper with it. Credential Guard uses the TPM to protect its keys with TPM measurements, so they are accessible only during the boot process step when the separate region is initialized; they are not available for the normal operating system kernel. The local security authority code in the Windows kernel interacts with the isolated memory area by passing in credentials and receiving single-use authorization tokens in return. +Similar to the way Microsoft Hyper-V keeps virtual machines (VMs) separate from one another, Credential Guard uses virtualization to isolate the process that hashes credentials in a memory area that the operating system kernel can't access. This isolated memory area is initialized and protected during the boot process so that components in the larger operating system environment can't tamper with it. Credential Guard uses the TPM to protect its keys with TPM measurements, so they're accessible only during the boot process step when the separate region is initialized; they aren't available for the normal operating system kernel. The local security authority code in the Windows kernel interacts with the isolated memory area by passing in credentials and receiving single-use authorization tokens in return. -The resulting solution provides defense in depth, because even if malware runs in the operating system kernel, it can't access the secrets inside the isolated memory area that actually generates authorization tokens. The solution does not solve the problem of key loggers because the passwords such loggers capture actually pass through the normal Windows kernel, but when combined with other solutions, such as smart cards for authentication, Credential Guard greatly enhances the protection of credentials in Windows. +The resulting solution provides defense in depth, because even if malware runs in the operating system kernel, it can't access the secrets inside the isolated memory area that actually generates authorization tokens. The solution doesn't solve the problem of key loggers because the passwords such loggers capture actually pass through the normal Windows kernel, but when combined with other solutions, such as smart cards for authentication, Credential Guard greatly enhances the protection of credentials in Windows. ## Conclusion The TPM adds hardware-based security benefits to Windows. When installed on hardware that includes a TPM, Window delivers remarkably improved security benefits. The following table summarizes the key benefits of the TPM's major features. -
    - | Feature | Benefits when used on a system with a TPM | |----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Platform Crypto Provider | - If the machine is compromised, the private key associated with the certificate can't be copied off the device.
    - The TPM's dictionary attack mechanism protects PIN values to use a certificate. | @@ -138,8 +136,6 @@ The TPM adds hardware-based security benefits to Windows. When installed on hard | Device Encryption | With a Microsoft account and the right hardware, consumers' devices seamlessly benefit from data-at-rest protection. | | Measured Boot | A hardware root of trust contains boot measurements that help detect malware during remote attestation. | | Health Attestation | MDM solutions can easily perform remote attestation and evaluate client health before granting access to resources or cloud services such as Office 365. | -| Credential Guard | Defense in depth increases so that even if malware has administrative rights on one machine, it is significantly more difficult to compromise additional machines in an organization. | +| Credential Guard | Defense in depth increases so that even if malware has administrative rights on one machine, it's significantly more difficult to compromise additional machines in an organization. | -
    - -Although some of the aforementioned features have additional hardware requirements (e.g., virtualization support), the TPM is a cornerstone of Windows security. Microsoft and other industry stakeholders continue to improve the global standards associated with TPM and find more and more applications that use it to provide tangible benefits to customers. Microsoft has included support for most TPM features in its version of Windows for the Internet of Things (IoT) called [Windows IoT Core](/windows/iot-core/windows-iot-core). IoT devices that might be deployed in insecure physical locations and connected to cloud services like [Azure IoT Hub](https://azure.microsoft.com/documentation/services/iot-hub/) for management can use the TPM in innovative ways to address their emerging security requirements. +Although some of the aforementioned features have more hardware requirements (for example, virtualization support), the TPM is a cornerstone of Windows security. Microsoft and other industry stakeholders continue to improve the global standards associated with TPM and find more applications that use it to provide tangible benefits to customers. Microsoft has included support for most TPM features in its version of Windows for the Internet of Things (IoT) called [Windows IoT Core](/windows/iot-core/windows-iot-core). IoT devices that might be deployed in insecure physical locations and connected to cloud services like [Azure IoT Hub](https://azure.microsoft.com/documentation/services/iot-hub/) for management can use the TPM in innovative ways to address their emerging security requirements. diff --git a/windows/security/hardware-security/tpm/initialize-and-configure-ownership-of-the-tpm.md b/windows/security/hardware-security/tpm/initialize-and-configure-ownership-of-the-tpm.md index 9e08708019..bede99fdbe 100644 --- a/windows/security/hardware-security/tpm/initialize-and-configure-ownership-of-the-tpm.md +++ b/windows/security/hardware-security/tpm/initialize-and-configure-ownership-of-the-tpm.md @@ -2,7 +2,7 @@ title: Troubleshoot the TPM description: Learn how to view and troubleshoot the Trusted Platform Module (TPM). ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 ms.collection: - tier1 --- @@ -13,9 +13,6 @@ This article provides information how to troubleshoot the Trusted Platform Modul - [Troubleshoot TPM initialization](#tpm-initialization) - [Clear all the keys from the TPM](#clear-all-the-keys-from-the-tpm) - -With TPM 1.2 and Windows 11, you can also take the following actions: - - [Turn on or turn off the TPM](#turn-on-or-turn-off-the-tpm) For information about the TPM cmdlets, see [TPM Cmdlets in Windows PowerShell](/powershell/module/trustedplatformmodule/?view=win10-ps&preserve-view=true). @@ -28,17 +25,17 @@ Windows automatically initializes and takes ownership of the TPM. There's no nee If you find that Windows isn't able to initialize the TPM automatically, review the following information: -- You can try clearing the TPM to the factory default values, allowing Windows to reinitialize it. For important precautions for this process, and instructions for completing it, see [Clear all the keys from the TPM](#clear-all-the-keys-from-the-tpm) -- If the TPM is a TPM 2.0 and isn't detected by Windows, verify that your computer hardware contains a Unified Extensible Firmware Interface (UEFI) that is Trusted Computing Group-compliant. Also, ensure that in the UEFI settings, the TPM hasn't been disabled or hidden from the operating system -- If you have TPM 1.2 with Windows 11, the TPM might be turned off, and need to be turned back on, as described in [Turn on the TPM](#turn-on-the-tpm). When it's turned back on, Windows will reinitialize it -- If you're attempting to set up BitLocker with the TPM, check which TPM driver is installed on the computer. We recommend always using one of the TPM drivers that is provided by Microsoft and is protected with BitLocker. If a non-Microsoft TPM driver is installed, it may prevent the default TPM driver from loading and cause BitLocker to report that a TPM isn't present on the computer. If you have a non-Microsoft driver installed, remove it, and then allow the operating system to initialize the TPM +- You can try clearing the TPM to the factory default values, allowing Windows to reinitialize it. For important precautions for this process, and instructions for completing it, see [Clear all the keys from the TPM](#clear-all-the-keys-from-the-tpm). +- If the TPM is a TPM 2.0 and isn't detected by Windows, verify that your computer hardware contains a Unified Extensible Firmware Interface (UEFI) that is Trusted Computing Group-compliant. Also, ensure that in the UEFI settings, the TPM hasn't been disabled or hidden from the operating system. +- If you have TPM 1.2 with Windows 11, the TPM might be turned off, and need to be turned back on, as described in [Turn on the TPM](#turn-on-the-tpm). When it's turned back on, Windows reinitializes it. +- If you're attempting to set up BitLocker with the TPM, check which TPM driver is installed on the computer. We recommend always using one of the TPM drivers that is provided by Microsoft and is protected with BitLocker. If a non-Microsoft TPM driver is installed, it may prevent the default TPM driver from loading and cause BitLocker to report that a TPM isn't present on the computer. If you have a non-Microsoft driver installed, remove it, and then allow the operating system to initialize the TPM. ### Network connection issues for domain-joined Windows 11 devices If you have Windows 11, the initialization of the TPM can't complete when your computer has network connection issues and both of the following conditions exist: -- An administrator has configured your computer to require that TPM recovery information be saved in Active Directory Domain Services (AD DS). This requirement can be configured through group policy -- A domain controller can't be reached. This scenario may occur on a device that is currently disconnected from the internal network, separated from the domain by a firewall, or experiencing a network component failure (such as an unplugged cable or a faulty network adapter) +- An administrator has configured your computer to require that TPM recovery information be saved in Active Directory Domain Services (AD DS). This requirement can be configured through group policy. +- A domain controller can't be reached. This scenario may occur on a device that is currently disconnected from the internal network, separated from the domain by a firewall, or experiencing a network component failure (such as an unplugged cable or a faulty network adapter). If these issues occur, an error message appears, and you can't complete the initialization process. To avoid the issue, allow Windows to initialize the TPM while you're connected to the corporate network, and you can contact a domain controller. @@ -46,7 +43,7 @@ If these issues occur, an error message appears, and you can't complete the init Some systems may have multiple TPMs and the active TPM may be toggled in UEFI. Windows doesn't support this configuration. If you switch TPMs, Windows might not properly detect or interact with the new TPM. If you plan to switch TPMs, you should toggle to the new TPM, clear it, and reinstall Windows. For more information, see [Clear all the keys from the TPM](#clear-all-the-keys-from-the-tpm). -For example, toggling TPMs will cause BitLocker to enter recovery mode. We strongly recommend that, on systems with two TPMs, one TPM is selected to be used and the selection isn't changed. +For example, toggling TPMs cause BitLocker to enter recovery mode. We strongly recommend that, on systems with two TPMs, one TPM is selected for use and the selection isn't changed. ## Clear all the keys from the TPM @@ -61,11 +58,11 @@ Clearing the TPM resets it to an unowned state. After you clear the TPM, the Win Clearing the TPM can result in data loss. To protect against such loss, review the following precautions: -- Clearing the TPM causes you to lose all created keys associated with the TPM, and data protected by those keys, such as a virtual smart card or a sign-in PIN. Make sure that you have a backup and recovery method for any data that is protected or encrypted by the TPM -- Don't clear the TPM on a device you don't own, such as a work or school PC, without being instructed to do so by your IT administrator -- If you want to temporarily suspend TPM operations on Windows 11, you can turn off the TPM. For more information, see [Turn off the TPM](#turn-off-the-tpm) -- Always use functionality in the operating system (such as TPM.msc) to the clear the TPM. Don't clear the TPM directly from UEFI -- Because your TPM security hardware is a physical part of your computer, before clearing the TPM, you might want to read the manuals or instructions that came with your computer, or search the manufacturer's website +- Clearing the TPM causes you to lose all created keys associated with the TPM, and data protected by those keys, such as a virtual smart card or a sign-in PIN. Make sure that you have a backup and recovery method for any data that is protected or encrypted by the TPM. +- Don't clear the TPM on a device you don't own, such as a work or school PC, without being instructed to do so by your IT administrator. +- If you want to temporarily suspend TPM operations on Windows 11, you can turn off the TPM. For more information, see [Turn off the TPM](#turn-off-the-tpm). +- Always use functionality in the operating system (such as TPM.msc) to clear the TPM. Don't clear the TPM directly from UEFI. +- Because your TPM security hardware is a physical part of your computer, before clearing the TPM, you might want to read the manuals or instructions that came with your computer, or search the manufacturer's website. Membership in the local Administrators group, or equivalent, is the minimum required to complete this procedure. @@ -76,7 +73,7 @@ Membership in the local Administrators group, or equivalent, is the minimum requ 1. Select **Security processor details**. 1. Select **Security processor troubleshooting**. 1. Select **Clear TPM**. - - You'll be prompted to restart the computer. During the restart, you might be prompted by the UEFI to press a button to confirm that you wish to clear the TPM. + - You'll be prompted to restart the computer. During the restart, you might be prompted to press a button to confirm that you wish to clear the TPM. - After the device restarts, your TPM will be automatically prepared for use by Windows. ## Turn on or turn off the TPM @@ -100,7 +97,7 @@ If you want to stop using the services that are provided by the TPM, you can use 1. Open the TPM MMC (`tpm.msc`). 1. In the **Action** pane, select **Turn TPM Off** to display the **Turn off the TPM security hardware** page. 1. In the **Turn off the TPM security hardware** dialog box, select a method to enter your owner password and turning off the TPM: - - If you saved your TPM owner password on a removable storage device, insert it, and then select **I have the owner password file**. In the **Select backup file with the TPM owner password** dialog box, select **Browse** to locate the *.tpm* file that is saved on your removable storage device, select **Open**, and then select **Turn TPM Off**. + - If you saved your TPM owner password on a removable storage device, insert it, and then select **I have the owner password file**. In the **Select backup file with the TPM owner password** dialog box, select **Browse** to locate the `.tpm` file that is saved on your removable storage device, select **Open**, and then select **Turn TPM Off**. - If you don't have the removable storage device with your saved TPM owner password, select **I want to enter the password**. In the **Type your TPM owner password** dialog box, type your password (including hyphens), and then select **Turn TPM Off**. - If you didn't save your TPM owner password or no longer know it, select **I do not have the TPM owner password**, and follow the instructions that are provided in the dialog box and subsequent UEFI screens to turn off the TPM without entering the password. diff --git a/windows/security/hardware-security/tpm/manage-tpm-commands.md b/windows/security/hardware-security/tpm/manage-tpm-commands.md index d309758d11..fc2bcfb404 100644 --- a/windows/security/hardware-security/tpm/manage-tpm-commands.md +++ b/windows/security/hardware-security/tpm/manage-tpm-commands.md @@ -2,14 +2,14 @@ title: Manage TPM commands description: This article for the IT professional describes how to manage which Trusted Platform Module (TPM) commands are available to domain users and to local users. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # Manage TPM commands This article for the IT professional describes how to manage which Trusted Platform Module (TPM) commands are available to domain users and to local users. -After a computer user takes ownership of the TPM, the TPM owner can limit which TPM commands can be run by creating a list of blocked TPM commands. The list can be created and applied to all computers in a domain by using Group Policy, or a list can be created for individual computers by using the TPM MMC. Because some hardware vendors might provide additional commands or the Trusted Computing Group may decide to add commands in the future, the TPM MMC also supports the ability to block new commands. +After a computer user takes ownership of the TPM, the TPM owner can limit which TPM commands can be run by creating a list of blocked TPM commands. The list can be created and applied to all computers in a domain by using Group Policy, or a list can be created for individual computers by using the TPM MMC. Because some hardware vendors might provide more commands or the Trusted Computing Group might decide to add commands in the future, the TPM MMC also supports the ability to block new commands. The following procedures describe how to manage the TPM command lists. You must be a member of the local Administrators group. @@ -33,34 +33,24 @@ The following procedures describe how to manage the TPM command lists. You must > [!NOTE] > For a list of commands, see links in the [TPM Specification](https://www.trustedcomputinggroup.org/tpm-main-specification/). -1. After you have added numbers for each command that you want to block, select **OK** twice. +1. After adding numbers for each command that you want to block, select **OK** twice. 1. Close the Local Group Policy Editor. ## Block or allow TPM commands by using the TPM MMC 1. Open the TPM MMC (`tpm.msc`). If the **User Account Control** dialog box appears, confirm that the action it displays is what you want, and then select **Yes**. - 1. In the console tree, select **Command Management**. A list of TPM commands is displayed. - 1. In the list, select a command that you want to block or allow. - 1. Under **Actions**, select **Block Selected Command** or **Allow Selected Command** as needed. If **Allow Selected Command** is unavailable, that command is currently blocked by Group Policy. ## Block new commands 1. Open the TPM MMC (`tpm.msc`). If the **User Account Control** dialog box appears, confirm that the action it displays is what you want, and then select **Yes**. - 1. In the console tree, select **Command Management**. A list of TPM commands is displayed. - 1. In the **Action** pane, select **Block New Command**. The **Block New Command** dialog box is displayed. - 1. In the **Command Number** text box, type the number of the new command that you want to block, and then select **OK**. The command number you entered is added to the blocked list. ## Use the TPM cmdlets You can manage the TPM using Windows PowerShell. For details, see [TrustedPlatformModule PowerShell cmdlets](/powershell/module/trustedplatformmodule/?view=win10-ps&preserve-view=true). - -## Related articles - -- [Trusted Platform Module](trusted-platform-module-overview.md) diff --git a/windows/security/hardware-security/tpm/manage-tpm-lockout.md b/windows/security/hardware-security/tpm/manage-tpm-lockout.md index abf6374e8f..7dfa150354 100644 --- a/windows/security/hardware-security/tpm/manage-tpm-lockout.md +++ b/windows/security/hardware-security/tpm/manage-tpm-lockout.md @@ -2,7 +2,7 @@ title: Manage TPM lockout description: This article for the IT professional describes how to manage the lockout feature for the Trusted Platform Module (TPM) in Windows. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # Manage TPM lockout @@ -21,11 +21,11 @@ In some cases, encryption keys are protected by a TPM by requiring a valid autho TPM 2.0 devices have standardized lockout behavior which Windows configures. TPM 2.0 devices have a maximum count threshold and a healing time. Windows configures the maximum count to be 32 and the healing time to be 10 minutes. This configuration means that every continuous 10 minutes of powered on operation without an event causes the counter to decrease by 1. -If your TPM has entered lockout mode or is responding slowly to commands, you can reset the lockout value by using the following procedures. Resetting the TPM lockout requires the TPM owner's authorization. This value is no longer retained by default starting with Windows 10 version 1607 and higher. +If your TPM is in lockout mode or is responding slowly to commands, you can reset the lockout value by using the following procedures. Resetting the TPM lockout requires the TPM owner's authorization. This value is no longer retained by default starting with Windows 10 version 1607 and higher. ### TPM 1.2 -The industry standards from the Trusted Computing Group (TCG) specify that TPM manufacturers must implement some form of protection logic in TPM 1.2 and TPM 2.0 chips. TPM 1.2 devices implement different protection mechanisms and behavior. In general, the TPM chip takes exponentially longer to respond if incorrect authorization values are sent to the TPM. Some TPM chips may not store failed attempts over time. Other TPM chips may store every failed attempt indefinitely. Therefore, some users may experience increasingly longer delays when they mistype an authorization value that is sent to the TPM. These delays can prevent them from using the TPM for a period of time. +The industry standards from the Trusted Computing Group (TCG) specify that TPM manufacturers must implement some form of protection logic in TPM 1.2 and TPM 2.0 chips. TPM 1.2 devices implement different protection mechanisms and behavior. In general, the TPM chip takes exponentially longer to respond if incorrect authorization values are sent to the TPM. Some TPM chips might not store failed attempts over time. Other TPM chips might store every failed attempt indefinitely. Therefore, some users might experience increasingly longer delays when they mistype an authorization value that is sent to the TPM. These delays can prevent them from using the TPM for some time. ## Reset the TPM lockout by using the TPM MMC @@ -73,7 +73,3 @@ For information about mitigating dictionary attacks that use the lockout setting ## Use the TPM cmdlets You can manage the TPM using Windows PowerShell. For details, see [TPM Cmdlets in Windows PowerShell](/powershell/module/trustedplatformmodule/). - -## Related articles - -- [Trusted Platform Module](trusted-platform-module-overview.md) diff --git a/windows/security/hardware-security/tpm/switch-pcr-banks-on-tpm-2-0-devices.md b/windows/security/hardware-security/tpm/switch-pcr-banks-on-tpm-2-0-devices.md index 281201247a..c3cd7b4d47 100644 --- a/windows/security/hardware-security/tpm/switch-pcr-banks-on-tpm-2-0-devices.md +++ b/windows/security/hardware-security/tpm/switch-pcr-banks-on-tpm-2-0-devices.md @@ -1,8 +1,8 @@ --- -title: UnderstandPCR banks on TPM 2.0 devices +title: Understand PCR banks on TPM 2.0 devices description: Learn about what happens when you switch PCR banks on TPM 2.0 devices. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # PCR banks on TPM 2.0 devices @@ -27,9 +27,9 @@ It's important to note that this binding to PCR values also includes the hashing ## What happens when PCR banks are switched? -When the PCR banks are switched, the algorithm used to compute the hashed values stored in the PCRs during extend operations is changed. Each hash algorithm will return a different cryptographic signature for the same inputs. +When the PCR banks are switched, the algorithm used to compute the hashed values stored in the PCRs during extend operations is changed. Each hash algorithm returns a different cryptographic signature for the same inputs. -As a result, if the currently used PCR bank is switched all keys that have been bound to the previous PCR values will no longer work. For example, if you had a key bound to the SHA-1 value of PCR[12] and subsequently changed the PCR bank to SHA-256, the banks wouldn't match, and you would be unable to use that key. The BitLocker key is secured using the PCR banks and Windows won't be able to unseal it if the PCR banks are switched while BitLocker is enabled. +As a result, if the currently used PCR bank is switched, all keys that are bound to the previous PCR values no longer work. For example, if you had a key bound to the SHA-1 value of PCR[12] and later changed the PCR bank to SHA-256, the banks wouldn't match, and you would be unable to use that key. The BitLocker key is secured using the PCR banks and Windows can't unseal it if the PCR banks are switched while BitLocker is enabled. ## What can I do to switch PCRs when BitLocker is already active? @@ -43,7 +43,7 @@ You can configure a TPM to have multiple PCR banks active. When BIOS performs me - DWORD: `TPMActivePCRBanks` - Defines which PCR banks are currently active. This value should be interpreted as a bitmap for which the bits are defined in the [TCG Algorithm Registry](https://trustedcomputinggroup.org/resource/tcg-algorithm-registry/) Table 21 of Revision 1.27. -Windows checks which PCR banks are active and supported by the BIOS. Windows also checks if the measured boot log supports measurements for all active PCR banks. Windows will prefer the use of the SHA-256 bank for measurements and will fall back to SHA1 PCR bank if one of the pre-conditions isn't met. +Windows checks which PCR banks are active and supported by the BIOS. Windows also checks if the measured boot log supports measurements for all active PCR banks. Windows prefers the use of the SHA-256 bank for measurements and falls back to SHA1 PCR bank if one of the preconditions isn't met. You can identify which PCR bank is currently used by Windows by looking at the registry: @@ -51,4 +51,4 @@ You can identify which PCR bank is currently used by Windows by looking at the r - DWORD: `TPMDigestAlgID` - Algorithm ID of the PCR bank that Windows is currently using. This value represents an algorithm identifier as defined in the [TCG Algorithm Registry](https://trustedcomputinggroup.org/resource/tcg-algorithm-registry/) Table 3 of Revision 1.27. -Windows only uses one PCR bank to continue boot measurements. All other active PCR banks will be extended with a separator to indicate that they aren't used by Windows and measurements that appear to be from Windows shouldn't be trusted. +Windows only uses one PCR bank to continue boot measurements. All other active PCR banks are extended with a separator to indicate that they aren't used by Windows and measurements that appear to be from Windows shouldn't be trusted. diff --git a/windows/security/hardware-security/tpm/tpm-fundamentals.md b/windows/security/hardware-security/tpm/tpm-fundamentals.md index d4612701db..a6b202ab80 100644 --- a/windows/security/hardware-security/tpm/tpm-fundamentals.md +++ b/windows/security/hardware-security/tpm/tpm-fundamentals.md @@ -2,7 +2,7 @@ title: Trusted Platform Module (TPM) fundamentals description: Learn about the components of the Trusted Platform Module and how they're used to mitigate dictionary attacks. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # TPM fundamentals @@ -98,7 +98,7 @@ TPM 2.0 allows some keys to be created without an authorization value associated Originally, BitLocker allowed from 4 to 20 characters for a PIN. Windows Hello has its own PIN for sign-in, which can be 4 to 127 characters. Both BitLocker and Windows Hello use the TPM to prevent PIN brute-force attacks. -Windows 10, version 1607 and earlier used Dictionary Attack Prevention parameters. The Dictionary Attack Prevention Parameters provide a way to balance security needs with usability. For example, when BitLocker is used with a TPM + PIN configuration, the number of PIN guesses is limited over time. A TPM 2.0 in this example could be configured to allow only 32 PIN guesses immediately, and then only one more guess every two hours. This totals a maximum of about 4415 guesses per year. If the PIN is four digits, all 9999 possible PIN combinations could be attempted in a little over two years. +Windows 10, version 1607 and earlier used Dictionary Attack Prevention parameters. The Dictionary Attack Prevention Parameters provide a way to balance security needs with usability. For example, when BitLocker is used with a TPM + PIN configuration, the number of PIN guesses is limited over time. A TPM 2.0 in this example could be configured to allow only 32 PIN guesses immediately, and then only one more guess every two hours. This totals a maximum of about 4,415 guesses per year. If the PIN is four digits, all 9999 possible PIN combinations could be attempted in a little over two years. Starting in Windows 10, version 1703, the minimum length for the BitLocker PIN was increased to six characters, to better align with other Windows features that use TPM 2.0, including Windows Hello. Increasing the PIN length requires a greater number of guesses for an attacker. Therefore, the lockout duration between each guess was shortened to allow legitimate users to retry a failed attempt sooner while maintaining a similar level of protection. In case the legacy parameters for lockout threshold and recovery time need to be used, make sure that GPO is enabled and [configure the system to use legacy Dictionary Attack Prevention Parameters setting for TPM 2.0](/windows/security/information-protection/tpm/trusted-platform-module-services-group-policy-settings#configure-the-system-to-use-legacy-dictionary-attack-prevention-parameters-setting-for-tpm-20). diff --git a/windows/security/hardware-security/tpm/tpm-recommendations.md b/windows/security/hardware-security/tpm/tpm-recommendations.md index 4471400a65..ae731d1f10 100644 --- a/windows/security/hardware-security/tpm/tpm-recommendations.md +++ b/windows/security/hardware-security/tpm/tpm-recommendations.md @@ -1,15 +1,15 @@ --- title: TPM recommendations -description: This topic provides recommendations for Trusted Platform Module (TPM) technology for Windows. +description: This article provides recommendations for Trusted Platform Module (TPM) technology for Windows. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 ms.collection: - tier1 --- # TPM recommendations -This topic provides recommendations for Trusted Platform Module (TPM) technology for Windows. +This article provides recommendations for Trusted Platform Module (TPM) technology for Windows. For a basic feature description of TPM, see the [Trusted Platform Module Technology Overview](trusted-platform-module-overview.md). @@ -17,24 +17,24 @@ For a basic feature description of TPM, see the [Trusted Platform Module Technol Traditionally, TPMs are discrete chips soldered to a computer's motherboard. Such implementations allow the computer's original equipment manufacturer (OEM) to evaluate and certify the TPM separate from the rest of the system. Discrete TPM implementations are common. However, they can be problematic for integrated devices that are small or have low power consumption. Some newer TPM implementations integrate TPM functionality into the same chipset as other platform components while still providing logical separation similar to discrete TPM chips. -TPMs are passive: they receive commands and return responses. To realize the full benefit of a TPM, the OEM must carefully integrate system hardware and firmware with the TPM to send it commands and react to its responses. TPMs were originally designed to provide security and privacy benefits to a platform's owner and users, but newer versions can provide security and privacy benefits to the system hardware itself. Before it can be used for advanced scenarios, however, a TPM must be provisioned. Windows automatically provisions a TPM, but if the user is planning to reinstall the operating system, he or she may need to clear the TPM before reinstalling so that Windows can take full advantage of the TPM. +TPMs are passive: they receive commands and return responses. To realize the full benefit of a TPM, the OEM must carefully integrate system hardware and firmware with the TPM to send it commands and react to its responses. TPMs were originally designed to provide security and privacy benefits to a platform's owner and users, but newer versions can provide security and privacy benefits to the system hardware itself. Before it can be used for advanced scenarios, however, a TPM must be provisioned. Windows automatically provisions a TPM, but if the user is planning to reinstall the operating system, they may need to clear the TPM before reinstalling so that Windows can take full advantage of the TPM. The Trusted Computing Group (TCG) is the nonprofit organization that publishes and maintains the TPM specification. The TCG exists to develop, define, and promote vendor-neutral, global industry standards. These standards support a hardware-based root of trust for interoperable trusted computing platforms. The TCG also publishes the TPM specification as the international standard ISO/IEC 11889, using the Publicly Available Specification Submission Process that the Joint Technical Committee 1 defines between the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). -OEMs implement the TPM as a component in a trusted computing platform, such as a PC, tablet, or phone. Trusted computing platforms use the TPM to support privacy and security scenarios that software alone cannot achieve. For example, software alone cannot reliably report whether malware is present during the system startup process. The close integration between TPM and platform increases the transparency of the startup process and supports evaluating device health by enabling reliable measuring and reporting of the software that starts the device. Implementation of a TPM as part of a trusted computing platform provides a hardware root of trust-that is, it behaves in a trusted way. For example, if a key stored in a TPM has properties that disallow exporting the key, that key truly cannot leave the TPM. +OEMs implement the TPM as a component in a trusted computing platform, such as a PC, tablet, or phone. Trusted computing platforms use the TPM to support privacy and security scenarios that software alone can't achieve. For example, software alone can't reliably report whether malware is present during the system startup process. The close integration between TPM and platform increases the transparency of the startup process and supports evaluating device health by enabling reliable measuring and reporting of the software that starts the device. Implementation of a TPM as part of a trusted computing platform provides a hardware root of trust-that is, it behaves in a trusted way. For example, if a key stored in a TPM has properties that disallow exporting the key, that key truly can't leave the TPM. -The TCG designed the TPM as a low-cost, mass-market security solution that addresses the requirements of different customer segments. There are variations in the security properties of different TPM implementations just as there are variations in customer and regulatory requirements for different sectors. In public-sector procurement, for example, some governments have clearly defined security requirements for TPMs whereas others do not. +The TCG designed the TPM as a low-cost, mass-market security solution that addresses the requirements of different customer segments. There are variations in the security properties of different TPM implementations just as there are variations in customer and regulatory requirements for different sectors. In public-sector procurement, for example, some governments clearly define security requirements for TPMs whereas others don't. ## TPM 1.2 vs. 2.0 comparison -From an industry standard, Microsoft has been an industry leader in moving and standardizing on TPM 2.0, which has many key realized benefits across algorithms, crypto, hierarchy, root keys, authorization and NV RAM. +From an industry standard, Microsoft has been an industry leader in moving and standardizing on TPM 2.0, which has many key realized benefits across algorithms, crypto, hierarchy, root keys, authorization, and NV RAM. ## Why TPM 2.0? TPM 2.0 products and systems have important security advantages over TPM 1.2, including: - The TPM 1.2 spec only allows for the use of RSA and the SHA-1 hashing algorithm. -- For security reasons, some entities are moving away from SHA-1. Notably, NIST has required many federal agencies to move to SHA-256 as of 2014, and technology leaders, including Microsoft and Google have announced they will remove support for SHA-1 based signing or certificates in 2017. +- For security reasons, some entities are moving away from SHA-1. Notably, NIST requires many federal agencies to move to SHA-256 as of 2014, and technology leaders, including Microsoft and Google have removed support for SHA-1 based signing or certificates in 2017. - TPM 2.0 **enables greater crypto agility** by being more flexible with respect to cryptographic algorithms. - TPM 2.0 supports newer algorithms, which can improve drive signing and key generation performance. For the full list of supported algorithms, see the [TCG Algorithm Registry](http://www.trustedcomputinggroup.org/tcg-algorithm-registry/). Some TPMs don't support all algorithms. - For the list of algorithms that Windows supports in the platform cryptographic storage provider, see [CNG Cryptographic Algorithm Providers](/windows/win32/seccertenroll/cng-cryptographic-algorithm-providers). @@ -58,7 +58,7 @@ There are three implementation options for TPMs: - Integrated TPM solution, using dedicated hardware integrated into one or more semiconductor packages alongside, but logically separate from, other components. - Firmware TPM solution, running the TPM in firmware in a Trusted Execution mode of a general purpose computation unit. -Windows uses any compatible TPM in the same way. Microsoft does not take a position on which way a TPM should be implemented and there is a wide ecosystem of available TPM solutions, which should suit all needs. +Windows uses any compatible TPM in the same way. Microsoft doesn't take a position on which way a TPM should be implemented and there's a wide ecosystem of available TPM solutions, which should suit all needs. ## Is there any importance for TPM for consumers? @@ -84,25 +84,21 @@ The following table defines which Windows features require TPM support. | Windows Features | TPM Required | Supports TPM 1.2 | Supports TPM 2.0 | Details | |--|--|--|--|--| -| Measured Boot | Yes | Yes | Yes | Measured Boot requires TPM 1.2 or 2.0 and UEFI Secure Boot. TPM 2.0 is recommended since it supports newer cryptographic algorithms. TPM 1.2 only supports the SHA-1 algorithm which is being deprecated. | +| Measured Boot | Yes | Yes | Yes | Measured Boot requires TPM 1.2 or 2.0 and UEFI Secure Boot. TPM 2.0 is recommended since it supports newer cryptographic algorithms. TPM 1.2 only supports the SHA-1 algorithm, which is being deprecated. | | BitLocker | No | Yes | Yes | TPM 1.2 or 2.0 are supported but TPM 2.0 is recommended. [Device Encryption requires Modern Standby](../../operating-system-security/data-protection/bitlocker/index.md#device-encryption) including TPM 2.0 support | | Device Encryption | Yes | N/A | Yes | Device Encryption requires Modern Standby/Connected Standby certification, which requires TPM 2.0. | | Windows Defender Application Control (Device Guard) | No | Yes | Yes | -| Windows Defender System Guard (DRTM) | Yes | No | Yes | TPM 2.0 and UEFI firmware is required. | -| Credential Guard | No | Yes | Yes | Windows 10, version 1507 (End of Life as of May 2017) only supported TPM 2.0 for Credential Guard. Beginning with Windows 10, version 1511, TPM 1.2 and 2.0 are supported. Paired with Windows Defender System Guard, TPM 2.0 provides enhanced security for Credential Guard. Windows 11 requires TPM 2.0 by default to facilitate easier enablement of this enhanced security for customers. | -| Device Health Attestation | Yes | Yes | Yes | TPM 2.0 is recommended since it supports newer cryptographic algorithms. TPM 1.2 only supports the SHA-1 algorithm which is being deprecated. | -| Windows Hello/Windows Hello for Business | No | Yes | Yes | Microsoft Entra join supports both versions of TPM, but requires TPM with keyed-hash message authentication code (HMAC) and Endorsement Key (EK) certificate for key attestation support. TPM 2.0 is recommended over TPM 1.2 for better performance and security. Windows Hello as a FIDO platform authenticator will take advantage of TPM 2.0 for key storage. | +| System Guard (DRTM) | Yes | No | Yes | TPM 2.0 and UEFI firmware is required. | +| Credential Guard | No | Yes | Yes | Windows 10, version 1507 (End of Life as of May 2017) only supported TPM 2.0 for Credential Guard. Beginning with Windows 10, version 1511, TPM 1.2 and 2.0 are supported. Paired with System Guard, TPM 2.0 provides enhanced security for Credential Guard. Windows 11 requires TPM 2.0 by default to facilitate easier enablement of this enhanced security for customers. | +| Device Health Attestation | Yes | Yes | Yes | TPM 2.0 is recommended since it supports newer cryptographic algorithms. TPM 1.2 only supports the SHA-1 algorithm, which is being deprecated. | +| Windows Hello/Windows Hello for Business | No | Yes | Yes | Microsoft Entra join supports both versions of TPM, but requires TPM with keyed-hash message authentication code (HMAC) and Endorsement Key (EK) certificate for key attestation support. TPM 2.0 is recommended over TPM 1.2 for better performance and security. Windows Hello as a FIDO platform authenticator takes advantage of TPM 2.0 for key storage. | | UEFI Secure Boot | No | Yes | Yes | | TPM Platform Crypto Provider Key Storage Provider | Yes | Yes | Yes | | Virtual Smart Card | Yes | Yes | Yes | | Certificate storage | No | Yes | Yes | TPM is only required when the certificate is stored in the TPM. | -| Autopilot | No | N/A | Yes | If you intend to deploy a scenario which requires TPM (such as white glove and self-deploying mode), then TPM 2.0 and UEFI firmware are required. | +| Autopilot | No | N/A | Yes | If you intend to deploy a scenario, which requires TPM (such as white glove and self-deploying mode), then TPM 2.0 and UEFI firmware are required. | | SecureBIO | Yes | No | Yes | TPM 2.0 and UEFI firmware is required. | ## OEM Status on TPM 2.0 system availability and certified parts Government customers and enterprise customers in regulated industries may have acquisition standards that require use of common certified TPM parts. As a result, OEMs, who provide the devices, may be required to use only certified TPM components on their commercial class systems. For more information, contact your OEM or hardware vendor. - -## Related topics - -- [Trusted Platform Module](trusted-platform-module-overview.md) diff --git a/windows/security/hardware-security/tpm/trusted-platform-module-overview.md b/windows/security/hardware-security/tpm/trusted-platform-module-overview.md index 46a0c61d51..372d8ad9ee 100644 --- a/windows/security/hardware-security/tpm/trusted-platform-module-overview.md +++ b/windows/security/hardware-security/tpm/trusted-platform-module-overview.md @@ -2,7 +2,7 @@ title: Trusted Platform Module Technology Overview description: Learn about the Trusted Platform Module (TPM) and how Windows uses it for access control and authentication. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 ms.collection: - tier1 --- diff --git a/windows/security/hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md b/windows/security/hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md index 4ea0c0f2d7..fdc858bcd3 100644 --- a/windows/security/hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md +++ b/windows/security/hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md @@ -1,13 +1,52 @@ --- title: TPM Group Policy settings -description: This topic describes the Trusted Platform Module (TPM) Services that can be controlled centrally by using Group Policy settings. +description: This article describes the Trusted Platform Module (TPM) Services that can be controlled centrally by using Group Policy settings. ms.topic: conceptual -ms.date: 11/17/2023 +ms.date: 07/10/2024 --- # TPM Group Policy settings -This topic describes the Trusted Platform Module (TPM) Services that can be controlled centrally by using Group Policy settings. The Group Policy settings for TPM services are located under **Computer Configuration** > **Administrative Templates** > **System** > **Trusted Platform Module Services**. +This article describes the Trusted Platform Module (TPM) Services that can be controlled centrally by using Group Policy settings. The Group Policy settings for TPM services are located under **Computer Configuration** > **Administrative Templates** > **System** > **Trusted Platform Module Services**. + +## Configure the list of blocked TPM commands + +This policy setting allows you to manage the Group Policy list of Trusted Platform Module (TPM) commands blocked by Windows. + +If you enable this policy setting, Windows blocks the specified commands from being sent to the TPM on the computer. TPM commands are referenced by a command number. For example, command number `129` is `TPM_OwnerReadInternalPub`, and command number `170` is `TPM_FieldUpgrade`. + +If you disable or don't configure this policy setting, only those TPM commands specified through the default or local lists may be blocked by Windows. The default list of blocked TPM commands is preconfigured by Windows. You can view the default list by running `tpm.msc`, navigating to the "Command Management" section, and making visible the "On Default Block List" column. The local list of blocked TPM commands is configured outside of Group Policy by running `tpm.msc` or through scripting against the Win32_Tpm interface. + +## Configure the system to clear the TPM if it is not in a ready state + +This policy setting configures the system to prompt the user to clear the TPM if the TPM is detected to be in any state other than Ready. This policy takes effect only if the system's TPM is in a state other than Ready, including if the TPM is "Ready, with reduced functionality". The prompt to clear the TPM will start occurring after the next reboot, upon user sign-in only if the logged in user is part of the Administrators group for the system. The prompt can be dismissed, but will reappear after every reboot and sign-in until the policy is disabled or until the TPM is in a Ready state. + +## Ignore the default list of blocked TPM commands + +This policy setting allows you to enforce or ignore the computer's local list of blocked Trusted Platform Module (TPM) commands. + +If you enable this policy setting, Windows ignores the computer's local list of blocked TPM commands and will only block those TPM commands specified by Group Policy or the default list. + +The local list of blocked TPM commands is configured outside of Group Policy by running `tpm.msc` or through scripting against the `Win32_Tpm` interface. The default list of blocked TPM commands is preconfigured by Windows. See the related policy setting to configure the Group Policy list of blocked TPM commands. + +If you disable or don't configure this policy setting, Windows blocks the TPM commands found in the local list, in addition to commands in the Group Policy and default lists of blocked TPM commands. + +## Ignore the local list of blocked TPM commands + +This policy setting configures how much of the TPM owner authorization information is stored in the registry of the local computer. Depending on the amount of TPM owner authorization information stored locally, the operating system and TPM-based applications can perform certain TPM actions, which require TPM owner authorization without requiring the user to enter the TPM owner password. + +You can choose to have the operating system store either the full TPM owner authorization value, the TPM administrative delegation blob plus the TPM user delegation blob, or none. + +If you enable this policy setting, Windows stores the TPM owner authorization in the registry of the local computer according to the operating system managed TPM authentication setting you choose. + +Choose the operating system managed TPM authentication setting of "Full" to store the full TPM owner authorization, the TPM administrative delegation blob and the TPM user delegation blob in the local registry. This setting allows use of the TPM without requiring remote or external storage of the TPM owner authorization value. This setting is appropriate for scenarios, which don't depend on preventing reset of the TPM anti-hammering logic or changing the TPM owner authorization value. Some TPM-based applications may require this setting be changed before features, which depend on the TPM anti-hammering logic can be used. + +Choose the operating system managed TPM authentication setting of "Delegated" to store only the TPM administrative delegation blob and the TPM user delegation blob in the local registry. This setting is appropriate for use with TPM-based applications that depend on the TPM anti-hammering logic. + +Choose the operating system managed TPM authentication setting of "None" for compatibility with previous operating systems and applications or for use with scenarios that require TPM owner authorization not be stored locally. Using this setting might cause issues with some TPM-based applications. + +> [!NOTE] +> If the operating system managed TPM authentication setting is changed from "Full" to "Delegated", the full TPM owner authorization value is regenerated and any copies of the original TPM owner authorization value are invalidated. ## Configure the level of TPM owner authorization information available to the operating system @@ -24,11 +63,11 @@ This policy setting configured which TPM authorization values are stored in the There are three TPM owner authentication settings that are managed by the Windows operating system. You can choose a value of **Full**, **Delegate**, or **None**. -- **Full**: This setting stores the full TPM owner authorization, the TPM administrative delegation blob, and the TPM user delegation blob in the local registry. With this setting, you can use the TPM without requiring remote or external storage of the TPM owner authorization value. This setting is appropriate for scenarios that do not require you to reset the TPM anti-hammering logic or change the TPM owner authorization value. Some TPM-based applications may require that this setting is changed before features that depend on the TPM anti-hammering logic can be used. Full owner authorization in TPM 1.2 is similar to lockout authorization in TPM 2.0. Owner authorization has a different meaning for TPM 2.0. +- **Full**: This setting stores the full TPM owner authorization, the TPM administrative delegation blob, and the TPM user delegation blob in the local registry. With this setting, you can use the TPM without requiring remote or external storage of the TPM owner authorization value. This setting is appropriate for scenarios that don't require you to reset the TPM anti-hammering logic or change the TPM owner authorization value. Some TPM-based applications may require that this setting is changed before features that depend on the TPM anti-hammering logic can be used. Full owner authorization in TPM 1.2 is similar to lockout authorization in TPM 2.0. Owner authorization has a different meaning for TPM 2.0. - **Delegated**: This setting stores only the TPM administrative delegation blob and the TPM user delegation blob in the local registry. This setting is appropriate for use with TPM-based applications that depend on the TPM antihammering logic. This is the default setting in Windows prior to version 1703. -- **None**: This setting provides compatibility with previous operating systems and applications. You can also use it for scenarios when TPM owner authorization cannot be stored locally. Using this setting might cause issues with some TPM-based applications. +- **None**: This setting provides compatibility with previous operating systems and applications. You can also use it for scenarios when TPM owner authorization can't be stored locally. Using this setting might cause issues with some TPM-based applications. > [!NOTE] > If the operating system managed TPM authentication setting is changed from **Full** to **Delegated**, the full TPM owner authorization value will be regenerated, and any copies of the previously set TPM owner authorization value will be invalid. @@ -46,31 +85,31 @@ The following table shows the TPM owner authorization values in the registry. | 2 | Delegated | | 4 | Full | -If you enable this policy setting, the Windows operating system will store the TPM owner authorization in the registry of the local computer according to the TPM authentication setting you choose. +If you enable this policy setting, the Windows operating system stores the TPM owner authorization in the registry of the local computer according to the TPM authentication setting you choose. -On Windows 10 prior to version 1607, if you disable or do not configure this policy setting, and the **Turn on TPM backup to Active Directory Domain Services** policy setting is also disabled or not configured, the default setting is to store the full TPM authorization value in the local registry. If this policy is disabled or not configured, and the **Turn on TPM backup to Active Directory Domain Services** policy setting is enabled, only the administrative delegation and the user delegation blobs are stored in the local registry. +On Windows 10 prior to version 1607, if you disable or don't configure this policy setting, and the **Turn on TPM backup to Active Directory Domain Services** policy setting is also disabled or not configured, the default setting is to store the full TPM authorization value in the local registry. If this policy is disabled or not configured, and the **Turn on TPM backup to Active Directory Domain Services** policy setting is enabled, only the administrative delegation and the user delegation blobs are stored in the local registry. ## Standard User Lockout Duration This policy setting allows you to manage the duration in minutes for counting standard user authorization failures for Trusted Platform Module (TPM) commands requiring authorization. An authorization failure occurs each time a standard user sends a command to the TPM and receives an error response that indicates an authorization failure occurred. Authorization failures that are older than the duration you set are ignored. If the number of TPM commands with an authorization failure within the lockout duration equals a threshold, a standard user is prevented from sending commands that require authorization to the TPM. -The TPM is designed to protect itself against password guessing attacks by entering a hardware lockout mode when it receives too many commands with an incorrect authorization value. When the TPM enters a lockout mode, it is global for all users (including administrators) and for Windows features such as BitLocker Drive Encryption. +The TPM is designed to protect itself against password guessing attacks by entering a hardware lockout mode when it receives too many commands with an incorrect authorization value. When the TPM enters a lockout mode, it's global for all users (including administrators) and for Windows features such as BitLocker Drive Encryption. This setting helps administrators prevent the TPM hardware from entering a lockout mode by slowing the speed at which standard users can send commands that require authorization to the TPM. For each standard user, two thresholds apply. Exceeding either threshold prevents the user from sending a command that requires authorization to the TPM. Use the following policy settings to set the lockout duration: -- [Standard User Individual Lockout Threshold](#standard-user-individual-lockout-threshold): This value is the maximum number of authorization failures that each standard user can have before the user is not allowed to send commands that require authorization to the TPM. -- [Standard User Total Lockout Threshold](#standard-user-total-lockout-threshold): This value is the maximum total number of authorization failures that all standard users can have before all standard users are not allowed to send commands that require authorization to the TPM. +- [Standard User Individual Lockout Threshold](#standard-user-individual-lockout-threshold): This value is the maximum number of authorization failures that each standard user can have before the user isn't allowed to send commands that require authorization to the TPM. +- [Standard User Total Lockout Threshold](#standard-user-total-lockout-threshold): This value is the maximum total number of authorization failures that all standard users can have before all standard users aren't allowed to send commands that require authorization to the TPM. An administrator with the TPM owner password can fully reset the TPM's hardware lockout logic by using the Windows Defender Security Center. Each time an administrator resets the TPM's hardware lockout logic, all prior standard user TPM authorization failures are ignored. This allows standard users to immediately use the TPM normally. -If you do not configure this policy setting, a default value of 480 minutes (8 hours) is used. +If you don't configure this policy setting, a default value of 480 minutes (8 hours) is used. ## Standard User Individual Lockout Threshold -This policy setting allows you to manage the maximum number of authorization failures for each standard user for the Trusted Platform Module (TPM). This value is the maximum number of authorization failures that each standard user can have before the user is not allowed to send commands that require authorization to the TPM. If the number of authorization failures for the user within the duration that is set for the **Standard User Lockout Duration** policy setting equals this value, the standard user is prevented from sending commands that require authorization to the Trusted Platform Module (TPM). +This policy setting allows you to manage the maximum number of authorization failures for each standard user for the Trusted Platform Module (TPM). This value is the maximum number of authorization failures that each standard user can have before the user isn't allowed to send commands that require authorization to the TPM. If the number of authorization failures for the user within the duration that is set for the **Standard User Lockout Duration** policy setting equals this value, the standard user is prevented from sending commands that require authorization to the Trusted Platform Module (TPM). This setting helps administrators prevent the TPM hardware from entering a lockout mode by slowing the speed at which standard users can send commands that require authorization to the TPM. @@ -78,7 +117,7 @@ An authorization failure occurs each time a standard user sends a command to the An administrator with the TPM owner password can fully reset the TPM's hardware lockout logic by using the Windows Defender Security Center. Each time an administrator resets the TPM's hardware lockout logic, all prior standard user TPM authorization failures are ignored. This allows standard users to immediately use the TPM normally. -If you do not configure this policy setting, a default value of 4 is used. A value of zero means that the operating system will not allow standard users to send commands to the TPM, which might cause an authorization failure. +If you don't configure this policy setting, a default value of 4 is used. A value of zero means that the operating system won't allow standard users to send commands to the TPM, which might cause an authorization failure. ## Standard User Total Lockout Threshold @@ -90,7 +129,7 @@ An authorization failure occurs each time a standard user sends a command to the An administrator with the TPM owner password can fully reset the TPM's hardware lockout logic by using the Windows Defender Security Center. Each time an administrator resets the TPM's hardware lockout logic, all prior standard user TPM authorization failures are ignored. This allows standard users to immediately use the TPM normally. -If you do not configure this policy setting, a default value of 9 is used. A value of zero means that the operating system will not allow standard users to send commands to the TPM, which might cause an authorization failure. +If you don't configure this policy setting, a default value of 9 is used. A value of zero means that the operating system won't allow standard users to send commands to the TPM, which might cause an authorization failure. ## Configure the system to use legacy Dictionary Attack Prevention Parameters setting for TPM 2.0 @@ -114,14 +153,13 @@ You can change what users see about TPM in **Windows Security**. The Group Polic ### Disable the Clear TPM button -If you don't want users to be able to click the **Clear TPM** button in **Windows Security**, you can disable it with this Group Policy setting. Select **Enabled** to make the **Clear TPM** button unavailable for use. +If you don't want users to be able to select the **Clear TPM** button in **Windows Security**, you can disable it with this Group Policy setting. Select **Enabled** to make the **Clear TPM** button unavailable for use. ### Hide the TPM Firmware Update recommendation If you don't want users to see the recommendation to update TPM firmware, you can disable it with this setting. Select **Enabled** to prevent users from seeing a recommendation to update their TPM firmware when a vulnerable firmware is detected. -## Related topics +## Related articles -- [Trusted Platform Module](trusted-platform-module-overview.md) - [TPM Cmdlets in Windows PowerShell](/powershell/module/trustedplatformmodule/?view=win10-ps&preserve-view=true) - [BitLocker planning guide](../../operating-system-security/data-protection/bitlocker/planning-guide.md) From a5f03be45bc2b90f1ef309c6c8a47351d2a6cbc1 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Wed, 10 Jul 2024 16:47:47 -0600 Subject: [PATCH 228/354] OS Security freshness --- .../block-untrusted-fonts-in-enterprise.md | 12 +- ...tions-for-app-related-security-policies.md | 26 +-- ...arding-to-assist-in-intrusion-detection.md | 150 +++++++++--------- .../get-support-for-security-baselines.md | 2 +- .../mbsa-removal-and-guidance.md | 4 +- .../security-compliance-toolkit-10.md | 2 +- .../windows-security-baselines.md | 4 +- .../operating-system-security/index.md | 2 +- .../cryptography-certificate-mgmt.md | 4 +- ...-the-health-of-windows-10-based-devices.md | 68 ++++---- .../secure-the-windows-10-boot-process.md | 8 +- .../system-security/trusted-boot.md | 8 +- .../available-settings.md | 58 +++---- .../enhanced-phishing-protection.md | 6 +- .../microsoft-defender-smartscreen/index.md | 2 +- 15 files changed, 175 insertions(+), 181 deletions(-) diff --git a/windows/security/operating-system-security/device-management/block-untrusted-fonts-in-enterprise.md b/windows/security/operating-system-security/device-management/block-untrusted-fonts-in-enterprise.md index 75a3f08635..fc6df9c4a9 100644 --- a/windows/security/operating-system-security/device-management/block-untrusted-fonts-in-enterprise.md +++ b/windows/security/operating-system-security/device-management/block-untrusted-fonts-in-enterprise.md @@ -3,12 +3,12 @@ title: Block untrusted fonts in an enterprise description: To help protect your company from attacks that may originate from untrusted or attacker controlled font files, we've created the Blocking Untrusted Fonts feature. ms.localizationpriority: medium ms.topic: how-to -ms.date: 12/22/2023 +ms.date: 07/10/2024 --- # Block untrusted fonts in an enterprise -To help protect your company from attacks that may originate from untrusted or attacker-controlled font files, we've created the Blocking Untrusted Fonts feature. Using this feature, you can turn on a global setting that stops your employees from loading untrusted fonts processed using the Graphics Device Interface (GDI) onto your network. Untrusted fonts are any font installed outside of the `%windir%\Fonts` directory. Blocking untrusted fonts helps prevent both remote (web-based or email-based) and local EOP attacks that can happen during the font file-parsing process. +To help protect your company from attacks that may originate from untrusted or attacker-controlled font files, you can block untrusted fonts. Using this feature, you can turn on a global setting that stops your employees from loading untrusted fonts processed using the Graphics Device Interface (GDI) onto your network. Untrusted fonts are any font installed outside of the `%windir%\Fonts` directory. Blocking untrusted fonts helps prevent both remote (web-based or email-based) and local EOP attacks that can happen during the font file-parsing process. ## What does this mean for me? @@ -44,11 +44,11 @@ Use Group Policy or the registry to turn this feature on, off, or to use audit m **To turn on and use the Blocking Untrusted Fonts feature through Group Policy** 1. Open the Group Policy editor (gpedit.msc) and go to `Computer Configuration\Administrative Templates\System\Mitigation Options\Untrusted Font Blocking`. -2. Click **Enabled** to turn on the feature, and then click one of the following **Mitigation Options**: +2. Select **Enabled** to turn on the feature, and then select one of the following **Mitigation Options**: - **Block untrusted fonts and log events.** Turns on the feature, blocking untrusted fonts and logging installation attempts to the event log. - **Do not block untrusted fonts.** Turns on the feature, but doesn't block untrusted fonts nor does it log installation attempts to the event log. - **Log events without blocking untrusted fonts**. Turns on the feature, logging installation attempts to the event log, but not blocking untrusted fonts. -3. Click **OK**. +3. Select **OK**. **To turn on and use the Blocking Untrusted Fonts feature through the registry** @@ -56,7 +56,7 @@ To turn this feature on, off, or to use audit mode: 1. Open the registry editor (regedit.exe) and go to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel\`. 2. If the **MitigationOptions** key isn't there, right-click and add a new **QWORD (64-bit) Value**, renaming it to **MitigationOptions**. -3. Right click on the **MitigationOptions** key, and then click **Modify**. The **Edit QWORD (64-bit) Value** box opens. +3. Right select on the **MitigationOptions** key, and then select **Modify**. The **Edit QWORD (64-bit) Value** box opens. 4. Make sure the **Base** option is **Hexadecimal**, and then update the **Value data**, making sure you keep your existing value, like in the important note below: - **To turn this feature on.** Type **1000000000000**. - **To turn this feature off.** Type **2000000000000**. @@ -114,7 +114,7 @@ After you figure out the problematic fonts, you can try to fix your apps in two **To fix your apps by installing the problematic fonts (recommended)** -On each computer with the app installed, right-click on the font name and click **Install**. The font should automatically install into your `%windir%\Fonts` directory. If it doesn't, you'll need to manually copy the font files into the **Fonts** directory and run the installation from there. +On each computer with the app installed, right-click on the font name and select **Install**. The font should automatically install into your `%windir%\Fonts` directory. If it doesn't, you need to manually copy the font files into the **Fonts** directory and run the installation from there. **To fix your apps by excluding processes** diff --git a/windows/security/operating-system-security/device-management/override-mitigation-options-for-app-related-security-policies.md b/windows/security/operating-system-security/device-management/override-mitigation-options-for-app-related-security-policies.md index ada9f32a4e..6ebc5f4369 100644 --- a/windows/security/operating-system-security/device-management/override-mitigation-options-for-app-related-security-policies.md +++ b/windows/security/operating-system-security/device-management/override-mitigation-options-for-app-related-security-policies.md @@ -3,7 +3,7 @@ title: Override Process Mitigation Options description: How to use Group Policy to override individual Process Mitigation Options settings and to help enforce specific app-related security policies. ms.localizationpriority: medium ms.topic: how-to -ms.date: 12/22/2023 +ms.date: 07/10/2024 --- # Override Process Mitigation Options to help enforce app-related security policies @@ -13,10 +13,10 @@ Windows includes group policy-configurable "Process Mitigation Options" that add > [!IMPORTANT] > We recommend trying these mitigations in a test lab before deploying to your organization, to determine if they interfere with your organization's required apps. -The Group Policy settings in this topic are related to three types of process mitigations. All three types are on by default for 64-bit applications, but by using the Group Policy settings described in this topic, you can configure more protections. The types of process mitigations are: +The Group Policy settings in this article are related to three types of process mitigations. All three types are on by default for 64-bit applications, but by using the Group Policy settings described in this article, you can configure more protections. The types of process mitigations are: -- **Data Execution Prevention (DEP)** is a system-level memory protection feature that enables the operating system to mark one or more pages of memory as non-executable, preventing code from being run from that region of memory, to help prevent exploitation of buffer overruns. DEP helps prevent code from being run from data pages such as the default heap, stacks, and memory pools. For more information, see [Data Execution Prevention](../../threat-protection/overview-of-threat-mitigations-in-windows-10.md#data-execution-prevention). -- **Structured Exception Handling Overwrite Protection (SEHOP)** is designed to block exploits that use the Structured Exception Handler (SEH) overwrite technique. Because this protection mechanism is provided at run-time, it helps to protect apps regardless of whether they've been compiled with the latest improvements. For more information, see [Structured Exception Handling Overwrite Protection](../../threat-protection/overview-of-threat-mitigations-in-windows-10.md#structured-exception-handling-overwrite-protection). +- **Data Execution Prevention (DEP)** is a system-level memory protection feature that enables the operating system to mark one or more pages of memory as nonexecutable, preventing code from being run from that region of memory, to help prevent exploitation of buffer overruns. DEP helps prevent code from being run from data pages such as the default heap, stacks, and memory pools. For more information, see [Data Execution Prevention](../../threat-protection/overview-of-threat-mitigations-in-windows-10.md#data-execution-prevention). +- **Structured Exception Handling Overwrite Protection (SEHOP)** is designed to block exploits that use the Structured Exception Handler (SEH) overwrite technique. Because this protection mechanism is provided at run-time, it helps to protect apps regardless of whether they're compiled with the latest improvements. For more information, see [Structured Exception Handling Overwrite Protection](../../threat-protection/overview-of-threat-mitigations-in-windows-10.md#structured-exception-handling-overwrite-protection). - **Address Space Layout Randomization (ASLR)** loads DLLs into random memory addresses at boot time to mitigate against malware that's designed to attack specific memory locations, where specific DLLs are expected to be loaded. For more information, see [Address Space Layout Randomization](../../threat-protection/overview-of-threat-mitigations-in-windows-10.md#address-space-layout-randomization). To find more ASLR protections in the table below, look for `IMAGES` or `ASLR`. The following procedure describes how to use Group Policy to override individual **Process Mitigation Options** settings. @@ -27,7 +27,7 @@ The following procedure describes how to use Group Policy to override individual ![Screenshot of the Group Policy editor: Process Mitigation Options with setting enabled and Show button active.](images/gp-process-mitigation-options.png) -2. Click **Enabled**, and then in the **Options** area, click **Show** to open the **Show Contents** box, where you'll be able to add your apps and the appropriate bit flag values, as shown in the [Setting the bit field](#setting-the-bit-field) and [Example](#example) sections of this topic. +2. Select **Enabled**, and then in the **Options** area, select **Show** to open the **Show Contents** box, where you can add your apps and the appropriate bit flag values, as shown in the [Setting the bit field](#setting-the-bit-field) and [Example](#example) sections of this article. > [!IMPORTANT] > For each app you want to include, you must include: @@ -45,14 +45,14 @@ Here's a visual representation of the bit flag locations for the various Process Where the bit flags are read from right to left and are defined as: -| Flag | Bit location | Setting | Details | -|------|--------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| A | 0 | `PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE (0x00000001)` | Turns on Data Execution Prevention (DEP) for child processes. | -| B | 1 | `PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE (0x00000002)` | Turns on DEP-ATL thunk emulation for child processes. DEP-ATL thunk emulation lets the system intercept non-executable (NX) faults that originate from the Active Template Library (ATL) thunk layer, and then emulate and handle the instructions so the process can continue to run. | -| C | 2 | `PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE (0x00000004)` | Turns on Structured Exception Handler Overwrite Protection (SEHOP) for child processes. SEHOP helps to block exploits that use the Structured Exception Handler (SEH) overwrite technique. | -| D | 8 | `PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON (0x00000100)` | Uses the force Address Space Layout Randomization (ASLR) setting to act as though an image base collision happened at load time, forcibly rebasing images that aren't dynamic base compatible. Images without the base relocation section won't be loaded if relocations are required. | -| E | 15 | `PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON (0x00010000)` | Turns on the bottom-up randomization policy, which includes stack randomization options and causes a random location to be used as the lowest user address. | -| F | 16 | `PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF (0x00020000)` | Turns off the bottom-up randomization policy, which includes stack randomization options and causes a random location to be used as the lowest user address. | +| Flag | Bit location | Setting | Details | +|--|--|--|--| +| A | 0 | `PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE (0x00000001)` | Turns on Data Execution Prevention (DEP) for child processes. | +| B | 1 | `PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE (0x00000002)` | Turns on DEP-ATL thunk emulation for child processes. DEP-ATL thunk emulation lets the system intercept nonexecutable (NX) faults that originate from the Active Template Library (ATL) thunk layer, and then emulate and handle the instructions so the process can continue to run. | +| C | 2 | `PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE (0x00000004)` | Turns on Structured Exception Handler Overwrite Protection (SEHOP) for child processes. SEHOP helps to block exploits that use the Structured Exception Handler (SEH) overwrite technique. | +| D | 8 | `PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON (0x00000100)` | Uses the force Address Space Layout Randomization (ASLR) setting to act as though an image base collision happened at load time, forcibly rebasing images that aren't dynamic base compatible. Images without the base relocation section aren't loaded if relocations are required. | +| E | 15 | `PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON (0x00010000)` | Turns on the bottom-up randomization policy, which includes stack randomization options and causes a random location to be used as the lowest user address. | +| F | 16 | `PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF (0x00020000)` | Turns off the bottom-up randomization policy, which includes stack randomization options and causes a random location to be used as the lowest user address. | ### Example diff --git a/windows/security/operating-system-security/device-management/use-windows-event-forwarding-to-assist-in-intrusion-detection.md b/windows/security/operating-system-security/device-management/use-windows-event-forwarding-to-assist-in-intrusion-detection.md index 100c5b8c1f..370ae5677a 100644 --- a/windows/security/operating-system-security/device-management/use-windows-event-forwarding-to-assist-in-intrusion-detection.md +++ b/windows/security/operating-system-security/device-management/use-windows-event-forwarding-to-assist-in-intrusion-detection.md @@ -3,14 +3,14 @@ title: Use Windows Event Forwarding to help with intrusion detection description: Learn about an approach to collect events from devices in your organization. This article talks about events in both normal operations and when an intrusion is suspected. ms.localizationpriority: medium ms.topic: how-to -ms.date: 12/22/2023 +ms.date: 07/10/2024 --- # Use Windows Event Forwarding to help with intrusion detection Learn about an approach to collect events from devices in your organization. This article talks about events in both normal operations and when an intrusion is suspected. -Windows Event Forwarding (WEF) reads any operational or administrative event log on a device in your organization and forwards the events you choose to a Windows Event Collector (WEC) server. +Windows Event Forwarding (WEF) reads any operational or administrative event logged on a device in your organization and forwards the events you choose to a Windows Event Collector (WEC) server. To accomplish this functionality, there are two different subscriptions published to client devices - the Baseline subscription and the suspect subscription. The Baseline subscription enrolls all devices in your organization, and a Suspect subscription only includes devices that have been added by you. The Suspect subscription collects more events to help build context for system activity and can quickly be updated to accommodate new events and/or scenarios as needed without impacting baseline operations. @@ -35,12 +35,12 @@ For the minimum recommended audit policy and registry system ACL settings, see [ > [!NOTE] > These are only minimum values need to meet what the WEF subscription selects. -From a WEF subscription management perspective, the event queries provided should be used in two separate subscriptions for ease of maintenance; only machines meeting specific criteria would be allowed access to the targeted subscription, this access would be determined by an algorithm or an analysts' direction. All devices should have access to the Baseline subscription. +From a WEF subscription management perspective, the event queries provided should be used in two separate subscriptions for ease of maintenance; only machines meeting specific criteria would be allowed access to the targeted subscription. This access would be determined by an algorithm or an analysts' direction. All devices should have access to the Baseline subscription. This system of dual subscription means you would create two base subscriptions: -- **Baseline WEF subscription**. Events collected from all hosts; these events include some role-specific events, which will only be emitted by those machines. -- **Targeted WEF subscription**. Events collected from a limited set of hosts due to unusual activity and/or heightened awareness for those systems. +- **Baseline WEF subscription**. Events collected from all hosts; these events include some role-specific events, which will only be emitted by those machines. +- **Targeted WEF subscription**. Events collected from a limited set of hosts due to unusual activity and/or heightened awareness for those systems. Each using the respective event query below. For the Targeted subscription, enabling the "read existing events" option should be set to true to allow collection of existing events from systems. By default, WEF subscriptions will only forward events generated after the WEF subscription was received by the client. @@ -58,7 +58,7 @@ The longer answer is: The **Eventlog-forwardingPlugin/Operational** event channe ### Is WEF Push or Pull? -A WEF subscription can be configured to be pushed or pulled, but not both. The simplest, most flexible IT deployment with the greatest scalability can be achieved by using a push, or source initiated, subscription. WEF clients are configured by using a GPO and the built-in forwarding client is activated. For pull, collector initiated, the subscription on the WEC server is pre-configured with the names of the WEF Client devices from which events are to be selected. Those clients are to be configured ahead of time to allow the credentials used in the subscription to access their event logs remotely (normally by adding the credential to the **Event Log Readers** built-in local security group.) A useful scenario: closely monitoring a specific set of machines. +A WEF subscription can be configured to be pushed or pulled, but not both. The simplest, most flexible IT deployment with the greatest scalability can be achieved by using a push, or source initiated, subscription. WEF clients are configured by using a GPO and the built-in forwarding client is activated. For pull, collector initiated, the subscription on the WEC server is preconfigured with the names of the WEF Client devices from which events are to be selected. Those clients are to be configured ahead of time to allow the credentials used in the subscription to access their event logs remotely (normally by adding the credential to the **Event Log Readers** built-in local security group.) A useful scenario: closely monitoring a specific set of machines. ### Will WEF work over VPN or RAS? @@ -67,7 +67,7 @@ WEF handles VPN, RAS, and DirectAccess scenarios well and will reconnect and sen ### How is client progress tracked? The WEC server maintains in its registry the bookmark information and last heartbeat time for each event source for each WEF subscription. When an event source reconnects to a WEC server, the last bookmark position is sent to the device to use as a starting point to resume forwarding events. If a -WEF client has no events to send, the WEF client will connect periodically to send a Heartbeat to the WEC server to indicate it's active. This heartbeat value can be individually configured for each subscription. +WEF client has no events to send, the WEF client connects periodically to send a Heartbeat to the WEC server to indicate it's active. This heartbeat value can be individually configured for each subscription. ### Will WEF work in an IPv4, IPv6, or mixed IPv4/IPv6 environment? @@ -130,19 +130,19 @@ For collector initiated subscriptions: The subscription contains the list of mac ### Can a client communicate to multiple WEF Event Collectors? -Yes. If you desire a High-Availability environment, configure multiple WEC servers with the same subscription configuration and publish both WEC Server URIs to WEF clients. WEF Clients will forward events simultaneously to the configured subscriptions on the WEC servers, if they have the appropriate access. +Yes. If you desire a High-Availability environment, configure multiple WEC servers with the same subscription configuration and publish both WEC Server URIs to WEF clients. WEF Clients forward events simultaneously to the configured subscriptions on the WEC servers, if they have the appropriate access. ### What are the WEC server's limitations? There are three factors that limit the scalability of WEC servers. The general rule for a stable WEC server on commodity hardware is planning for a total of 3,000 events per second on average for all configured subscriptions. -- **Disk I/O**. The WEC server doesn't process or validate the received event, but rather buffers the received event and then logs it to a local event log file (EVTX file). The speed of logging to the EVTX file is limited by the disk write speed. Isolating the EVTX file to its own array or using high speed disks can increase the number of events per second that a single WEC server can receive. -- **Network Connections**. While a WEF source doesn't maintain a permanent, persistent connection to the WEC server, it doesn't immediately disconnect after sending its events. This leniency means that the number of WEF sources that can simultaneously connect to the WEC server is limited to the open TCP ports available on the WEC server. -- **Registry size**. For each unique device that connects to a WEF subscription, there's a registry key (corresponding to the FQDN of the WEF Client) created to store bookmark and source heartbeat information. If this information isn't pruned to remove inactive clients, this set of registry keys can grow to an unmanageable size over time. +- **Disk I/O**. The WEC server doesn't process or validate the received event, but rather buffers the received event and then logs it to a local event log file (EVTX file). The speed of logging to the EVTX file is limited by the disk write speed. Isolating the EVTX file to its own array or using high speed disks can increase the number of events per second that a single WEC server can receive. +- **Network Connections**. While a WEF source doesn't maintain a permanent, persistent connection to the WEC server, it doesn't immediately disconnect after sending its events. This leniency means that the number of WEF sources that can simultaneously connect to the WEC server is limited to the open TCP ports available on the WEC server. +- **Registry size**. For each unique device that connects to a WEF subscription, there's a registry key (corresponding to the FQDN of the WEF Client) created to store bookmark and source heartbeat information. If this information isn't pruned to remove inactive clients, this set of registry keys can grow to an unmanageable size over time. - - When a subscription has >1000 WEF sources connect to it over its operational lifetime, also known as lifetime WEF sources, Event Viewer can become unresponsive for a few minutes when selecting the **Subscriptions** node in the left-navigation, but will function normally afterwards. - - At >50,000 lifetime WEF sources, Event Viewer is no longer an option and wecutil.exe (included with Windows) must be used to configure and manage subscriptions. - - At >100,000 lifetime WEF sources, the registry won't be readable and the WEC server will likely have to be rebuilt. + - When a subscription has >1000 WEF sources connect to it over its operational lifetime, also known as lifetime WEF sources, Event Viewer can become unresponsive for a few minutes when selecting the **Subscriptions** node in the left-navigation, but will function normally afterwards. + - At >50,000 lifetime WEF sources, Event Viewer is no longer an option and wecutil.exe (included with Windows) must be used to configure and manage subscriptions. + - At >100,000 lifetime WEF sources, the registry won't be readable and the WEC server will likely have to be rebuilt. ## Subscription information @@ -158,56 +158,56 @@ The subscription is essentially a collection of query statements applied to the To gain the most value out of the baseline subscription, we recommend having the following requirements set on the device to ensure that the clients are already generating the required events to be forwarded off the system. -- Apply a security audit policy that is a super-set of the recommended minimum audit policy. For more info, see [Appendix A - Minimum Recommended minimum Audit Policy](#bkmk-appendixa). This policy ensures that the security event log is generating the required events. -- Apply at least an Audit-Only AppLocker policy to devices. +- Apply a security audit policy that is a super-set of the recommended minimum audit policy. For more info, see [Appendix A - Minimum Recommended minimum Audit Policy](#bkmk-appendixa). This policy ensures that the security event log is generating the required events. +- Apply at least an Audit-Only AppLocker policy to devices. - - If you're already allowing or restricting events by using AppLocker, then this requirement is met. - - AppLocker events contain useful information, such as file hash and digital signature information for executables and scripts. + - If you're already allowing or restricting events by using AppLocker, then this requirement is met. + - AppLocker events contain useful information, such as file hash and digital signature information for executables and scripts. -- Enable disabled event channels and set the minimum size for modern event files. -- Currently, there's no GPO template for enabling or setting the maximum size for the modern event files. This threshold must be defined by using a GPO. For more info, see [Appendix C - Event Channel Settings (enable and Channel Access) methods](#bkmk-appendixc). +- Enable disabled event channels and set the minimum size for modern event files. +- Currently, there's no GPO template for enabling or setting the maximum size for the modern event files. This threshold must be defined by using a GPO. For more info, see [Appendix C - Event Channel Settings (enable and Channel Access) methods](#bkmk-appendixc). The annotated event query can be found in the following. For more info, see [Appendix F - Annotated Suspect Subscription Event Query](#bkmk-appendixf). -- Anti-malware events from Microsoft Antimalware or Windows Defender. These events can be configured for any given anti-malware product easily if it writes to the Windows event log. +- Anti-malware events from Windows Security. These events can be configured for any given anti-malware product easily if it writes to the Windows event log. - Security event log Process Create events. - AppLocker Process Create events (EXE, script, packaged App installation and execution). - Registry modification events. For more info, see [Appendix B - Recommended minimum Registry System ACL Policy](#bkmk-appendixb). - OS startup and shutdown - - Startup events include operating system version, service pack level, QFE version, and boot mode. + - Startup events include operating system version, service pack level, QFE version, and boot mode. - Service install - - Includes what the name of the service, the image path, and who installed the service. + - Includes what the name of the service, the image path, and who installed the service. - Certificate Authority audit events - - These events are only applicable on systems with the Certificate Authority role installed. - - Logs certificate requests and responses. + - These events are only applicable on systems with the Certificate Authority role installed. + - Logs certificate requests and responses. - User profile events - - Use of a temporary profile or unable to create a user profile may indicate an intruder is interactively logging into a device but not wanting to leave a persistent profile behind. + - Use of a temporary profile or unable to create a user profile may indicate an intruder is interactively logging into a device but not wanting to leave a persistent profile behind. - Service start failure - - Failure codes are localized, so you have to check the message DLL for values. + - Failure codes are localized, so you have to check the message DLL for values. - Network share access events - - Filter out IPC$ and /NetLogon file shares, which are expected and noisy. + - Filter out IPC$ and /NetLogon file shares, which are expected and noisy. - System shutdown initiate requests - - Find out what initiated the restart of a device. + - Find out what initiated the restart of a device. -- User-initiated interactive sign-out event +- User-initiated interactive sign out event - Remote Desktop Services sessions connect, reconnect, or disconnect. - EMET events, if EMET is installed. - Event forwarding plugin events - - For monitoring WEF subscription operations, such as Partial Success events. This event is useful for diagnosing deployment issues. + - For monitoring WEF subscription operations, such as Partial Success events. This event is useful for diagnosing deployment issues. - Network share creation and deletion @@ -217,111 +217,111 @@ The annotated event query can be found in the following. For more info, see [App - Sign-in sessions - - Sign-in success for interactive (local and Remote Interactive/Remote Desktop) - - Sign-in success for services for non-built-in accounts, such as LocalSystem, LocalNetwork, and so on. - - Sign-in success for batch sessions - - Sign-in session close, which is sign-out events for non-network sessions. + - Sign-in success for interactive (local and Remote Interactive/Remote Desktop) + - Sign-in success for services for non-built-in accounts, such as LocalSystem, LocalNetwork, and so on. + - Sign-in success for batch sessions + - Sign-in session close, which is sign out events for non-network sessions. - Windows Error Reporting (Application crash events only) - - This session can help detect early signs of intruder not familiar with enterprise environment using targeted malware. + - This session can help detect early signs of intruder not familiar with enterprise environment using targeted malware. - Event log service events - - Errors, start events, and stop events for the Windows Event Log service. + - Errors, start events, and stop events for the Windows Event Log service. - Event log cleared (including the Security Event Log) - - This event could indicate an intruder that is covering their tracks. + - This event could indicate an intruder that is covering their tracks. - Special privileges assigned to new sign in - - This assignation indicates that at the time of signing in, a user is either an Administrator or has the sufficient access to make themselves Administrator. + - This assignation indicates that at the time of signing in, a user is either an Administrator or has the sufficient access to make themselves Administrator. - Outbound Remote Desktop Services session attempts - - Visibility into potential beachhead for intruder + - Visibility into potential beachhead for intruder - System time changed - SMB Client (mapped drive connections) - Account credential validation - - Local accounts or domain accounts on domain controllers + - Local accounts or domain accounts on domain controllers - A user was added or removed from the local Administrators security group. - Crypto API private key accessed - - Associated with signing objects using the locally stored private key. + - Associated with signing objects using the locally stored private key. - Task Scheduler task creation and delete - - Task Scheduler allows intruders to run code at specified times as LocalSystem. + - Task Scheduler allows intruders to run code at specified times as LocalSystem. - Sign-in with explicit credentials - - Detect credential use changes by intruders to access more resources. + - Detect credential use changes by intruders to access more resources. - Smartcard card holder verification events - - This event detects when a smartcard is being used. + - This event detects when a smartcard is being used. ### Suspect subscription This subscription adds some possible intruder-related activity to help analyst further refine their determinations about the state of the device. -- Sign-in session creation for network sessions +- Sign-in session creation for network sessions - - Enables time-series analysis of network graphs. + - Enables time-series analysis of network graphs. -- RADIUS and VPN events +- RADIUS and VPN events - - Useful if you use a Microsoft IAS RADIUS/VPN implementation. It shows user-> IP address assignment with remote IP address connecting to the enterprise. + - Useful if you use a Microsoft IAS RADIUS/VPN implementation. It shows user-> IP address assignment with remote IP address connecting to the enterprise. -- Crypto API X509 object and build chain events +- Crypto API X509 object and build chain events - - Detects known bad certificate, CA, or sub-CA - - Detects unusual process use of CAPI + - Detects known bad certificate, CA, or sub-CA + - Detects unusual process use of CAPI -- Groups assigned to local sign in +- Groups assigned to local sign in - - Gives visibility to groups that enable account-wide access - - Allows better planning for remediation efforts - - Excludes well known, built-in system accounts. + - Gives visibility to groups that enable account-wide access + - Allows better planning for remediation efforts + - Excludes well known, built-in system accounts. -- Sign-in session exit +- Sign-in session exit - - Specific for network sign-in sessions. + - Specific for network sign-in sessions. -- Client DNS lookup events +- Client DNS lookup events - - Returns what process performed a DNS query and the results returned from the DNS server. + - Returns what process performed a DNS query and the results returned from the DNS server. -- Process exit +- Process exit - - Enables checking for processes terminating unexpectedly. + - Enables checking for processes terminating unexpectedly. -- Local credential validation or signing in with explicit credentials +- Local credential validation or signing in with explicit credentials - - Generated when the local SAM is authoritative for the account credentials being authenticated. - - Noisy on domain controllers - - On client devices, it's only generated when local accounts sign in. + - Generated when the local SAM is authoritative for the account credentials being authenticated. + - Noisy on domain controllers + - On client devices, it's only generated when local accounts sign in. -- Registry modification audit events +- Registry modification audit events - - Only when a registry value is being created, modified, or deleted. + - Only when a registry value is being created, modified, or deleted. -- Wireless 802.1x authentication +- Wireless 802.1x authentication - - Detect wireless connection with a peer MAC address + - Detect wireless connection with a peer MAC address -- Windows PowerShell logging +- Windows PowerShell logging - - Covers Windows PowerShell 2.0 and later and includes the Windows PowerShell 5.0 logging improvements for in-memory attacks using Windows PowerShell. - - Includes Windows PowerShell remoting logging + - Covers Windows PowerShell 2.0 and later and includes the Windows PowerShell 5.0 logging improvements for in-memory attacks using Windows PowerShell. + - Includes Windows PowerShell remoting logging -- User Mode Driver Framework "Driver Loaded" event +- User Mode Driver Framework "Driver Loaded" event - - Can possibly detect a USB device loading multiple device drivers. For example, a USB\_STOR device loading the keyboard or network driver. + - Can possibly detect a USB device loading multiple device drivers. For example, a USB\_STOR device loading the keyboard or network driver. ## Appendix A - Minimum recommended minimum audit policy diff --git a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/get-support-for-security-baselines.md b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/get-support-for-security-baselines.md index 7325710e0c..f0014cf81a 100644 --- a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/get-support-for-security-baselines.md +++ b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/get-support-for-security-baselines.md @@ -3,7 +3,7 @@ title: Get support for security baselines description: Find answers to frequently asked question on how to get support for baselines, the Security Compliance Toolkit (SCT), and related articles. ms.localizationpriority: medium ms.topic: conceptual -ms.date: 10/31/2023 +ms.date: 07/10/2024 --- # Get Support diff --git a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md index e68c6df87a..08bb94eda4 100644 --- a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md +++ b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/mbsa-removal-and-guidance.md @@ -2,7 +2,7 @@ title: Guide to removing Microsoft Baseline Security Analyzer (MBSA) description: This article documents the removal of Microsoft Baseline Security Analyzer (MBSA) and provides alternative solutions. ms.localizationpriority: medium -ms.date: 07/11/2023 +ms.date: 07/10/2024 ms.topic: conceptual --- @@ -28,7 +28,7 @@ For example: [![Screenshot that shows the PowerShell script.](images/powershell-example.png)](https://www.powershellgallery.com/packages/Scan-UpdatesOffline/1.0) The preceding scripts use the [WSUS offline scan file](https://support.microsoft.com/help/927745/detailed-information-for-developers-who-use-the-windows-update-offline) (wsusscn2.cab) to perform a scan and get the same information on missing updates as MBSA supplied. MBSA also relied on the wsusscn2.cab to determine which updates were missing from a given system without connecting to any online service or server. The wsusscn2.cab file is still available and there are currently no plans to remove or replace it. -The wsusscn2.cab file contains the metadata of only security updates, update rollups and service packs available from Microsoft Update; it doesn't contain any information on non-security updates, tools or drivers. +The wsusscn2.cab file contains the metadata of only security updates, update rollups, and service packs available from Microsoft Update; it doesn't contain any information on non-security updates, tools, or drivers. ## More information diff --git a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/security-compliance-toolkit-10.md b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/security-compliance-toolkit-10.md index fa66e1ee5c..87e04bd53b 100644 --- a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/security-compliance-toolkit-10.md +++ b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/security-compliance-toolkit-10.md @@ -2,7 +2,7 @@ title: Microsoft Security Compliance Toolkit Guide description: This article describes how to use Security Compliance Toolkit in your organization. ms.topic: conceptual -ms.date: 10/31/2023 +ms.date: 07/10/2024 --- # Microsoft Security Compliance Toolkit - How to use diff --git a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/windows-security-baselines.md b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/windows-security-baselines.md index 851c7a72c1..436a88a7a3 100644 --- a/windows/security/operating-system-security/device-management/windows-security-configuration-framework/windows-security-baselines.md +++ b/windows/security/operating-system-security/device-management/windows-security-configuration-framework/windows-security-baselines.md @@ -2,7 +2,7 @@ title: Security baselines guide description: Learn how to use security baselines in your organization. ms.topic: conceptual -ms.date: 07/11/2023 +ms.date: 07/10/2024 --- # Security baselines @@ -19,7 +19,7 @@ For more information, see the following blog post: [Sticking with well-known and ## What are security baselines? -Every organization faces security threats. However, the types of security threats that are of most concern to one organization can be different from another organization. For example, an e-commerce company may focus on protecting its internet-facing web apps, while a hospital may focus on protecting confidential patient information. The one thing that all organizations have in common is a need to keep their apps and devices secure. These devices must be compliant with the security standards (or security baselines) defined by the organization. +Every organization faces security threats. However, the types of security threats that are of most concern to one organization can be different from another organization. For example, an e-commerce company might focus on protecting its internet-facing web apps, while a hospital might focus on protecting confidential patient information. The one thing that all organizations have in common is a need to keep their apps and devices secure. These devices must be compliant with the security standards (or security baselines) defined by the organization. A security baseline is a group of Microsoft-recommended configuration settings that explains their security implication. These settings are based on feedback from Microsoft security engineering teams, product groups, partners, and customers. diff --git a/windows/security/operating-system-security/index.md b/windows/security/operating-system-security/index.md index 4b093fe6f8..e8c0197c75 100644 --- a/windows/security/operating-system-security/index.md +++ b/windows/security/operating-system-security/index.md @@ -1,7 +1,7 @@ --- title: Windows operating system security description: Securing the operating system includes system security, encryption, network security, and threat protection. -ms.date: 08/02/2023 +ms.date: 07/10/2024 ms.topic: overview --- diff --git a/windows/security/operating-system-security/system-security/cryptography-certificate-mgmt.md b/windows/security/operating-system-security/system-security/cryptography-certificate-mgmt.md index 3dab6e2b51..5cff1aedaa 100644 --- a/windows/security/operating-system-security/system-security/cryptography-certificate-mgmt.md +++ b/windows/security/operating-system-security/system-security/cryptography-certificate-mgmt.md @@ -2,7 +2,7 @@ title: Cryptography and Certificate Management description: Get an overview of cryptography and certificate management in Windows ms.topic: conceptual -ms.date: 08/11/2023 +ms.date: 07/10/2024 ms.reviewer: skhadeer, raverma --- @@ -12,7 +12,7 @@ ms.reviewer: skhadeer, raverma Cryptography uses code to convert data so that only a specific recipient can read it by using a key. Cryptography enforces privacy to prevent anyone except the intended recipient from reading data, integrity to ensure data is free of tampering, and authentication that verifies identity to ensure that communication is secure. The cryptography stack in Windows extends from the chip to the cloud enabling Windows, applications, and services protect system and user secrets. -Cryptography in Windows is Federal Information Processing Standards (FIPS) 140 certified. FIPS 140 certification ensures that US government approved algorithms are being used (RSA for signing, ECDH with NIST curves for key agreement, AES for symmetric encryption, and SHA2 for hashing), tests module integrity to prove that no tampering has occurred and proves the randomness for entropy sources. +Cryptography in Windows is Federal Information Processing Standards (FIPS) 140 certified. FIPS 140 certification ensures that US government approved algorithms are being used (RSA for signing, ECDH with NIST curves for key agreement, AES for symmetric encryption, and SHA2 for hashing), tests module integrity to prove that no tampering occurred and proves the randomness for entropy sources. Windows cryptographic modules provide low-level primitives such as: diff --git a/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md b/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md index c30f214bdb..7cad827253 100644 --- a/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md +++ b/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md @@ -1,7 +1,7 @@ --- title: Control the health of Windows devices description: This article details an end-to-end solution that helps you protect high-value assets by enforcing, controlling, and reporting the health of Windows devices. -ms.date: 08/11/2023 +ms.date: 07/10/2024 ms.topic: conceptual --- @@ -11,7 +11,7 @@ This article details an end-to-end solution that helps you protect high-value as ## Introduction -For Bring Your Own Device (BYOD) scenarios, employees bring commercially available devices to access both work-related resources and their personal data. Users want to use the device of their choice to access the organization's applications, data, and resources not only from the internal network but also from anywhere. This phenomenon is also known as the consumerization of IT. +For Bring Your Own Device (BYOD) scenarios, users bring commercially available devices to access both work-related resources and their personal data. Users want to use the device of their choice to access the organization's applications, data, and resources not only from the internal network but also from anywhere. This phenomenon is also known as the consumerization of IT. Users want to have the best productivity experience when accessing corporate applications and working on organization data from their devices. That means they don't tolerate being prompted to enter their work credentials each time they access an application or a file server. From a security perspective, it also means that users manipulate corporate credentials and corporate data on unmanaged devices. @@ -27,7 +27,7 @@ Windows is an important component of an end-to-end security solution that focuse Today's computing threat landscape is increasing at a speed never encountered before. The sophistication of criminal attacks is growing, and there's no doubt that malware now targets both consumers and professionals in all industries. -During recent years, one particular category of threat has become prevalent: advanced persistent threats (APTs). The term APT is commonly used to describe any attack that seems to target individual organizations on an on-going basis. In fact, this type of attack typically involves determined adversaries who may use any methods or techniques necessary. +During recent years, one particular category of threat has become prevalent: advanced persistent threats (APTs). The term APT is commonly used to describe any attack that seems to target individual organizations on an ongoing basis. In fact, this type of attack typically involves determined adversaries who may use any methods or techniques necessary. With the BYOD phenomena, a poorly maintained device represents a target of choice. For an attacker, it's an easy way to breach the security network perimeter, gain access to, and then steal high-value assets. @@ -97,7 +97,7 @@ This section describes what Windows offers in terms of security defenses and wha ### Windows hardware-based security defenses -The most aggressive forms of malware try to insert themselves into the boot process as early as possible so that they can take control of the operating system early and prevent protection mechanisms and antimalware software from working. This type of malicious code is often called a rootkit or bootkit. The best way to avoid having to deal with low-level malware is to secure the boot process so that the device is protected from the very start. Windows supports multiple layers of boot protection. Some of these features are available only if specific types of hardware are installed. For more information, see the [Hardware requirements](#hardware-requirements) section. +The most aggressive forms of malware try to insert themselves into the boot process as early as possible so that they can take control of the operating system early and prevent protection mechanisms and anti-malware software from working. This type of malicious code is often called a rootkit or bootkit. The best way to avoid having to deal with low-level malware is to secure the boot process so that the device is protected from the very start. Windows supports multiple layers of boot protection. Some of these features are available only if specific types of hardware are installed. For more information, see the [Hardware requirements](#hardware-requirements) section. :::image type="content" alt-text="figure 4." source="images/hva-fig4-hardware.png"::: @@ -153,14 +153,14 @@ Windows supports features to help prevent sophisticated low-level malware like r - **Early Launch Antimalware (ELAM).** ELAM tests all drivers before they load and prevents unapproved drivers from loading. - Traditional antimalware apps don't start until after the boot drivers have been loaded, which gives a rootkit that is disguised as a driver the opportunity to work. ELAM is a Windows mechanism introduced in a previous version of Windows that allows antimalware software to run early in the boot sequence. Thus, the antimalware component is the first third-party component to run and control the initialization of other boot drivers until the Windows operating system is operational. When the system is started with a complete runtime environment (network access, storage, and so on), then a full-featured antimalware is loaded. + Traditional anti-malware apps don't start until after the boot drivers have been loaded, which gives a rootkit that is disguised as a driver the opportunity to work. ELAM is a Windows mechanism introduced in a previous version of Windows that allows anti-malware software to run early in the boot sequence. Thus, the anti-malware component is the first third-party component to run and control the initialization of other boot drivers until the Windows operating system is operational. When the system is started with a complete runtime environment (network access, storage, and so on), then a full-featured anti-malware is loaded. - ELAM can load a Microsoft or non-Microsoft antimalware driver before all non-Microsoft boot drivers and applications, thus continuing the chain of trust established by Secure Boot and Trusted Boot. Because the operating system hasn't started yet, and because Windows needs to boot as quickly as possible, ELAM has a simple task: Examine every boot driver and determine whether it is on the list of trusted drivers. If it's not trusted, Windows won't load it. + ELAM can load a Microsoft or non-Microsoft anti-malware driver before all non-Microsoft boot drivers and applications, thus continuing the chain of trust established by Secure Boot and Trusted Boot. Because the operating system hasn't started yet, and because Windows needs to boot as quickly as possible, ELAM has a simple task: Examine every boot driver and determine whether it is on the list of trusted drivers. If it's not trusted, Windows won't load it. > [!NOTE] > Windows Defender, Microsoft's antimalware included by default in Windows, supports ELAM; it can be replaced with a third-party antimalware compatible solution. The name of the Windows Defender ELAM driver is WdBoot.sys. Windows Defender uses its ELAM driver to roll back any malicious changes made to the Windows Defender driver at the next reboot. This prevents kernel mode malware making lasting changes to Windows Defender's mini-filter driver before shutdown or reboot. - The ELAM signed driver is loaded before any other third-party drivers or applications, which allows the antimalware software to detect and block any attempts to tamper with the boot process by trying to load unsigned or untrusted code. + The ELAM signed driver is loaded before any other third-party drivers or applications, which allows the anti-malware software to detect and block any attempts to tamper with the boot process by trying to load unsigned or untrusted code. The ELAM driver is a small driver with a small policy database that has a narrow scope, focused on drivers that are loaded early at system launch. The policy database is stored in a registry hive that is also measured to the TPM, to record the operational parameters of the ELAM driver. An ELAM driver must be signed by Microsoft and the associated certificate must contain the complementary EKU (1.3.6.1.4.1.311.61.4.1). @@ -170,9 +170,9 @@ Windows supports features to help prevent sophisticated low-level malware like r - **Hypervisor-protected Code Integrity (HVCI).** Hypervisor-protected Code Integrity is a feature of Device Guard that ensures only drivers, executables, and DLLs that comply with the Device Guard Code Integrity policy are allowed to run. - When enabled and configured, Windows can start the Hyper-V virtualization-based security services. HVCI helps protect the system core (kernel), privileged drivers, and system defenses, like antimalware solutions, by preventing malware from running early in the boot process, or after startup. + When enabled and configured, Windows can start the Hyper-V Virtualization-based security services. HVCI helps protect the system core (kernel), privileged drivers, and system defenses, like anti-malware solutions, by preventing malware from running early in the boot process, or after startup. - HVCI uses virtualization-based security to isolate Code Integrity, the only way kernel memory can become executable is through a Code Integrity verification. This dependency on verification means that kernel memory pages can never be Writable and Executable (W+X) and executable code can't be directly modified. + HVCI uses Virtualization-based security to isolate Code Integrity, the only way kernel memory can become executable is through a Code Integrity verification. This dependency on verification means that kernel memory pages can never be Writable and Executable (W+X) and executable code can't be directly modified. > [!NOTE] > Device Guard devices that run Kernel Mode Code Integrity with virtualization-based security must have compatible drivers. For additional information, please read the [Driver compatibility with Device Guard in Windows](https://techcommunity.microsoft.com/t5/windows-hardware-certification/driver-compatibility-with-device-guard-in-windows-10/ba-p/364865) blog post. @@ -184,17 +184,17 @@ Windows supports features to help prevent sophisticated low-level malware like r In Windows, Credential Guard aims to protect domain corporate credentials from theft and reuse by malware. With Credential Guard, Windows implemented an architectural change that fundamentally prevents the current forms of the pass-the-hash (PtH) attack. - This attack-free state is accomplished by using Hyper-V and the new virtualization-based security feature to create a protected container where trusted code and secrets are isolated from the Windows kernel. This accomplishment means that even if the Windows kernel is compromised, an attacker has no way to read and extract the data required to initiate a PtH attack. Credential Guard prevents this unauthorized access because the memory where secrets are stored is no longer accessible from the regular OS, even in kernel mode - the hypervisor controls who can access the memory. + This attack-free state is accomplished by using Hyper-V and the new Virtualization-based security feature to create a protected container where trusted code and secrets are isolated from the Windows kernel. This accomplishment means that even if the Windows kernel is compromised, an attacker has no way to read and extract the data required to initiate a PtH attack. Credential Guard prevents this unauthorized access because the memory where secrets are stored is no longer accessible from the regular OS, even in kernel mode - the hypervisor controls who can access the memory. - **Health attestation.** The device's firmware logs the boot process, and Windows can send it to a trusted server that can check and assess the device's health. - Windows takes measurements of the UEFI firmware and each of the Windows and antimalware components are made as they load during the boot process. Additionally, they're taken and measured sequentially, not all at once. When these measurements are complete, their values are digitally signed and stored securely in the TPM and can't be changed unless the system is reset. + Windows takes measurements of the UEFI firmware and each of the Windows and anti-malware components are made as they load during the boot process. Additionally, they're taken and measured sequentially, not all at once. When these measurements are complete, their values are digitally signed and stored securely in the TPM and can't be changed unless the system is reset. For more information, see [Secured Boot and Measured Boot: Hardening Early Boot Components Against Malware](/previous-versions/windows/hardware/design/dn653311(v=vs.85)). During each subsequent boot, the same components are measured, which allows comparison of the measurements against an expected baseline. For more security, the values measured by the TPM can be signed and transmitted to a remote server, which can then perform the comparison. This process, called *remote device health attestation*, allows the server to verify health status of the Windows device. - Although Secure Boot is a proactive form of protection, health attestation is a reactive form of boot protection. Health attestation ships disabled in Windows and is enabled by an antimalware or an MDM vendor. Unlike Secure Boot, health attestation won't stop the boot process and enter remediation when a measurement doesn't work. But with conditional access control, health attestation will help to prevent access to high-value assets. + Although Secure Boot is a proactive form of protection, health attestation is a reactive form of boot protection. Health attestation ships disabled in Windows and is enabled by an anti-malware or an MDM vendor. Unlike Secure Boot, health attestation won't stop the boot process and enter remediation when a measurement doesn't work. But with conditional access control, health attestation helps to prevent access to high-value assets. ### Virtualization-based security @@ -202,16 +202,16 @@ Virtualization-based security provides a new trust boundary for Windows and uses Virtualization-based security helps to protect against a compromised kernel or a malicious user with Administrator privileges. Virtualization-based security isn't trying to protect against a physical attacker. -The following Windows services are protected with virtualization-based security: +The following Windows services are protected with Virtualization-based security: - **Credential Guard** (LSA Credential Isolation): prevents pass-the-hash attacks and enterprise credential theft that happens by reading and dumping the content of lsass memory -- **Device Guard** (Hyper-V Code Integrity): Device Guard uses the new virtualization-based security in Windows to isolate the Code Integrity service from the Windows kernel itself, which lets the service use signatures defined by your enterprise-controlled policy to help determine what is trustworthy. In effect, the Code Integrity service runs alongside the kernel in a Windows hypervisor-protected container. +- **Device Guard** (Hyper-V Code Integrity): Device Guard uses the new Virtualization-based security in Windows to isolate the Code Integrity service from the Windows kernel itself, which lets the service use signatures defined by your enterprise-controlled policy to help determine what is trustworthy. In effect, the Code Integrity service runs alongside the kernel in a Windows hypervisor-protected container. - **Other isolated services**: for example, on Windows Server 2016, there's the vTPM feature that allows you to have encrypted virtual machines (VMs) on servers. > [!NOTE] > Virtualization-based security is only available with Enterprise edition. Virtualization-based security requires devices with UEFI (2.3.1 or higher) with Secure Boot enabled, x64 processor with Virtualization Extensions and SLAT enabled. IOMMU, TPM 2.0. and support for Secure Memory overwritten are optional, but recommended. -The schema below is a high-level view of Windows with virtualization-based security. +The schema below is a high-level view of Windows with Virtualization-based security. :::image type="content" alt-text="figure 5." source="images/hva-fig5-virtualbasedsecurity.png"::: @@ -231,7 +231,7 @@ credential isolation is enabled, it then spawns LsaIso.exe as an isolated proces Device Guard is a feature of Windows Enterprise that allows organizations to lock down a device to help protect it from running untrusted software. In this configuration, the only applications allowed to run are those applications that are trusted by the organization. -The trust decision to execute code is performed by using Hyper-V Code Integrity, which runs in virtualization-based security, a Hyper-V protected container that runs alongside regular Windows. +The trust decision to execute code is performed by using Hyper-V Code Integrity, which runs in Virtualization-based security, a Hyper-V protected container that runs alongside regular Windows. Hyper-V Code Integrity is a feature that validates the integrity of a driver or system file each time it's loaded into memory. Code integrity detects whether an unsigned driver or system file is being loaded into the kernel, or whether a system file has been modified by malicious software that is being run by a user account with Administrator privileges. On x64-based versions of Windows, kernel-mode drivers must be digitally signed. @@ -252,7 +252,7 @@ Device Guard needs to be planned and configured to be truly effective. It isn't There are three different parts that make up the Device Guard solution in Windows: - The first part is a base **set of hardware security features** introduced with the previous version of Windows. TPM for hardware cryptographic operations and UEFI with modern firmware, along with Secure Boot, allows you to control what the device is running when the systems start. -- After the hardware security feature, there's the code integrity engine. In Windows, **Code Integrity is now fully configurable** and now resides in Isolated user mode, a part of the memory that is protected by virtualization-based security. +- After the hardware security feature, there's the code integrity engine. In Windows, **Code Integrity is now fully configurable** and now resides in Isolated user mode, a part of the memory that is protected by Virtualization-based security. - The last part of Device Guard is **manageability**. Code Integrity configuration is exposed through specific Group Policy Objects, PowerShell cmdlets, and MDM configuration service providers (CSPs). For more information on how to deploy Device Guard in an enterprise, see the [Device Guard deployment guide](/windows/device-security/device-guard/device-guard-deployment-guide). @@ -270,7 +270,7 @@ To protect high-value assets, SAWs are used to make secure connections to those Similarly, on corporate fully managed workstations, where applications are installed by using a distribution tool like Microsoft Configuration Manager, Intune, or any third-party device management, then Device Guard is applicable. In that type of scenario, the organization has a good idea of the software that an average user is running. -It could be challenging to use Device Guard on corporate, lightly managed workstations where the user is typically allowed to install software on their own. When an organization offers great flexibility, it's difficult to run Device Guard in enforcement mode. Nevertheless, Device Guard can be run in Audit mode, and in that case, the event log will contain a record of any binaries that violated the Device Guard policy. When Device Guard is used in Audit mode, organizations can get rich data about drivers and applications that users install and run. +It could be challenging to use Device Guard on corporate, lightly managed workstations where the user is typically allowed to install software on their own. When an organization offers great flexibility, it's difficult to run Device Guard in enforcement mode. Nevertheless, Device Guard can be run in Audit mode, and in that case, the event log contains a record of any binaries that violated the Device Guard policy. When Device Guard is used in Audit mode, organizations can get rich data about drivers and applications that users install and run. Before you can benefit from the protection included in Device Guard, Code Integrity policy must be created by using tools provided by Microsoft, but the policy can be deployed with common management tools, like Group Policy. The Code Integrity policy is a binary-encoded XML document that includes configuration settings for both the User and Kernel-modes of Windows, along with restrictions on Windows script hosts. Device Guard Code Integrity policy restricts what code can run on a device. @@ -286,14 +286,14 @@ Device Guard policy into the UpdateSigner section. On computers with Device Guard, Microsoft proposes to move from a world where unsigned apps can be run without restriction to a world where only signed and trusted code is allowed to run on Windows. -With Windows, organizations will make line-of-business (LOB) apps available to members of the organization through the Microsoft Store infrastructure. More specifically, LOB apps will be available in a private store within the public Microsoft Store. Microsoft Store signs and distributes Universal +With Windows, organizations make line-of-business (LOB) apps available to members of the organization through the Microsoft Store infrastructure. More specifically, LOB apps are available in a private store within the public Microsoft Store. Microsoft Store signs and distributes Universal Windows apps and Classic Windows apps. All apps downloaded from the Microsoft Store are signed. In organizations today, many LOB applications are unsigned. Code signing is frequently viewed as a tough problem to solve for various reasons, like the lack of code signing expertise. Even if code signing is a best practice, many internal applications aren't signed. Windows includes tools that allow IT pros to take applications that have been already packaged and run them through a process to create more signatures that can be distributed along with existing applications. -### Why are antimalware and device management solutions still necessary? +### Why are anti-malware and device management solutions still necessary? Although allowlist mechanisms are efficient at ensuring that only trusted applications can be run, they can't prevent the compromise of a trusted (but vulnerable) application by malicious content designed to exploit a known vulnerability. Device Guard doesn't protect against user mode malicious code run by exploiting vulnerabilities. @@ -301,7 +301,7 @@ Vulnerabilities are weaknesses in software that could allow an attacker to compr It's common to see attackers distributing specially crafted content in an attempt to exploit known vulnerabilities in user mode software like web browsers (and their plug-ins), Java virtual machines, PDF readers, or document editors. As of today, 90 percent of discovered vulnerabilities affect user mode applications compared to the operating system and kernel mode drivers that host them. -To combat these threats, patching is the single most effective control, with antimalware software forming complementary layers of defense. +To combat these threats, patching is the single most effective control, with anti-malware software forming complementary layers of defense. Most application software has no facility for updating itself, so even if the software vendor publishes an update that fixes the vulnerability, the user may not know that the update is available or how to obtain it, and therefore remains vulnerable to attack. Organizations still need to manage devices and to patch vulnerabilities. @@ -319,15 +319,15 @@ For more information on device health attestation, see the [Detect an unhealthy ### Hardware requirements -The following table details the hardware requirements for both virtualization-based security services and the health attestation feature. For more information, see [Minimum hardware requirements](/windows-hardware/design/minimum/minimum-hardware-requirements-overview). +The following table details the hardware requirements for both Virtualization-based security services and the health attestation feature. For more information, see [Minimum hardware requirements](/windows-hardware/design/minimum/minimum-hardware-requirements-overview). |Hardware|Motivation| |--- |--- | |UEFI 2.3.1 or later firmware with Secure Boot enabled|Required to support UEFI Secure Boot. UEFI Secure Boot ensures that the device boots only authorized code. Additionally, Boot Integrity (Platform Secure Boot) must be supported following the requirements in Hardware Compatibility Specification for Systems for Windows under the subsection: "System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby"| -|Virtualization extensions, such as Intel VT-x, AMD-V, and SLAT must be enabled|Required to support virtualization-based security. **Note:** Device Guard can be enabled without using virtualization-based security.| -|X64 processor|Required to support virtualization-based security that uses Windows Hypervisor. Hyper-V is supported only on x64 processor (and not on x86). Direct Memory Access (DMA) protection can be enabled to provide extra memory protection but requires processors to include DMA protection technologies.| +|Virtualization extensions, such as Intel VT-x, AMD-V, and SLAT must be enabled|Required to support Virtualization-based security. **Note:** Device Guard can be enabled without using Virtualization-based security.| +|X64 processor|Required to support Virtualization-based security that uses Windows Hypervisor. Hyper-V is supported only on x64 processor (and not on x86). Direct Memory Access (DMA) protection can be enabled to provide extra memory protection but requires processors to include DMA protection technologies.| |IOMMU, such as Intel VT-d, AMD-Vi|Support for the IOMMU in Windows enhances system resiliency against DMA attacks.| -|Trusted Platform Module (TPM)|Required to support health attestation and necessary for other key protections for virtualization-based security. TPM 2.0 is supported. Support for TPM 1.2 was added beginning in Windows 10, version 1607 (RS1)| +|Trusted Platform Module (TPM)|Required to support health attestation and necessary for other key protections for Virtualization-based security. TPM 2.0 is supported. Support for TPM 1.2 was added beginning in Windows 10, version 1607 (RS1)| This section presented information about several closely related controls in Windows . The multi-layer defenses and in-depth approach help to eradicate low-level malware during boot sequence. Virtualization-based security is a fundamental operating system architecture change that adds a new security boundary. Device Guard and Credential Guard respectively help to block untrusted code and protect corporate domain credentials from theft and reuse. This section also briefly discussed the importance of managing devices and patching vulnerabilities. All these technologies can be used to harden and lock down devices while limiting the risk of attackers compromising them. @@ -335,7 +335,7 @@ This section presented information about several closely related controls in Win As of today, many organizations only consider devices to be compliant with company policy after they've passed various checks that show, for example, that the operating system is in the correct state, properly configured, and has security protection enabled. Unfortunately, with today's systems, this form of reporting isn't entirely reliable because malware can spoof a software statement about system health. A rootkit, or a similar low-level exploit, can report a false healthy state to traditional compliance tools. -The biggest challenge with rootkits is that they can be undetectable to the client. Because they start before antimalware, and they have system-level privileges, they can completely disguise themselves while continuing to access system resources. As a result, traditional computers infected with rootkits appear to be healthy, even with antimalware running. +The biggest challenge with rootkits is that they can be undetectable to the client. Because they start before anti-malware, and they have system-level privileges, they can completely disguise themselves while continuing to access system resources. As a result, traditional computers infected with rootkits appear to be healthy, even with anti-malware running. As previously discussed, the health attestation feature of Windows uses the TPM hardware component to securely record a measurement of every boot-related component, including firmware, Windows kernel, and even early boot drivers. Because health attestation uses the hardware-based security capabilities of TPM, the log of all boot measured components remains out of the reach of any malware. @@ -345,9 +345,9 @@ After the devices attest a trusted boot state, they can prove that they aren't r To understand the concept of device health, it's important to know traditional measures that IT pros have taken to prevent the breach of malware. Malware control technologies are highly focused on the prevention of installation and distribution. -However, the use of traditional malware prevention technologies like antimalware or patching solutions brings a new set of issues for IT pros: the ability to monitor and control the compliance of devices accessing organization's resources. +However, the use of traditional malware prevention technologies like anti-malware or patching solutions brings a new set of issues for IT pros: the ability to monitor and control the compliance of devices accessing organization's resources. -The definition of device compliance will vary based on an organization's installed antimalware, device configuration settings, patch management baseline, and other security requirements. But health of the device is part of the overall device compliance policy. +The definition of device compliance will vary based on an organization's installed anti-malware, device configuration settings, patch management baseline, and other security requirements. But health of the device is part of the overall device compliance policy. The health of the device isn't binary and depends on the organization's security implementation. The Health Attestation Service provides information back to the MDM on which security features are enabled during the boot of the device by using trustworthy hardware TPM. @@ -364,13 +364,13 @@ A relying party like an MDM can inspect the report generated by the remote healt > [!NOTE] > To use the health attestation feature of Windows, the device must be equipped with a discrete or firmware TPM. There is no restriction on any particular edition of Windows. -Windows supports health attestation scenarios by allowing applications access to the underlying health attestation configuration service provider (CSP) so that applications can request a health attestation token. The measurement of the boot sequence can be checked at any time locally by an antimalware or an MDM agent. +Windows supports health attestation scenarios by allowing applications access to the underlying health attestation configuration service provider (CSP) so that applications can request a health attestation token. The measurement of the boot sequence can be checked at any time locally by an anti-malware or an MDM agent. Remote device health attestation combined with an MDM provides a hardware-rooted method for reporting the current security status and detecting any changes, without having to trust the software running on the system. -In the case where malicious code is running on the device, the use of a remote server is required. If a rootkit is present on the device, the antimalware is no longer reliable, and its behavior can be hijacked by a malicious code running early in the startup sequence. This reason is what makes it important to use Secure Boot and Device Guard, to control which code is loaded during the boot sequence. +In the case where malicious code is running on the device, the use of a remote server is required. If a rootkit is present on the device, the anti-malware is no longer reliable, and its behavior can be hijacked by a malicious code running early in the startup sequence. This reason is what makes it important to use Secure Boot and Device Guard, to control which code is loaded during the boot sequence. -The antimalware software can search to determine whether the boot sequence contains any signs of malware, such as a rootkit. It can also send the TCG log and the PCRs to a remote health attestation server to provide a separation between the measurement component and the verification component. +The anti-malware software can search to determine whether the boot sequence contains any signs of malware, such as a rootkit. It can also send the TCG log and the PCRs to a remote health attestation server to provide a separation between the measurement component and the verification component. Health attestation logs the measurements in various TPM Platform Configuration Registers (PCRs) and TCG logs during the boot process. @@ -602,7 +602,7 @@ The figure below shows how the Health Attestation Service is expected to work wi :::image type="content" alt-text="figure 10." source="images/hva-fig9-intune.png"::: -An MDM solution can then use health state statements and take them to the next level by coupling with client policies that will enable conditional access to be granted based on the device's ability to prove that it's malware free, its antimalware system is functional and up to date, the +An MDM solution can then use health state statements and take them to the next level by coupling with client policies that will enable conditional access to be granted based on the device's ability to prove that it's malware free, its anti-malware system is functional and up to date, the firewall is running, and the devices patch state is compliant. Finally, resources can be protected by denying access to endpoints that are unable to prove they're healthy. This feature is much needed for BYOD devices that need to access organizational resources. @@ -736,7 +736,7 @@ The following list contains high-level key takeaways to improve the security pos - **Use virtualization-based security** - When you have Kernel Mode Code Integrity protected by virtualization-based security, the code integrity rules are still enforced even if a vulnerability allows unauthorized kernel mode memory access. Keep in mind that Device Guard devices that run Kernel Code Integrity with virtualization-based security must have compatible drivers. + When you have Kernel Mode Code Integrity protected by Virtualization-based security, the code integrity rules are still enforced even if a vulnerability allows unauthorized kernel mode memory access. Keep in mind that Device Guard devices that run Kernel Code Integrity with Virtualization-based security must have compatible drivers. - **Start to deploy Device Guard with Audit mode** @@ -756,7 +756,7 @@ The following list contains high-level key takeaways to improve the security pos Health attestation is a key feature of Windows that includes client and cloud components to control access to high-value assets based on a user and their device's identity and compliance with corporate governance policy. Organizations can choose to detect and report unhealthy devices, or to configure health enforcement rules based on their needs. Health attestation provides an end-to-end security model and integration points, which vendors and software developers can use to build and integrate a customized solution. -## Related topics +## Related articles - [Protect derived domain credentials with Credential Guard](/windows/access-protection/credential-guard/credential-guard) - [Device Guard deployment guide](/windows/device-security/device-guard/device-guard-deployment-guide) diff --git a/windows/security/operating-system-security/system-security/secure-the-windows-10-boot-process.md b/windows/security/operating-system-security/system-security/secure-the-windows-10-boot-process.md index 3daa0cbf86..c931ca2dcb 100644 --- a/windows/security/operating-system-security/system-security/secure-the-windows-10-boot-process.md +++ b/windows/security/operating-system-security/system-security/secure-the-windows-10-boot-process.md @@ -2,7 +2,7 @@ title: Secure the Windows boot process description: This article describes how Windows security features help protect your PC from malware, including rootkits and other applications. ms.topic: conceptual -ms.date: 08/11/2023 +ms.date: 07/10/2024 ms.collection: - tier1 --- @@ -73,7 +73,7 @@ These requirements help protect you from rootkits while allowing you to run any To prevent malware from abusing these options, the user must manually configure the UEFI firmware to trust a non-certified bootloader or to turn off Secure Boot. Software can't change the Secure Boot settings. -The default state of Secure Boot has a wide circle of trust, which can result in customers trusting boot components they may not need. Since the Microsoft 3rd Party UEFI CA certificate signs the bootloaders for all Linux distributions, trusting the Microsoft 3rd Party UEFI CA signature in the UEFI database increase s the attack surface of systems. A customer who intended to only trust and boot a single Linux distribution will trust all distributions - much more than their desired configuration. A vulnerability in any of the bootloaders exposes the system and places the customer at risk of exploit for a bootloader they never intended to use, as seen in recent vulnerabilities, for example [with the GRUB bootloader](https://msrc.microsoft.com/security-guidance/advisory/ADV200011) or [firmware-level rootkit]( https://www.darkreading.com/threat-intelligence/researchers-uncover-dangerous-new-firmware-level-rootkit) affecting boot components. [Secured-core PCs](/windows-hardware/design/device-experiences/OEM-highly-secure-11) require Secure Boot to be enabled and configured to distrust the Microsoft 3rd Party UEFI CA signature, by default, to provide customers with the most secure configuration of their PCs possible. +The default state of Secure Boot has a wide circle of trust, which can result in customers trusting boot components they may not need. Since the Microsoft 3rd Party UEFI CA certificate signs the bootloaders for all Linux distributions, trusting the Microsoft 3rd Party UEFI CA signature in the UEFI database increase s the attack surface of systems. A customer who intended to only trust and boot a single Linux distribution will trust all distributions - more than their desired configuration. A vulnerability in any of the bootloaders exposes the system and places the customer at risk of exploit for a bootloader they never intended to use, as seen in recent vulnerabilities, for example [with the GRUB bootloader](https://msrc.microsoft.com/security-guidance/advisory/ADV200011) or [firmware-level rootkit]( https://www.darkreading.com/threat-intelligence/researchers-uncover-dangerous-new-firmware-level-rootkit) affecting boot components. [Secured-core PCs](/windows-hardware/design/device-experiences/OEM-highly-secure-11) require Secure Boot to be enabled and configured to distrust the Microsoft 3rd Party UEFI CA signature, by default, to provide customers with the most secure configuration of their PCs possible. To trust and boot operating systems, like Linux, and components signed by the UEFI signature, Secured-core PCs can be configured in the BIOS menu to add the signature in the UEFI database by following these steps: @@ -91,11 +91,11 @@ Like most mobile devices, Arm-based devices, such as the Microsoft Surface RT de Trusted Boot takes over where Secure Boot ends. The bootloader verifies the digital signature of the Windows kernel before loading it. The Windows kernel, in turn, verifies every other component of the Windows startup process, including the boot drivers, startup files, and ELAM. If a file has been modified, the bootloader detects the problem and refuses to load the corrupted component. Often, Windows can automatically repair the corrupted component, restoring the integrity of Windows and allowing the PC to start normally. -## Early Launch Anti-Malware +## Early Launch anti-malware Because Secure Boot has protected the bootloader and Trusted Boot has protected the Windows kernel, the next opportunity for malware to start is by infecting a non-Microsoft boot driver. Traditional anti-malware apps don't start until after the boot drivers have been loaded, giving a rootkit disguised as a driver the opportunity to work. -Early Launch Anti-Malware (ELAM) can load a Microsoft or non-Microsoft anti-malware driver before all non-Microsoft boot drivers and applications, thus continuing the chain of trust established by Secure Boot and Trusted Boot. Because the OS hasn't started yet, and because Windows needs to boot as quickly as possible, ELAM has a simple task: examine every boot driver and determine whether it is on the list of trusted drivers. If it's not trusted, Windows doesn't load it. +Early Launch anti-malware (ELAM) can load a Microsoft or non-Microsoft anti-malware driver before all non-Microsoft boot drivers and applications, thus continuing the chain of trust established by Secure Boot and Trusted Boot. Because the OS hasn't started yet, and because Windows needs to boot as quickly as possible, ELAM has a simple task: examine every boot driver and determine whether it is on the list of trusted drivers. If it's not trusted, Windows doesn't load it. An ELAM driver isn't a full-featured anti-malware solution; that loads later in the boot process. Windows Defender (included with Windows) supports ELAM, as does several non-Microsoft anti-malware apps. diff --git a/windows/security/operating-system-security/system-security/trusted-boot.md b/windows/security/operating-system-security/system-security/trusted-boot.md index 431c65c17d..4da0621dc6 100644 --- a/windows/security/operating-system-security/system-security/trusted-boot.md +++ b/windows/security/operating-system-security/system-security/trusted-boot.md @@ -2,7 +2,7 @@ title: Secure Boot and Trusted Boot description: Trusted Boot prevents corrupted components from loading during the boot-up process in Windows 11 ms.topic: conceptual -ms.date: 10/30/2023 +ms.date: 07/10/2024 ms.reviewer: jsuther appliesto: - "✅ Windows 11" @@ -10,15 +10,15 @@ appliesto: # Secure Boot and Trusted Boot -*This article describes Secure Boot and Trusted Boot, security measures built into Windows 11.* +This article describes Secure Boot and Trusted Boot, security measures built into Windows 11. Secure Boot and Trusted Boot help prevent malware and corrupted components from loading when a Windows 11 device is starting. Secure Boot starts with initial boot-up protection, and then Trusted Boot picks up the process. Together, Secure Boot and Trusted Boot help to ensure your Windows 11 system boots up safely and securely. ## Secure Boot -The first step in protecting the operating system is to ensure that it boots securely after the initial hardware and firmware boot sequences have safely finished their early boot sequences. Secure Boot makes a safe and trusted path from the Unified Extensible Firmware Interface (UEFI) through the Windows kernel's Trusted Boot sequence. Malware attacks on the Windows boot sequence are blocked by the signature-enforcement handshakes throughout the boot sequence between the UEFI, bootloader, kernel, and application environments. +The first step in protecting the operating system is to ensure that it boots securely after the initial hardware and firmware boot sequences safely finish their early boot sequences. Secure Boot makes a safe and trusted path from the Unified Extensible Firmware Interface (UEFI) through the Windows kernel's Trusted Boot sequence. Malware attacks on the Windows boot sequence are blocked by the signature-enforcement handshakes throughout the boot sequence between the UEFI, bootloader, kernel, and application environments. -As the PC begins the boot process, it first verifies that the firmware is digitally signed, reducing the risk of firmware rootkits. Secure Boot then checks all code that runs before the operating system and checks the OS bootloader's digital signature to ensure that it's trusted by the Secure Boot policy and hasn't been tampered with. +As the PC begins the boot process, it first verifies that the firmware is digitally signed, reducing the risk of firmware rootkits. Secure Boot then checks all code that runs before the operating system, and checks the OS bootloader's digital signature to ensure that it's trusted by the Secure Boot policy and hasn't been tampered with. ## Trusted Boot diff --git a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md index 5968d29a6c..a416410eb0 100644 --- a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md +++ b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md @@ -1,65 +1,59 @@ --- -title: Available Microsoft Defender SmartScreen Group Policy and mobile device management (MDM) settings +title: Available Microsoft Defender SmartScreen settings description: A list of all available settings for Microsoft Defender SmartScreen using Group Policy and mobile device management (MDM) settings. -ms.date: 08/11/2023 +ms.date: 07/10/2024 ms.topic: reference --- # Available Microsoft Defender SmartScreen Group Policy and mobile device management (MDM) settings -Microsoft Defender SmartScreen works with Intune, Group Policy, and mobile device management (MDM) settings to help you manage your organization's computer settings. Based on how you set up Microsoft Defender SmartScreen, you can show employees a warning page and let them continue to the site, or you can block the site entirely. +Microsoft Defender SmartScreen works with Intune, Group Policy, and mobile device management (MDM) settings to help you manage your organization's computer settings. Based on how you set up Microsoft Defender SmartScreen, you can show users a warning page and let them continue to the site, or you can block the site entirely. -See [Windows 10 and Windows 11 settings to protect devices using Intune](/intune/endpoint-protection-windows-10#windows-defender-smartscreen-settings) for the controls you can use in Intune. +See [Windows settings to protect devices using Intune](/intune/endpoint-protection-windows-10#windows-defender-smartscreen-settings) for the controls you can use in Intune. + +> [!NOTE] +> For a list of settings available for Enhanced phishing protection, see [Enhanced phishing protection](enhanced-phishing-protection.md#configure-enhanced-phishing-protection-for-your-organization). ## Group Policy settings SmartScreen uses registry-based Administrative Template policy settings. -Setting|Supported on|Description| -|--- |--- |--- | -|**Windows 10, version 2004:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Explorer\Configure Windows Defender SmartScreen|**Windows 10, version 1703:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Explorer\Configure Windows Defender SmartScreen

    **Windows 10, Version 1607 and earlier:** Administrative Templates\Windows Components\File Explorer\Configure Windows SmartScreen

    **At least Windows Server 2012, Windows 8 or Windows RT**|This policy setting turns on Microsoft Defender SmartScreen.

    If you enable this setting, it turns on Microsoft Defender SmartScreen and your employees are unable to turn it off. Additionally, when enabling this feature, you must also pick whether Microsoft Defender SmartScreen should Warn your employees or Warn and prevent bypassing the message (effectively blocking the employee from the site).

    If you disable this setting, it turns off Microsoft Defender SmartScreen and your employees are unable to turn it on.

    If you don't configure this setting, your employees can decide whether to use Microsoft Defender SmartScreen.| -|**Windows 10, version 2004:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Explorer\Configure App Install Control|**Windows 10, version 1703:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Explorer\Configure App Install Control|This policy setting is intended to prevent malicious content from affecting your user's devices when downloading executable content from the internet.

    This setting doesn't protect against malicious content from USB devices, network shares, or other non-internet sources.

    **Important:** Using a trustworthy browser helps ensure that these protections work as expected.| -|**Windows 10, version 2004:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Microsoft Edge\Configure Windows Defender SmartScreen (Microsoft Edge version 45 and earlier)

    Administrative Templates\Microsoft Edge\SmartScreen settings\Configure Microsoft Defender SmartScreen (Microsoft Edge version 77 or later)

    **Windows 10, version 1703:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Microsoft Edge\Configure Windows Defender SmartScreen (Microsoft Edge version 45 and earlier)

    Administrative Templates\Microsoft Edge\SmartScreen settings\Configure Microsoft Defender SmartScreen (Microsoft Edge version 77 or later)

    **Windows 10, Version 1607 and earlier:** Administrative Templates\Windows Components\Microsoft Edge\Configure Windows SmartScreen|Microsoft Edge on Windows 10 or Windows 11|This policy setting turns on Microsoft Defender SmartScreen.

    If you enable this setting, it turns on Microsoft Defender SmartScreen and your employees are unable to turn it off.

    If you disable this setting, it turns off Microsoft Defender SmartScreen and your employees are unable to turn it on.

    If you don't configure this setting, your employees can decide whether to use Microsoft Defender SmartScreen.| -|**Windows 10, version 2004:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Microsoft Edge\Prevent bypassing Windows Defender SmartScreen prompts for files (Microsoft Edge version 45 and earlier)

    Administrative Templates\Microsoft Edge\SmartScreen settings\Prevent bypassing of Microsoft Defender SmartScreen warnings about downloads (Microsoft Edge version 77 or later)

    **Windows 10, version 1703:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Microsoft Edge\Prevent bypassing Windows Defender SmartScreen prompts for files (Microsoft Edge version 45 and earlier)

    Administrative Templates\Microsoft Edge\SmartScreen settings\Prevent bypassing of Microsoft Defender SmartScreen warnings about downloads (Microsoft Edge version 77 or later)

    **Windows 10, Version 1511 and 1607:** Administrative Templates\Windows Components\Microsoft Edge\Prevent bypassing Windows SmartScreen prompts for files|Microsoft Edge on Windows 10, version 1511 or later|This policy setting stops employees from bypassing the Microsoft Defender SmartScreen warnings about potentially malicious files.

    If you enable this setting, it stops employees from bypassing the warning, stopping the file download.

    If you disable or don't configure this setting, your employees can bypass the warnings and continue to download potentially malicious files.| -|**Windows 10, version 2004:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Microsoft Edge\Prevent bypassing Windows Defender SmartScreen prompts for sites (Microsoft Edge version 45 and earlier)

    Administrative Templates\Microsoft Edge\SmartScreen settings\Prevent bypassing Microsoft Defender SmartScreen prompts for sites (Microsoft Edge version 77 or later)

    **Windows 10, version 1703:** Administrative Templates\Windows Components\Windows Defender SmartScreen\Microsoft Edge\Prevent bypassing Windows Defender SmartScreen prompts for sites (Microsoft Edge version 45 and earlier)

    Administrative Templates\Microsoft Edge\SmartScreen settings\Prevent bypassing Microsoft Defender SmartScreen prompts for sites (Microsoft Edge version 77 or later)

    **Windows 10, Version 1511 and 1607:** Administrative Templates\Windows Components\Microsoft Edge\Prevent bypassing Windows SmartScreen prompts for sites|Microsoft Edge on Windows 10, version 1511 or later|This policy setting stops employees from bypassing the Microsoft Defender SmartScreen warnings about potentially malicious sites.

    If you enable this setting, it stops employees from bypassing the warning, stopping them from going to the site.

    If you disable or don't configure this setting, your employees can bypass the warnings and continue to visit a potentially malicious site.| -|Administrative Templates\Windows Components\Internet Explorer\Prevent managing SmartScreen Filter|Internet Explorer 9 or later|This policy setting prevents the employee from managing Microsoft Defender SmartScreen.

    If you enable this policy setting, the employee isn't prompted to turn on Microsoft Defender SmartScreen. All website addresses that aren't on the filter's allowlist are sent automatically to Microsoft without prompting the employee.

    If you disable or don't configure this policy setting, the employee is prompted to decide whether to turn on Microsoft Defender SmartScreen during the first-run experience.| -|Administrative Templates\Windows Components\Internet Explorer\Prevent bypassing SmartScreen Filter warnings|Internet Explorer 8 or later|This policy setting determines whether an employee can bypass warnings from Microsoft Defender SmartScreen.

    If you enable this policy setting, Microsoft Defender SmartScreen warnings block the employee.

    If you disable or don't configure this policy setting, the employee can bypass Microsoft Defender SmartScreen warnings.| -|Administrative Templates\Windows Components\Internet Explorer\Prevent bypassing SmartScreen Filter warnings about files that aren't commonly downloaded from the Internet|Internet Explorer 9 or later|This policy setting determines whether the employee can bypass warnings from Microsoft Defender SmartScreen. Microsoft Defender SmartScreen warns the employee about executable files that Internet Explorer users don't commonly download from the Internet.

    If you enable this policy setting, Microsoft Defender SmartScreen warnings block the employee.

    If you disable or don't configure this policy setting, the employee can bypass Microsoft Defender SmartScreen warnings.| +|Setting|Description| +|---|--- | +|Administrative Templates > Windows Components > Windows Defender SmartScreen > Explorer > Configure Windows Defender SmartScreen | This policy setting turns on Microsoft Defender SmartScreen.

    If you enable this setting, it turns on Microsoft Defender SmartScreen and your users are unable to turn it off. Additionally, when enabling this feature, you must also pick whether Microsoft Defender SmartScreen should Warn your users or Warn and prevent bypassing the message (effectively blocking the user from the site).

    If you disable this setting, it turns off Microsoft Defender SmartScreen and your users are unable to turn it on.

    If you don't configure this setting, your users can decide whether to use Microsoft Defender SmartScreen.| +|Administrative Templates > Windows Components > Windows Defender SmartScreen > Explorer > Configure App Install Control| This policy setting is intended to prevent malicious content from affecting your user's devices when downloading executable content from the internet.

    This setting doesn't protect against malicious content from USB devices, network shares, or other non-internet sources.

    **Important:** Using a trustworthy browser helps ensure that these protections work as expected.| +|Administrative Templates > Windows Components > Windows Defender SmartScreen > Microsoft Edge > Configure Windows Defender SmartScreen | This policy setting lets you configure whether to turn on Windows Defender SmartScreen. Windows Defender SmartScreen provides warning messages to help protect your users from potential phishing scams and malicious software. By default, Windows Defender SmartScreen is turned on.

    If you enable this setting, Windows Defender SmartScreen is turned on, and users can't turn it off.

    If you disable this setting, Windows Defender SmartScreen is turned off, and users can't turn it on.

    If you don't configure this setting, users can choose whether to use Windows Defender SmartScreen. | +|Administrative Templates > Windows Components > Windows Defender SmartScreen > Microsoft Edge > Prevent bypassing Windows Defender SmartScreen prompts for sites | This policy setting lets you decide whether users can override the Windows Defender SmartScreen warnings about potentially malicious websites.

    If you enable this setting, users can't ignore Windows Defender SmartScreen warnings and they're blocked from continuing to the site.

    If you disable or don't configure this setting, users can ignore Windows Defender SmartScreen warnings and continue to the site. | ## MDM settings If you manage your policies using Microsoft Intune, use these MDM policy settings. All settings support desktop computers running Windows 10/11 Pro or Windows 10/11 Enterprise, enrolled with Microsoft Intune. -For Microsoft Defender SmartScreen Microsoft Edge MDM policies, see [Policy CSP - Browser](/windows/client-management/mdm/policy-csp-browser). - -|Setting|Supported versions|Details| -|--- |--- |--- | -|AllowSmartScreen|Windows 10|
  19. **URI full path.** ./Vendor/MSFT/Policy/Config/Browser/AllowSmartScreen
  20. **Data type.** Integer
  21. **Allowed values:**
    • **0 .** Turns off Microsoft Defender SmartScreen in Microsoft Edge.
    • **1.** Turns on Microsoft Defender SmartScreen in Microsoft Edge.| -|EnableAppInstallControl|Windows 10, version 1703|
    • **URI full path.** ./Vendor/MSFT/Policy/Config/SmartScreen/EnableAppInstallControl
    • **Data type.** Integer
    • **Allowed values:**
      • **0 .** Turns off Application Installation Control, allowing users to download and install files from anywhere on the web.
      • **1.** Turns on Application Installation Control, allowing users to install apps from the Microsoft Store only.| -|EnableSmartScreenInShell|Windows 10, version 1703|
      • **URI full path.** ./Vendor/MSFT/Policy/Config/SmartScreen/EnableSmartScreenInShell
      • **Data type.** Integer
      • **Allowed values:**
        • **0 .** Turns off Microsoft Defender SmartScreen in Windows for app and file execution.
        • **1.** Turns on Microsoft Defender SmartScreen in Windows for app and file execution.| -|PreventOverrideForFilesInShell|Windows 10, version 1703|
        • **URI full path.** ./Vendor/MSFT/Policy/Config/SmartScreen/PreventOverrideForFilesInShell
        • **Data type.** Integer
        • **Allowed values:**
          • **0 .** Employees can ignore Microsoft Defender SmartScreen warnings and run malicious files.
          • **1.** Employees can't ignore Microsoft Defender SmartScreen warnings and run malicious files.| -|PreventSmartScreenPromptOverride|Windows 10, Version 1511 and Windows 11|
          • **URI full path.** ./Vendor/MSFT/Policy/Config/Browser/PreventSmartscreenPromptOverride
          • **Data type.** Integer
          • **Allowed values:**
            • **0 .** Employees can ignore Microsoft Defender SmartScreen warnings.
            • **1.** Employees can't ignore Microsoft Defender SmartScreen warnings.| -|PreventSmartScreenPromptOverrideForFiles|Windows 10, Version 1511 and Windows 11|
            • **URI full path.** ./Vendor/MSFT/Policy/Config/Browser/PreventSmartScreenPromptOverrideForFiles
            • **Data type.** Integer
            • **Allowed values:**
              • **0 .** Employees can ignore Microsoft Defender SmartScreen warnings for files.
              • **1.** Employees can't ignore Microsoft Defender SmartScreen warnings for files.| +- [AllowSmartScreen](/windows/client-management/mdm/policy-csp-browser#allowsmartscreen) +- [EnableAppInstallControl](/windows/client-management/mdm/policy-csp-smartscreen.md#enableappinstallcontrol) +- [EnableSmartScreenInShell](/windows/client-management/mdm/policy-csp-smartscreen.md#enablesmartscreeninshell) +- [PreventOverrideForFilesInShell](/windows/client-management/mdm/policy-csp-smartscreen.md#preventoverrideforfilesinshell) +- [PreventSmartScreenPromptOverride](/windows/client-management/mdm/policy-csp-browser.md#preventsmartscreenpromptoverride) +- [PreventSmartScreenPromptOverrideForFiles](/windows/client-management/mdm/policy-csp-browser.md#preventsmartscreenpromptoverrideforfiles) ## Recommended Group Policy and MDM settings for your organization -By default, Microsoft Defender SmartScreen lets employees bypass warnings. Unfortunately, this feature can let employees continue to an unsafe site or to continue to download an unsafe file, even after being warned. Because of this possibility, we strongly recommend that you set up Microsoft Defender SmartScreen to block high-risk interactions instead of providing just a warning. +By default, Microsoft Defender SmartScreen lets users bypass warnings. Unfortunately, this feature can let users continue to an unsafe site or to continue to download an unsafe file, even after being warned. Because of this possibility, we strongly recommend that you set up Microsoft Defender SmartScreen to block high-risk interactions instead of providing just a warning. To better help you protect your organization, we recommend turning on and using these specific Microsoft Defender SmartScreen Group Policy and MDM settings. |Group Policy setting|Recommendation| |--- |--- | -|Administrative Templates\Windows Components\Microsoft Edge\Configure Windows Defender SmartScreen (Microsoft Edge version 45 and earlier)

                Administrative Templates\Microsoft Edge\SmartScreen settings\Configure Microsoft Defender SmartScreen (Microsoft Edge version 77 or later)|**Enable.** Turns on Microsoft Defender SmartScreen.| -|Administrative Templates\Windows Components\Microsoft Edge\Prevent bypassing Windows Defender SmartScreen prompts for sites (Microsoft Edge version 45 and earlier)

                Administrative Templates\Microsoft Edge\SmartScreen settings\Prevent bypassing Windows Defender SmartScreen prompts for sites (Microsoft Edge version 77 or later)|**Enable.** Stops employees from ignoring warning messages and continuing to a potentially malicious website.| -|Administrative Templates\Windows Components\Microsoft Edge\Prevent bypassing Windows Defender SmartScreen prompts for files (Microsoft Edge version 45 and earlier)

                Administrative Templates\Microsoft Edge\SmartScreen settings\Prevent bypassing of Microsoft Defender SmartScreen warnings about downloads (Microsoft Edge version 77 or later)|**Enable.** Stops employees from ignoring warning messages and continuing to download potentially malicious files.| -|Administrative Templates\Windows Components\File Explorer\Configure Windows Defender SmartScreen|**Enable with the Warn and prevent bypass option.** Stops employees from ignoring warning messages about malicious files downloaded from the Internet.| +|Administrative Templates > Windows Components > Microsoft Edge > Configure Windows Defender SmartScreen|**Enable.** Turns on Microsoft Defender SmartScreen.| +|Administrative Templates > Windows Components > Microsoft Edge > Prevent bypassing Windows Defender SmartScreen prompts for sites|**Enable.** Stops users from ignoring warning messages and continuing to a potentially malicious website.| +|Administrative Templates > Windows Components > Explorer > Configure Windows Defender SmartScreen|**Enable with the Warn and prevent bypass option.** Stops users from ignoring warning messages about malicious files downloaded from the Internet.| |MDM setting|Recommendation| |--- |--- | |Browser/AllowSmartScreen|**1.** Turns on Microsoft Defender SmartScreen.| -|Browser/PreventSmartScreenPromptOverride|**1.** Stops employees from ignoring warning messages and continuing to a potentially malicious website.| -|Browser/PreventSmartScreenPromptOverrideForFiles|**1.** Stops employees from ignoring warning messages and continuing to download potentially malicious files.| +|Browser/PreventSmartScreenPromptOverride|**1.** Stops users from ignoring warning messages and continuing to a potentially malicious website.| +|Browser/PreventSmartScreenPromptOverrideForFiles|**1.** Stops users from ignoring warning messages and continuing to download potentially malicious files.| |SmartScreen/EnableSmartScreenInShell|**1.** Turns on Microsoft Defender SmartScreen in Windows.

                Requires at least Windows 10, version 1703.| -|SmartScreen/PreventOverrideForFilesInShell|**1.** Stops employees from ignoring warning messages about malicious files downloaded from the Internet.

                Requires at least Windows 10, version 1703.| +|SmartScreen/PreventOverrideForFilesInShell|**1.** Stops users from ignoring warning messages about malicious files downloaded from the Internet.

                Requires at least Windows 10, version 1703.| ## Related articles diff --git a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md index 38921c5358..b05b845919 100644 --- a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md +++ b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md @@ -1,7 +1,7 @@ --- title: Enhanced Phishing Protection in Microsoft Defender SmartScreen description: Learn how Enhanced Phishing Protection for Microsoft Defender SmartScreen helps protect Microsoft school or work passwords against phishing and unsafe usage on sites and apps. -ms.date: 11/02/2023 +ms.date: 07/10/2024 ms.topic: conceptual appliesto: - ✅ Windows 11, version 22H2 @@ -37,7 +37,7 @@ Enhanced Phishing Protection provides robust phishing protections for work or sc ## Configure Enhanced Phishing Protection for your organization -Enhanced Phishing Protection can be configured via Microsoft Intune, Group Policy Objects (GPO) or Configuration Service Providers (CSP) with an MDM service. These settings are available to configure your devices using either Microsoft Intune, GPO or CSP. +Enhanced Phishing Protection can be configured via Microsoft Intune, Group Policy Objects (GPO) or Configuration Service Providers (CSP) with an MDM service. These settings are available to configure your devices using either Microsoft Intune, GPO, or CSP. | Setting | Description | |--|--| @@ -51,7 +51,7 @@ Enhanced Phishing Protection allows organizations to add their custom identity p To add your organization's custom sign-in URL to Enhanced Phishing Protection, configure the `EnableWebSignIn` policy in the [Authentication Policy CSP](/windows/client-management/mdm/policy-csp-authentication#enablewebsignin). For more information, see [Web sign-in for Windows](../../../identity-protection/web-sign-in/index.md). -Follow these instructions to configure your devices using either Microsoft Intune, GPO or CSP. +Follow these instructions to configure your devices using either Microsoft Intune, GPO, or CSP. #### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) diff --git a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/index.md b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/index.md index b5af241045..56fc48b2bf 100644 --- a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/index.md +++ b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/index.md @@ -1,7 +1,7 @@ --- title: Microsoft Defender SmartScreen overview description: Learn how Microsoft Defender SmartScreen protects against phishing or malware websites and applications, and the downloading of potentially malicious files. -ms.date: 08/11/2023 +ms.date: 07/10/2024 ms.topic: conceptual appliesto: - ✅ Windows 11 From 0f97bb0b4781aea4636fb288201e6d4caa9bf036 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Wed, 10 Jul 2024 16:56:53 -0600 Subject: [PATCH 229/354] Fix links --- .../available-settings.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md index a416410eb0..3d92583855 100644 --- a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md +++ b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md @@ -29,11 +29,11 @@ SmartScreen uses registry-based Administrative Template policy settings. If you manage your policies using Microsoft Intune, use these MDM policy settings. All settings support desktop computers running Windows 10/11 Pro or Windows 10/11 Enterprise, enrolled with Microsoft Intune. - [AllowSmartScreen](/windows/client-management/mdm/policy-csp-browser#allowsmartscreen) -- [EnableAppInstallControl](/windows/client-management/mdm/policy-csp-smartscreen.md#enableappinstallcontrol) -- [EnableSmartScreenInShell](/windows/client-management/mdm/policy-csp-smartscreen.md#enablesmartscreeninshell) -- [PreventOverrideForFilesInShell](/windows/client-management/mdm/policy-csp-smartscreen.md#preventoverrideforfilesinshell) -- [PreventSmartScreenPromptOverride](/windows/client-management/mdm/policy-csp-browser.md#preventsmartscreenpromptoverride) -- [PreventSmartScreenPromptOverrideForFiles](/windows/client-management/mdm/policy-csp-browser.md#preventsmartscreenpromptoverrideforfiles) +- [EnableAppInstallControl](/windows/client-management/mdm/policy-csp-smartscreen#enableappinstallcontrol) +- [EnableSmartScreenInShell](/windows/client-management/mdm/policy-csp-smartscreen#enablesmartscreeninshell) +- [PreventOverrideForFilesInShell](/windows/client-management/mdm/policy-csp-smartscreen#preventoverrideforfilesinshell) +- [PreventSmartScreenPromptOverride](/windows/client-management/mdm/policy-csp-browser#preventsmartscreenpromptoverride) +- [PreventSmartScreenPromptOverrideForFiles](/windows/client-management/mdm/policy-csp-browser#preventsmartscreenpromptoverrideforfiles) ## Recommended Group Policy and MDM settings for your organization From a2a1479ccd2497e627f6a3fe14c025086bffa0c3 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Thu, 11 Jul 2024 10:17:23 -0600 Subject: [PATCH 230/354] Mo-updates --- .../microsoft-defender-smartscreen/available-settings.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md index 3d92583855..d53d8c5dc7 100644 --- a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md +++ b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/available-settings.md @@ -4,7 +4,8 @@ description: A list of all available settings for Microsoft Defender SmartScreen ms.date: 07/10/2024 ms.topic: reference --- -# Available Microsoft Defender SmartScreen Group Policy and mobile device management (MDM) settings + +# Available Microsoft Defender SmartScreen settings Microsoft Defender SmartScreen works with Intune, Group Policy, and mobile device management (MDM) settings to help you manage your organization's computer settings. Based on how you set up Microsoft Defender SmartScreen, you can show users a warning page and let them continue to the site, or you can block the site entirely. @@ -54,7 +55,3 @@ To better help you protect your organization, we recommend turning on and using |Browser/PreventSmartScreenPromptOverrideForFiles|**1.** Stops users from ignoring warning messages and continuing to download potentially malicious files.| |SmartScreen/EnableSmartScreenInShell|**1.** Turns on Microsoft Defender SmartScreen in Windows.

                Requires at least Windows 10, version 1703.| |SmartScreen/PreventOverrideForFilesInShell|**1.** Stops users from ignoring warning messages about malicious files downloaded from the Internet.

                Requires at least Windows 10, version 1703.| - -## Related articles - -- [Available Group Policy and Mobile Device Management (MDM) settings for Microsoft Edge](/microsoft-edge/deploy/available-policies) From 3d0d4e9a8fec339ed77e3709aa57ee891d6e9b21 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Thu, 11 Jul 2024 10:51:49 -0600 Subject: [PATCH 231/354] MDAG Fix links/update --- ...blishing.redirection.windows-security.json | 7 +- .../TOC.yml | 9 +- .../configure-md-app-guard.md | 10 +-- .../faq-md-app-guard.yml | 8 +- .../install-md-app-guard.md | 6 +- .../md-app-guard-browser-extension.md | 89 ------------------- .../md-app-guard-overview.md | 7 +- .../reqs-md-app-guard.md | 8 +- .../test-scenarios-md-app-guard.md | 10 +-- .../includes/mdag-edge-deprecation-notice.md | 4 +- 10 files changed, 34 insertions(+), 124 deletions(-) delete mode 100644 windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-browser-extension.md diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 471c829ed5..93967da44e 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -52,7 +52,12 @@ }, { "source_path": "windows/security//threat-protection/microsoft-defender-application-guard/md-app-guard-browser-extension.md", - "redirect_url": "/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-browser-extension", + "redirect_url": "/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview", + "redirect_document_id": false + }, + { + "source_path": "windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-browser-extension.md", + "redirect_url": "/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview", "redirect_document_id": false }, { diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/TOC.yml b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/TOC.yml index e235cf65ec..74c7012d07 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/TOC.yml +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/TOC.yml @@ -1,6 +1,6 @@ - name: Microsoft Defender Application Guard href: md-app-guard-overview.md - items: + items: - name: System requirements href: reqs-md-app-guard.md - name: Install Application Guard @@ -9,10 +9,5 @@ href: configure-md-app-guard.md - name: Test scenarios href: test-scenarios-md-app-guard.md - - name: Microsoft Defender Application Guard Extension - href: md-app-guard-browser-extension.md - name: Application Guard FAQ - href: faq-md-app-guard.yml -- name: Windows security - href: /windows/security/ - + href: faq-md-app-guard.yml \ No newline at end of file diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/configure-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/configure-md-app-guard.md index 2a40f36ead..e5279d14fa 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/configure-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/configure-md-app-guard.md @@ -2,7 +2,7 @@ title: Configure the Group Policy settings for Microsoft Defender Application Guard description: Learn about the available Group Policy settings for Microsoft Defender Application Guard. ms.localizationpriority: medium -ms.date: 12/12/2023 +ms.date: 07/11/2024 ms.topic: how-to --- @@ -17,11 +17,11 @@ Application Guard uses both network isolation and application-specific settings. [!INCLUDE [microsoft-defender-application-guard-mdag-for-edge-enterprise-mode-and-enterprise-management](../../../../../includes/licensing/microsoft-defender-application-guard-mdag-for-edge-enterprise-mode-and-enterprise-management.md)] -For more information about Microsoft Defender Application Guard (MDAG) for Edge in stand-alone mode, see [Microsoft Defender Application Guard overview](md-app-guard-overview.md). +For more information about Microsoft Defender Application Guard (MDAG) for Microsoft Edge in stand-alone mode, see [Microsoft Defender Application Guard overview](md-app-guard-overview.md). ## Network isolation settings -These settings, located at `Computer Configuration\Administrative Templates\Network\Network Isolation`, help you define and manage your organization's network boundaries. Application Guard uses this information to automatically transfer any requests to access the non-corporate resources into the Application Guard container. +These settings, located at `Computer Configuration\Administrative Templates\Network\Network Isolation`, help you define and manage your organization's network boundaries. Application Guard uses this information to automatically transfer any requests to access the noncorporate resources into the Application Guard container. > [!NOTE] > For Windows 10, if you have KB5014666 installed, and for Windows 11, if you have KB5014668 installed, you don't need to configure network isolation policy to enable Application Guard for Microsoft Edge in managed mode. @@ -33,7 +33,7 @@ These settings, located at `Computer Configuration\Administrative Templates\Netw |-----------|------------------|-----------| |Private network ranges for apps | At least Windows Server 2012, Windows 8, or Windows RT| A comma-separated list of IP address ranges that are in your corporate network. Included endpoints or endpoints that are included within a specified IP address range, are rendered using Microsoft Edge and won't be accessible from the Application Guard environment.| |Enterprise resource domains hosted in the cloud| At least Windows Server 2012, Windows 8, or Windows RT|A pipe-separated (`|`) list of your domain cloud resources. Included endpoints are rendered using Microsoft Edge and won't be accessible from the Application Guard environment.

                This list supports the wildcards detailed in the [Network isolation settings wildcards](#network-isolation-settings-wildcards) table.| -|Domains categorized as both work and personal| At least Windows Server 2012, Windows 8, or Windows RT|A comma-separated list of domain names used as both work or personal resources. Included endpoints are rendered using Microsoft Edge and will be accessible from the Application Guard and regular Edge environment.

                This list supports the wildcards detailed in the [Network isolation settings wildcards](#network-isolation-settings-wildcards) table.| +|Domains categorized as both work and personal| At least Windows Server 2012, Windows 8, or Windows RT|A comma-separated list of domain names used as both work or personal resources. Included endpoints are rendered using Microsoft Edge and will be accessible from the Application Guard and regular Microsoft Edge environment.

                This list supports the wildcards detailed in the [Network isolation settings wildcards](#network-isolation-settings-wildcards) table.| ## Network isolation settings wildcards @@ -52,7 +52,7 @@ These settings, located at `Computer Configuration\Administrative Templates\Wind |Configure Microsoft Defender Application Guard clipboard settings|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether Application Guard can use the clipboard functionality.|**Enabled.** This is effective only in managed mode. Turns on the clipboard functionality and lets you choose whether to additionally:
                - Disable the clipboard functionality completely when Virtualization Security is enabled.
                - Enable copying of certain content from Application Guard into Microsoft Edge.
                - Enable copying of certain content from Microsoft Edge into Application Guard. **Important:** Allowing copied content to go from Microsoft Edge into Application Guard can cause potential security risks and isn't recommended.

                **Disabled or not configured.** Completely turns off the clipboard functionality for Application Guard.| |Configure Microsoft Defender Application Guard print settings|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether Application Guard can use the print functionality.|**Enabled.** This is effective only in managed mode. Turns on the print functionality and lets you choose whether to additionally:
                - Enable Application Guard to print into the XPS format.
                - Enable Application Guard to print into the PDF format.
                - Enable Application Guard to print to locally attached printers.
                - Enable Application Guard to print from previously connected network printers. Employees can't search for other printers.

                **Disabled or not configured.** Completely turns Off the print functionality for Application Guard.| |Allow Persistence|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether data persists across different sessions in Microsoft Defender Application Guard.|**Enabled.** This is effective only in managed mode. Application Guard saves user-downloaded files and other items (such as, cookies, Favorites, and so on) for use in future Application Guard sessions.

                **Disabled or not configured.** All user data within Application Guard is reset between sessions.

                **NOTE**: If you later decide to stop supporting data persistence for your employees, you can use our Windows-provided utility to reset the container and to discard any personal data.

                **To reset the container:**
                1. Open a command-line program and navigate to `Windows/System32`.
                2. Type `wdagtool.exe cleanup`. The container environment is reset, retaining only the employee-generated data.
                3. Type `wdagtool.exe cleanup RESET_PERSISTENCE_LAYER`. The container environment is reset, including discarding all employee-generated data.| -|Turn on Microsoft Defender Application Guard in Managed Mode|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether to turn on Application Guard for Microsoft Edge and Microsoft Office.|**Enabled.** Turns on Application Guard for Microsoft Edge and/or Microsoft Office, honoring the network isolation settings, rendering untrusted content in the Application Guard container. Application Guard won't actually be turned on unless the required prerequisites and network isolation settings are already set on the device. Available options:
                - Enable Microsoft Defender Application Guard only for Microsoft Edge
                - Enable Microsoft Defender Application Guard only for Microsoft Office
                - Enable Microsoft Defender Application Guard for both Microsoft Edge and Microsoft Office

                **Disabled.** Turns off Application Guard, allowing all apps to run in Microsoft Edge and Microsoft Office.

                **Note:** For Windows 10, if you have KB5014666 installed, and for Windows 11, if you have KB5014668 installed, you are no longer required to configure network isolation policy to enable Application Guard for Edge.| +|Turn on Microsoft Defender Application Guard in Managed Mode|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether to turn on Application Guard for Microsoft Edge and Microsoft Office.|**Enabled.** Turns on Application Guard for Microsoft Edge and/or Microsoft Office, honoring the network isolation settings, rendering untrusted content in the Application Guard container. Application Guard won't actually be turned on unless the required prerequisites and network isolation settings are already set on the device. Available options:
                - Enable Microsoft Defender Application Guard only for Microsoft Edge
                - Enable Microsoft Defender Application Guard only for Microsoft Office
                - Enable Microsoft Defender Application Guard for both Microsoft Edge and Microsoft Office

                **Disabled.** Turns off Application Guard, allowing all apps to run in Microsoft Edge and Microsoft Office.

                **Note:** For Windows 10, if you have KB5014666 installed, and for Windows 11, if you have KB5014668 installed, you're no longer required to configure network isolation policy to enable Application Guard for Microsoft Edge.| |Allow files to download to host operating system|Windows 10 Enterprise or Pro, 1803 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise or Pro or Education|Determines whether to save downloaded files to the host operating system from the Microsoft Defender Application Guard container.|**Enabled.** Allows users to save downloaded files from the Microsoft Defender Application Guard container to the host operating system. This action creates a share between the host and container that also allows for uploads from the host to the Application Guard container.

                **Disabled or not configured.** Users aren't able to save downloaded files from Application Guard to the host operating system.| |Allow hardware-accelerated rendering for Microsoft Defender Application Guard|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether Microsoft Defender Application Guard renders graphics using hardware or software acceleration.|**Enabled.** This is effective only in managed mode. Microsoft Defender Application Guard uses Hyper-V to access supported, high-security rendering graphics hardware (GPUs). These GPUs improve rendering performance and battery life while using Microsoft Defender Application Guard, particularly for video playback and other graphics-intensive use cases. If this setting is enabled without connecting any high-security rendering graphics hardware, Microsoft Defender Application Guard will automatically revert to software-based (CPU) rendering. **Important:** Enabling this setting with potentially compromised graphics devices or drivers might pose a risk to the host device.

                **Disabled or not configured.** Microsoft Defender Application Guard uses software-based (CPU) rendering and won't load any third-party graphics drivers or interact with any connected graphics hardware.| |Allow camera and microphone access in Microsoft Defender Application Guard|Windows 10 Enterprise, 1709 or higher

                Windows 10 Education, 1809 or higher

                Windows 11 Enterprise and Education|Determines whether to allow camera and microphone access inside Microsoft Defender Application Guard.|**Enabled.** This is effective only in managed mode. Applications inside Microsoft Defender Application Guard are able to access the camera and microphone on the user's device. **Important:** Enabling this policy with a potentially compromised container could bypass camera and microphone permissions and access the camera and microphone without the user's knowledge.

                **Disabled or not configured.** Applications inside Microsoft Defender Application Guard are unable to access the camera and microphone on the user's device.| diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/faq-md-app-guard.yml b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/faq-md-app-guard.yml index 43f2f31197..b539097c6d 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/faq-md-app-guard.yml +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/faq-md-app-guard.yml @@ -4,7 +4,7 @@ metadata: description: Learn about the commonly asked questions and answers for Microsoft Defender Application Guard. ms.localizationpriority: medium ms.topic: faq - ms.date: 12/12/2023 + ms.date: 07/11/2024 title: Frequently asked questions - Microsoft Defender Application Guard summary: | @@ -211,7 +211,7 @@ sections: - question: | What does the _Allow users to trust files that open in Microsoft Defender Application Guard_ option in the Group policy do? answer: | - This policy was present in Windows 10 prior to version 2004. It was removed from later versions of Windows as it doesn't enforce anything for either Edge or Office. + This policy was present in Windows 10 prior to version 2004. It was removed from later versions of Windows as it doesn't enforce anything for either Microsoft Edge or Office. - question: | How do I open a support ticket for Microsoft Defender Application Guard? @@ -220,9 +220,9 @@ sections: - Under the Product Family, select Windows. Select the product and the product version you need help with. For the category that best describes the issue, select, **Windows Security Technologies**. In the final option, select **Windows Defender Application Guard**. - question: | - Is there a way to enable or disable the behavior where the host Edge tab auto-closes when navigating to an untrusted site? + Is there a way to enable or disable the behavior where the host Microsoft Edge tab auto-closes when navigating to an untrusted site? answer: | - Yes. Use this Edge flag to enable or disable this behavior: `--disable-features="msWdagAutoCloseNavigatedTabs"` + Yes. Use this Microsoft Edge flag to enable or disable this behavior: `--disable-features="msWdagAutoCloseNavigatedTabs"` additionalContent: | diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/install-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/install-md-app-guard.md index 33375dd2a1..beefaa14bb 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/install-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/install-md-app-guard.md @@ -1,7 +1,7 @@ --- title: Enable hardware-based isolation for Microsoft Edge description: Learn about the Microsoft Defender Application Guard modes (Standalone or Enterprise-managed), and how to install Application Guard in your enterprise. -ms.date: 12/12/2023 +ms.date: 07/11/2024 ms.topic: how-to --- @@ -31,7 +31,7 @@ Standalone mode is applicable for: ## Enterprise-managed mode -You and your security department can define your corporate boundaries by explicitly adding trusted domains and by customizing the Application Guard experience to meet and enforce your needs on employee devices. Enterprise-managed mode also automatically redirects any browser requests to add non-enterprise domain(s) in the container. +You and your security department can define your corporate boundaries by explicitly adding trusted domains and by customizing the Application Guard experience to meet and enforce your needs on employee devices. Enterprise-managed mode also automatically redirects any browser requests to add nonenterprise domain(s) in the container. Enterprise-managed mode is applicable for: @@ -93,7 +93,7 @@ Application Guard functionality is turned off by default. However, you can quick To learn more about scope tags, see [Use role-based access control (RBAC) and scope tags for distributed IT](/mem/intune/fundamentals/scope-tags). -1. In the **Assignments** page, select the users or groups that will receive the policy. Select **Next**. +1. In the **Assignments** page, select the users or groups that receive the policy. Select **Next**. To learn more about assigning policies, see [Assign policies in Microsoft Intune](/mem/intune/configuration/device-profile-assign). diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-browser-extension.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-browser-extension.md deleted file mode 100644 index f841705678..0000000000 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-browser-extension.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: Microsoft Defender Application Guard Extension -description: Learn about the Microsoft Defender Application Guard browser extension, which extends Application Guard's protection to more web browsers. -ms.localizationpriority: medium -ms.date: 12/12/2023 -ms.topic: conceptual ---- - -# Microsoft Defender Application Guard Extension - -[!INCLUDE [mdag-edge-deprecation-notice](../../../includes/mdag-edge-deprecation-notice.md)] - -[Microsoft Defender Application Guard Extension](https://www.microsoft.com/security/blog/2019/05/23/new-browser-extensions-for-integrating-microsofts-hardware-based-isolation/) is a web browser add-on available for [Chrome](https://chrome.google.com/webstore/detail/application-guard-extensi/mfjnknhkkiafjajicegabkbimfhplplj/) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/application-guard-extension/). - -[Microsoft Defender Application Guard](md-app-guard-overview.md) provides Hyper-V isolation on Windows 10 and Windows 11, to protect users from potentially harmful content on the web. The extension helps Application Guard protect users running other web browsers. - -> [!TIP] -> Application Guard, by default, offers [native support](/deployedge/microsoft-edge-security-windows-defender-application-guard) to both Microsoft Edge and Internet Explorer. These browsers do not need the extension described here for Application Guard to protect them. - -Microsoft Defender Application Guard Extension defends devices in your organization from advanced attacks, by redirecting untrusted websites to an isolated version of [Microsoft Edge](https://www.microsoft.com/edge). If an untrusted website turns out to be malicious, it remains within Application Guard's secure container, keeping the device protected. - -## Prerequisites - -Microsoft Defender Application Guard Extension works with the following editions of Windows 10, version 1809 or later: - -- Windows 10 Professional -- Windows 10 Enterprise -- Windows 10 Education -- Windows 11 - -Application Guard itself is required for the extension to work. It has its own set of [requirements](reqs-md-app-guard.md). Check the Application Guard [installation guide](install-md-app-guard.md) for further steps, if you don't have it installed already. - -## Installing the extension - -Application Guard can be run under [managed mode](install-md-app-guard.md#enterprise-managed-mode) or [standalone mode](install-md-app-guard.md#standalone-mode). The main difference between the two modes is whether policies have been set to define the organization's boundaries. - -Enterprise administrators running Application Guard under managed mode should first define Application Guard's [network isolation settings](configure-md-app-guard.md#network-isolation-settings), so a set of enterprise sites is already in place. - -From there, the steps for installing the extension are similar whether Application Guard is running in managed or standalone mode. - -1. On the local device, download and install the Application Guard extension for Google [Chrome](https://chrome.google.com/webstore/detail/application-guard-extensi/mfjnknhkkiafjajicegabkbimfhplplj/) and/or Mozilla [Firefox](https://addons.mozilla.org/en-US/firefox/addon/application-guard-extension/). -1. Install the [Microsoft Defender Application Guard companion app](https://www.microsoft.com/p/windows-defender-application-guard-companion/9n8gnlc8z9c8#activetab=pivot:overviewtab) from the Microsoft Store. This companion app enables Application Guard to work with web browsers other than Microsoft Edge or Internet Explorer. -1. Restart the device. - -### Recommended browser group policies - -Both Chrome and Firefox have their own browser-specific group policies. We recommend that admins use the following policy settings. - -#### Chrome policies - -These policies can be found along the filepath, `Software\Policies\Google\Chrome\`, with each policy name corresponding to the file name. For example, `IncognitoModeAvailability` is located at `Software\Policies\Google\Chrome\IncognitoModeAvailability`. - -Policy name | Values | Recommended setting | Reason --|-|-|- -[IncognitoModeAvailability](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=IncognitoModeAvailability) | `0` = Enabled
                `1` = Disabled
                `2` = Forces pages to only open in Incognito mode | Disabled | This policy allows users to start Chrome in Incognito mode. In this mode, all extensions are turned off by default. -[BrowserGuestModeEnabled](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=BrowserGuestModeEnabled) | `false` or `0` = Disabled
                `true`, `1`, or not configured = Enabled | Disabled | This policy allows users to sign in as *Guest*, which opens a session in Incognito mode. In this mode, all extensions are turned off by default. -[BackgroundModeEnabled](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=BackgroundModeEnabled) | `false` or `0` = Disabled
                `true` or `1` = Enabled

                **Note:** If this policy isn't set, the user can enable or disable background mode through local browser settings. | Enabled | This policy keeps Chrome running in the background, ensuring that navigation is always passed to the extension. -[ExtensionSettings](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionSettings) | This policy accepts a dictionary that configures multiple other management settings for Chrome. See the [Google Cloud documentation](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionSettings) for complete schema. | Include an entry for `force_installed` | This policy prevents users from manually removing the extension. - -#### Firefox policies - -These policies can be found along the filepath, `Software\Policies\Mozilla\Firefox\`, with each policy name corresponding to the file name. Foe example, `DisableSafeMode` is located at `Software\Policies\Mozilla\Firefox\DisableSafeMode`. - -Policy name | Values | Recommended setting | Reason --|-|-|- -[DisableSafeMode](https://github.com/mozilla/policy-templates/blob/master/README.md#DisableSafeMode) | `false` or `0` = Safe mode is enabled
                `true` or `1` = Safe mode is disabled | The policy is enabled and Safe mode isn't allowed to run. | Safe mode can allow users to circumvent Application Guard -[BlockAboutConfig](https://github.com/mozilla/policy-templates/blob/master/README.md#BlockAboutConfig) | `false` or `0` = User access to `about:config` is allowed
                `true` or `1` = User access to `about:config` isn't allowed | The policy is enabled and access to `about:config` isn't allowed. | `About:config` is a special page within Firefox that offers control over many settings that may compromise security -[Extensions - Locked](https://github.com/mozilla/policy-templates/blob/master/README.md#Extensions) | This setting accepts a list of UUIDs for extensions. You can find these extensions by searching `extensions.webextensions.uuids` within the `about:config` page) | Software\Policies\Mozilla\Firefox\Extensions\Locked\1 = "`ApplicationGuardRel@microsoft.com`" | This setting allows you to lock the extension, so the user can't disable or uninstall it. - -## Troubleshooting guide - - - -Error message | Cause | Actions --|-|- -Application Guard undetermined state | The extension was unable to communicate with the companion app during the last information request. | 1. Install the [companion app](https://www.microsoft.com/p/windows-defender-application-guard-companion/9n8gnlc8z9c8?activetab=pivot:overviewtab) and reboot
                2. If the companion app is already installed, reboot and see if that resolves the error
                3. If you still see the error after rebooting, uninstall and reinstall the companion app
                4. Check for updates in both the Microsoft store and the respective web store for the affected browser -ExceptionThrown | An unexpected exception was thrown. | 1. [File a bug](https://aka.ms/wdag-fb)
                2. Retry the operation -Failed to determine if Application Guard is enabled | The extension was able to communicate with the companion app, but the information request failed in the app. | 1. Restart the browser
                2. Check for updates in both the Microsoft store and the respective web store for the affected browser -Launch in WDAG failed with a companion communication error | The extension couldn't talk to the companion app, but was able to at the beginning of the session. This error can be caused by the companion app being uninstalled while Chrome was running. | 1. Make sure the companion app is installed
                2. If the companion app is installed, reboot and see if that resolves the error
                3. If you still see the error after rebooting, uninstall and reinstall the companion app
                4. Check for updates in both the Microsoft store and the respective web store for the affected browser -Main page navigation caught an unexpected error | An unexpected exception was thrown during the main page navigation. | 1. [File a bug](https://aka.ms/wdag-fb)
                2. Retry the operation -Process trust response failed with a companion communication error | The extension couldn't talk to the companion app, but was able to at the beginning of the session. This error can be caused by the companion app being uninstalled while Chrome was running.| 1. Make sure the companion app is installed.
                2. If the companion app is installed, reboot and see if that resolves the error
                3. If you still see the error after rebooting, uninstall and reinstall the companion app
                4. Check for updates in both the Microsoft store and the respective web store for the affected browser -Protocol out of sync | The extension and native app can't communicate with each other. This error is likely caused by one being updated without supporting the protocol of the other. | Check for updates in both the Microsoft store, and the web store for the affected browser -Security patch level doesn't match | Microsoft determined that there was a security issue with either the extension or the companion app, and has issued a mandatory update. | Check for updates in both the Microsoft store, and the web store for the affected browser -Unexpected response while processing trusted state | The extension was able to communicate with the companion app, but the API failed and a failure response code was sent back to the extension. | 1. [File a bug](https://aka.ms/wdag-fb)
                2. Check if Microsoft Edge is working
                3. Retry the operation - -## Related articles - -- [Microsoft Defender Application Guard overview](md-app-guard-overview.md) -- [Testing scenarios using Microsoft Defender Application Guard in your business or organization](test-scenarios-md-app-guard.md) diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview.md index 109331df35..cc5f471678 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview.md @@ -1,7 +1,7 @@ --- title: Microsoft Defender Application Guard description: Learn about Microsoft Defender Application Guard and how it helps combat malicious content and malware out on the Internet. -ms.date: 12/12/2023 +ms.date: 07/11/2024 ms.topic: conceptual --- @@ -15,7 +15,7 @@ Microsoft Defender Application Guard (MDAG) is designed to help prevent old and For Microsoft Edge, Application Guard helps to isolate enterprise-defined untrusted sites, protecting your company while your employees browse the Internet. As an enterprise administrator, you define what is among trusted web sites, cloud resources, and internal networks. Everything not on your list is considered untrusted. If an employee goes to an untrusted site through either Microsoft Edge or Internet Explorer, Microsoft Edge opens the site in an isolated Hyper-V-enabled container. -For Microsoft Office, Application Guard helps prevents untrusted Word, PowerPoint and Excel files from accessing trusted resources. Application Guard opens untrusted files in an isolated Hyper-V-enabled container. The isolated Hyper-V container is separate from the host operating system. This container isolation means that if the untrusted site or file turns out to be malicious, the host device is protected, and the attacker can't get to your enterprise data. For example, this approach makes the isolated container anonymous, so an attacker can't get to your employee's enterprise credentials. +For Microsoft Office, Application Guard helps prevents untrusted Word, PowerPoint, and Excel files from accessing trusted resources. Application Guard opens untrusted files in an isolated Hyper-V-enabled container. The isolated Hyper-V container is separate from the host operating system. This container isolation means that if the untrusted site or file turns out to be malicious, the host device is protected, and the attacker can't get to your enterprise data. For example, this approach makes the isolated container anonymous, so an attacker can't get to your employee's enterprise credentials. ![Hardware isolation diagram.](images/appguard-hardware-isolation.png) @@ -33,7 +33,7 @@ Application Guard has been created to target several types of devices: [!INCLUDE [microsoft-defender-application-guard-mdag-for-edge-standalone-mode](../../../../../includes/licensing/microsoft-defender-application-guard-mdag-for-edge-standalone-mode.md)] -For more information about Microsoft Defender Application Guard (MDAG) for Edge enterprise mode, [Configure Microsoft Defender Application Guard policy settings.](configure-md-app-guard.md) +For more information about Microsoft Defender Application Guard (MDAG) for Microsoft Edge enterprise mode, [Configure Microsoft Defender Application Guard policy settings.](configure-md-app-guard.md) ## Related articles @@ -43,7 +43,6 @@ For more information about Microsoft Defender Application Guard (MDAG) for Edge |[Prepare and install Microsoft Defender Application Guard](install-md-app-guard.md) |Provides instructions about determining which mode to use, either Standalone or Enterprise-managed, and how to install Application Guard in your organization.| |[Configure the Group Policy settings for Microsoft Defender Application Guard](configure-md-app-guard.md) |Provides info about the available Group Policy and MDM settings.| |[Testing scenarios using Microsoft Defender Application Guard in your business or organization](test-scenarios-md-app-guard.md)|Provides a list of suggested testing scenarios that you can use to test Application Guard in your organization.| -| [Microsoft Defender Application Guard Extension for web browsers](md-app-guard-browser-extension.md) | Describes the Application Guard extension for Chrome and Firefox, including known issues, and a troubleshooting guide | | [Microsoft Defender Application Guard for Microsoft Office](/microsoft-365/security/office-365-security/install-app-guard) | Describes Application Guard for Microsoft Office, including minimum hardware requirements, configuration, and a troubleshooting guide | |[Frequently asked questions - Microsoft Defender Application Guard](faq-md-app-guard.yml)|Provides answers to frequently asked questions about Application Guard features, integration with the Windows operating system, and general configuration.| |[Use a network boundary to add trusted sites on Windows devices in Microsoft Intune](/mem/intune/configuration/network-boundary-windows)|Network boundary, a feature that helps you protect your environment from sites that aren't trusted by your organization.| diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/reqs-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/reqs-md-app-guard.md index ff5414fd19..f8e31a69f9 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/reqs-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/reqs-md-app-guard.md @@ -3,7 +3,7 @@ title: System requirements for Microsoft Defender Application Guard description: Learn about the system requirements for installing and running Microsoft Defender Application Guard. ms.topic: overview ms.localizationpriority: medium -ms.date: 12/12/2023 +ms.date: 07/11/2024 --- # System requirements for Microsoft Defender Application Guard @@ -24,8 +24,8 @@ Your environment must have the following hardware to run Microsoft Defender Appl | Hardware | Description | |--------|-----------| -| 64-bit CPU|A 64-bit computer with minimum four cores (logical processors) is required for hypervisor and virtualization-based security (VBS). For more info about Hyper-V, see [Hyper-V on Windows Server 2016](/windows-server/virtualization/hyper-v/hyper-v-on-windows-server) or [Introduction to Hyper-V on Windows 10](/virtualization/hyper-v-on-windows/about/). For more info about hypervisor, see [Hypervisor Specifications](/virtualization/hyper-v-on-windows/reference/tlfs).| -| CPU virtualization extensions|Extended page tables, also called _Second Level Address Translation (SLAT)_

                **AND**

                One of the following virtualization extensions for VBS:
                VT-x (Intel)
                **OR**
                AMD-V | +| 64-bit CPU|A 64-bit computer with minimum four cores (logical processors) is required for hypervisor and Virtualization-based security (VBS). For more info about Hyper-V, see [Hyper-V on Windows Server 2016](/windows-server/virtualization/hyper-v/hyper-v-on-windows-server) or [Introduction to Hyper-V on Windows 10](/virtualization/hyper-v-on-windows/about/). For more info about hypervisor, see [Hypervisor Specifications](/virtualization/hyper-v-on-windows/reference/tlfs).| +| CPU virtualization extensions|Extended page tables, also called _Second Level Address Translation (SLAT)_

                **AND**

                One of the following virtualization extensions for VBS:
                VT-x (Intel)
                **OR**
                AMD-V | | Hardware memory | Microsoft requires a minimum of 8-GB RAM | | Hard disk | 5-GB free space, solid state disk (SSD) recommended | | Input/Output Memory Management Unit (IOMMU) support| Not required, but recommended | @@ -38,4 +38,4 @@ Your environment must have the following hardware to run Microsoft Defender Appl |--------|-----------| | Operating system | Windows 10 Enterprise or Education editions, version 1809 or later
                Windows 10 Professional edition, version 1809 or later (only [standalone mode](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/install-md-app-guard#standalone-mode) is supported)
                Windows 11 Education or Enterprise editions
                Windows 11 Professional edition (only [Standalone mode](/windows/security/application-security/application-isolation/microsoft-defender-application-guard/install-md-app-guard#standalone-mode) is supported) | | Browser | Microsoft Edge | -| Management system
                (only for managed devices)| [Microsoft Intune](/intune/)

                **OR**

                [Microsoft Configuration Manager](/configmgr/)

                **OR**

                [Group Policy](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753298(v=ws.11))

                **OR**

                Your current, company-wide, non-Microsoft mobile device management (MDM) solution. For info about non-Microsoft MDM solutions, see the documentation that came with your product. | +| Management system
                (only for managed devices)| [Microsoft Intune](/intune/)

                **OR**

                [Microsoft Configuration Manager](/configmgr/)

                **OR**

                [Group Policy](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753298(v=ws.11))

                **OR**

                Your current, company-wide, non-Microsoft mobile device management (MDM) solution. For info about non-Microsoft MDM solutions, see the documentation that came with your product. | diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md index f63bfb9f1f..8e457f7603 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md @@ -2,7 +2,7 @@ title: Testing scenarios with Microsoft Defender Application Guard description: Suggested testing scenarios for Microsoft Defender Application Guard, showing how it works in both Standalone and Enterprise-managed mode. ms.localizationpriority: medium -ms.date: 12/12/2023 +ms.date: 07/11/2024 ms.topic: conceptual --- @@ -39,7 +39,7 @@ How to install, set up, turn on, and configure Application Guard for Enterprise- ### Install, set up, and turn on Application Guard -Before you can use Application Guard in managed mode, you must install Windows 10 Enterprise edition, version 1709, and Windows 11 which includes the functionality. Then, you must use Group Policy to set up the required settings. +Before you can use Application Guard in managed mode, you must install Windows 10 Enterprise edition, version 1709, and Windows 11, which includes the functionality. Then, you must use Group Policy to set up the required settings. 1. [Install Application Guard](install-md-app-guard.md#install-application-guard). @@ -207,7 +207,7 @@ You have the option to change each of these settings to work with your enterpris 3. Sign out and back in to your device, opening Microsoft Edge in Application Guard again. -4. Open an application with video or audio capability in Edge. +4. Open an application with video or audio capability in Microsoft Edge. 5. Check that the camera and microphone work as expected. @@ -223,7 +223,7 @@ You have the option to change each of these settings to work with your enterpris ## Application Guard Extension for third-party web browsers -The [Application Guard Extension](md-app-guard-browser-extension.md) available for Chrome and Firefox allows Application Guard to protect users even when they are running a web browser other than Microsoft Edge or Internet Explorer. +The [Application Guard Extension](md-app-guard-browser-extension.md) available for Chrome and Firefox allows Application Guard to protect users even when they're running a web browser other than Microsoft Edge or Internet Explorer. Once a user has the extension and its companion app installed on their enterprise device, you can run through the following scenarios. @@ -232,7 +232,7 @@ Once a user has the extension and its companion app installed on their enterpris 2. Navigate to an organizational website. In other words, an internal website maintained by your organization. You might see this evaluation page for an instant before the site is fully loaded. ![The evaluation page displayed while the page is being loaded, explaining that the user must wait.](images/app-guard-chrome-extension-evaluation-page.png) -3. Navigate to a non-enterprise, external website site, such as [www.bing.com](https://www.bing.com). The site should be redirected to Microsoft Defender Application Guard Edge. +3. Navigate to a nonenterprise, external website site, such as [www.bing.com](https://www.bing.com). The site should be redirected to Microsoft Defender Application Guard Edge. ![A non-enterprise website being redirected to an Application Guard container -- the text displayed explains that the page is being opened in Application Guard for Microsoft Edge.](images/app-guard-chrome-extension-launchIng-edge.png) 4. Open a new Application Guard window, by selecting the Microsoft Defender Application Guard icon, then **New Application Guard Window** diff --git a/windows/security/includes/mdag-edge-deprecation-notice.md b/windows/security/includes/mdag-edge-deprecation-notice.md index cf4028ac1c..c4e5f409eb 100644 --- a/windows/security/includes/mdag-edge-deprecation-notice.md +++ b/windows/security/includes/mdag-edge-deprecation-notice.md @@ -1,10 +1,10 @@ --- author: vinaypamnani-msft ms.author: vinpa -ms.date: 04/23/2024 +ms.date: 07/11/2024 ms.topic: include --- > [!NOTE] > - Microsoft Defender Application Guard, including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), will be deprecated for Microsoft Edge for Business and [will no longer be updated](/windows/whats-new/feature-lifecycle). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities. -> - Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding extensions and associated [Windows Store app](https://apps.microsoft.com/detail/9N8GNLC8Z9C8) will not be available after May 2024. This affects the following browsers: [*Application Guard Extension - Chrome*](https://chromewebstore.google.com/detail/application-guard-extensi/mfjnknhkkiafjajicegabkbimfhplplj) and [*Application Guard Extension - Firefox*](https://addons.mozilla.org/firefox/addon/application-guard-extension/). If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). \ No newline at end of file +> - Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding browser extensions and associated [Windows Store app](https://apps.microsoft.com/detail/9N8GNLC8Z9C8) will not be available after May 2024. If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). \ No newline at end of file From 54d1e68b88c58b36cda16851943074c306a5dc06 Mon Sep 17 00:00:00 2001 From: Jeff Borsecnik <123032460+American-Dipper@users.noreply.github.com> Date: Thu, 11 Jul 2024 10:00:29 -0700 Subject: [PATCH 232/354] Update enhanced-phishing-protection.md - Acrolinx fix --- .../enhanced-phishing-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md index b05b845919..ee7a31a01b 100644 --- a/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md +++ b/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/enhanced-phishing-protection.md @@ -19,7 +19,7 @@ If a user signs into Windows using a password, Enhanced Phishing Protection work - If users type their work or school password into a website or app that SmartScreen finds suspicious, Enhanced Phishing Protection can automatically collect information from that website or app to help identify security threats. For example, the content displayed, sounds played, and application memory. > [!NOTE] -> When a user signs-in to a device using a Windows Hello for Business PIN or biometric, Enhanced Phishing Protection does not alert the user or send events to [Microsoft Defender for Endpoint (MDE)](/microsoft-365/security/defender-endpoint/). +> When a user signs in to a device using a Windows Hello for Business PIN or biometric, Enhanced Phishing Protection does not alert the user or send events to [Microsoft Defender for Endpoint (MDE)](/microsoft-365/security/defender-endpoint/). ## Benefits of Enhanced Phishing Protection in Microsoft Defender SmartScreen From 78f6649dbbd9d4b092a90000f7e2b624714a177f Mon Sep 17 00:00:00 2001 From: "Steve DiAcetis (MSFT)" <52939067+SteveDiAcetis@users.noreply.github.com> Date: Thu, 11 Jul 2024 10:00:46 -0700 Subject: [PATCH 233/354] Update media-dynamic-update.md --- windows/deployment/update/media-dynamic-update.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/media-dynamic-update.md b/windows/deployment/update/media-dynamic-update.md index cab9d7dee8..699b798dbf 100644 --- a/windows/deployment/update/media-dynamic-update.md +++ b/windows/deployment/update/media-dynamic-update.md @@ -121,7 +121,7 @@ Optional Components, along with the .NET feature, can be installed offline, howe ### Checkpoint cumulative updates -Starting with Windows 11, version 24H2, the latest cumulative update may have a prerequisite cumulative update that is required to be installed first. These are known as checkpoint cumulative updates. In these cases, the cumulative update file level differentials are based on a previous cumulative update instead of the Windows RTM release. The benefit is a smaller update package and faster installation. +Starting with Windows 11, version 24H2, the latest cumulative update may have a prerequisite cumulative update that is required to be installed first. These are known as checkpoint cumulative updates. In these cases, the cumulative update file level differentials are based on a previous cumulative update instead of the Windows RTM release. The benefit is a smaller update package and faster installation. When you obtain the latest cumulative update from the [Microsoft Update Catalog](https://catalog.update.microsoft.com), checkpoint cumulative updates will be available from the download button. In addition, the knowledge base article for the cumulative update will provide additional information. To install the checkpoint(s) when servicing the Windows OS (steps 9 & 12) and WinPE (steps 17 & 23), call `Add-WindowsPackage` with the target cumulative update. The folder from `-PackagePath` will be used to discover and install one or more checkpoints as needed. Only the target cumulative update and checkpoint cumulative updates should be in the `-PackagePath` folder. Cumulative update packages with a revision <= the target cumulative update will be processed. If you are not customizing the image with additional languages and/or optional features, then separate calls to `Add-WindowsPackage` (checkpoint cumulative updates first) can be used for steps 9 & 17 above. Separate calls cannot be used for steps 12 and 23. From fb135f390739b2e68b904006018be7e6954f9e7d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:01:17 -0400 Subject: [PATCH 234/354] updates --- ...ide-entry-points-for-fast-user-switching.md | 18 ++++++++++++++++++ windows/configuration/start/policy-settings.md | 6 +++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md new file mode 100644 index 0000000000..32369ab006 --- /dev/null +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -0,0 +1,18 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 07/11/2024 +ms.topic: include +--- + +### Hide entry points for Fast User Switching + +With this policy setting you can hide the **Switch User** interface in the Logon UI, the Start menu and the Task Manager: + +- If you enable this policy setting, the Switch User interface is hidden from the user who is attempting to log on or is logged on to the computer that has this policy applied +- If you disable or do not configure this policy setting, the Switch User interface is accessible to the user in the three locations + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/Policy/Config/WindowsLogon/`[HideFastUserSwitching](/windows/client-management/mdm/policy-csp-windowslogon#hidefastuserswitching) | +| **GPO** | **User Configuration** > **Administrative Templates** > **Logon** > **Hide entry points for Fast User Switching** | diff --git a/windows/configuration/start/policy-settings.md b/windows/configuration/start/policy-settings.md index b9a8351ca5..7a84522c4a 100644 --- a/windows/configuration/start/policy-settings.md +++ b/windows/configuration/start/policy-settings.md @@ -148,6 +148,7 @@ Select one of the tabs to see the list of available settings: |[Hide **Lock**](#hide-lock)|✅|❌| |[Hide **Sign out**](#hide-sign-out)|✅|✅| |[Hide **Switch account**](#hide-switch-account)|✅|❌| +|[Hide entry points for Fast User Switching](#hide-entry-points-for-fast-user-switching)|✅|✅| |[Hide user tile](#hide-user-tile)|✅|❌| ::: zone-end @@ -159,7 +160,10 @@ Select one of the tabs to see the list of available settings: [!INCLUDE [hide-signout](includes/hide-signout.md)] [!INCLUDE [hide-switch-user](includes/hide-switch-account.md)] -[!INCLUDE [hide-switch-user](includes/hide-user-tile.md)] +::: zone pivot="windows-10" +[!INCLUDE [hide-lock](includes/hide-entry-points-for-fast-user-switching.md)] +::: zone-end +[!INCLUDE [hide-user-tile](includes/hide-user-tile.md)] #### [:::image type="icon" source="../images/icons/folder.svg"::: **Pinned folders**](#tab/folders) From 569105a82dbacc043628c25c38df225e20930e01 Mon Sep 17 00:00:00 2001 From: Jeff Borsecnik <123032460+American-Dipper@users.noreply.github.com> Date: Thu, 11 Jul 2024 10:01:32 -0700 Subject: [PATCH 235/354] Update protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md - Acrolinx fix --- ...ets-by-controlling-the-health-of-windows-10-based-devices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md b/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md index 7cad827253..1c997805c4 100644 --- a/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md +++ b/windows/security/operating-system-security/system-security/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices.md @@ -329,7 +329,7 @@ The following table details the hardware requirements for both Virtualization-ba |IOMMU, such as Intel VT-d, AMD-Vi|Support for the IOMMU in Windows enhances system resiliency against DMA attacks.| |Trusted Platform Module (TPM)|Required to support health attestation and necessary for other key protections for Virtualization-based security. TPM 2.0 is supported. Support for TPM 1.2 was added beginning in Windows 10, version 1607 (RS1)| -This section presented information about several closely related controls in Windows . The multi-layer defenses and in-depth approach help to eradicate low-level malware during boot sequence. Virtualization-based security is a fundamental operating system architecture change that adds a new security boundary. Device Guard and Credential Guard respectively help to block untrusted code and protect corporate domain credentials from theft and reuse. This section also briefly discussed the importance of managing devices and patching vulnerabilities. All these technologies can be used to harden and lock down devices while limiting the risk of attackers compromising them. +This section presented information about several closely related controls in Windows. The multi-layer defenses and in-depth approach help to eradicate low-level malware during boot sequence. Virtualization-based security is a fundamental operating system architecture change that adds a new security boundary. Device Guard and Credential Guard respectively help to block untrusted code and protect corporate domain credentials from theft and reuse. This section also briefly discussed the importance of managing devices and patching vulnerabilities. All these technologies can be used to harden and lock down devices while limiting the risk of attackers compromising them. ## Detect an unhealthy Windows-based device From 1a80e0696441b0de85b5a783965bd28211f171f3 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Thu, 11 Jul 2024 11:07:13 -0600 Subject: [PATCH 236/354] Update note --- windows/security/includes/mdag-edge-deprecation-notice.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/includes/mdag-edge-deprecation-notice.md b/windows/security/includes/mdag-edge-deprecation-notice.md index c4e5f409eb..150cffe43f 100644 --- a/windows/security/includes/mdag-edge-deprecation-notice.md +++ b/windows/security/includes/mdag-edge-deprecation-notice.md @@ -7,4 +7,4 @@ ms.topic: include > [!NOTE] > - Microsoft Defender Application Guard, including the [Windows Isolated App Launcher APIs](/windows/win32/api/isolatedapplauncher/), will be deprecated for Microsoft Edge for Business and [will no longer be updated](/windows/whats-new/feature-lifecycle). Please download the [Microsoft Edge For Business Security Whitepaper](https://edgestatic.azureedge.net/shared/cms/pdfs/Microsoft_Edge_Security_Whitepaper_v2.pdf) to learn more about Edge for Business security capabilities. -> - Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding browser extensions and associated [Windows Store app](https://apps.microsoft.com/detail/9N8GNLC8Z9C8) will not be available after May 2024. If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). \ No newline at end of file +> - Because Application Guard is deprecated there will not be a migration to Edge Manifest V3. The corresponding browser extensions and associated Windows Store app are no longer available. If you want to block unprotected browsers until you are ready to retire MDAG usage in your enterprise, we recommend using AppLocker policies or [Microsoft Edge management service](/deployedge/microsoft-edge-management-service). For more information, see [Microsoft Edge and Microsoft Defender Application Guard](/deployedge/microsoft-edge-security-windows-defender-application-guard). \ No newline at end of file From abd0adf750c465154092a350ac03994f606dbce4 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:09:31 -0400 Subject: [PATCH 237/354] chore: Update wording in hide-entry-points-for-fast-user-switching.md --- .../includes/hide-entry-points-for-fast-user-switching.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md index 32369ab006..720fd5d721 100644 --- a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -7,10 +7,10 @@ ms.topic: include ### Hide entry points for Fast User Switching -With this policy setting you can hide the **Switch User** interface in the Logon UI, the Start menu and the Task Manager: +With this policy setting you can hide the **Switch User** interface from the sign in screen, the Start menu, and the Task Manager: -- If you enable this policy setting, the Switch User interface is hidden from the user who is attempting to log on or is logged on to the computer that has this policy applied -- If you disable or do not configure this policy setting, the Switch User interface is accessible to the user in the three locations +- If enabled, the **Switch User** option is hidden +- If disabled or not configured, the **Switch User** option is available to the user in the three locations | | Path | |--|--| From 91ae797ae8c766f1ab0e3f51f28a8dc992147f9e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:45:28 -0400 Subject: [PATCH 238/354] chore: Update wording in hide-entry-points-for-fast-user-switching.md --- .../includes/hide-entry-points-for-fast-user-switching.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md index 720fd5d721..807451ecc4 100644 --- a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -10,9 +10,11 @@ ms.topic: include With this policy setting you can hide the **Switch User** interface from the sign in screen, the Start menu, and the Task Manager: - If enabled, the **Switch User** option is hidden -- If disabled or not configured, the **Switch User** option is available to the user in the three locations +- If disabled or not configured, the **Switch User** option is available to the user in the sign in screen, the Start menu, and the Task Manager | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/Policy/Config/WindowsLogon/`[HideFastUserSwitching](/windows/client-management/mdm/policy-csp-windowslogon#hidefastuserswitching) | | **GPO** | **User Configuration** > **Administrative Templates** > **Logon** > **Hide entry points for Fast User Switching** | + +To learn more, see [Fast User Switching](/windows/win32/shell/fast-user-switching). From 730760c67cc48be893f6bfa7e1e2ca89b3ced41e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 11 Jul 2024 17:21:55 -0400 Subject: [PATCH 239/354] update --- .../includes/hide-entry-points-for-fast-user-switching.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md index 807451ecc4..412516a39f 100644 --- a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -7,10 +7,10 @@ ms.topic: include ### Hide entry points for Fast User Switching -With this policy setting you can hide the **Switch User** interface from the sign in screen, the Start menu, and the Task Manager: +With this policy setting you can hide the list of user accounts from the sign in screen, the Start menu, and the Task Manager: -- If enabled, the **Switch User** option is hidden -- If disabled or not configured, the **Switch User** option is available to the user in the sign in screen, the Start menu, and the Task Manager +- If enabled, the list of signed in users is hidden +- If disabled or not configured, the list of currently signed in users is available in the sign in screen, the Start menu, and the Task Manager | | Path | |--|--| From d11d590f4668d92a007f44b4fbf18ac5d0febfbb Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:04:49 -0700 Subject: [PATCH 240/354] remove essentials-overview --- windows/deployment/do/waas-delivery-optimization.md | 5 ++--- .../windows-autopatch/overview/windows-autopatch-overview.md | 3 +-- .../windows-defender-application-control/wdac.md | 3 --- windows/security/introduction.md | 1 - 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization.md b/windows/deployment/do/waas-delivery-optimization.md index 10e0059d41..133945930d 100644 --- a/windows/deployment/do/waas-delivery-optimization.md +++ b/windows/deployment/do/waas-delivery-optimization.md @@ -11,11 +11,10 @@ ms.reviewer: mstewart ms.collection: - tier3 - highpri - - essentials-overview ms.localizationpriority: medium -appliesto: +appliesto: - ✅ Windows 11 -- ✅ Windows 10 +- ✅ Windows 10 ms.date: 05/23/2024 --- diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md index f5f9d6ac76..f8f71f9db2 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-overview.md @@ -4,7 +4,7 @@ description: Details what the service is and shortcuts to articles. ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: overview ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan @@ -12,7 +12,6 @@ manager: aaroncz ms.collection: - highpri - tier1 - - essentials-overview ms.reviewer: hathind --- diff --git a/windows/security/application-security/application-control/windows-defender-application-control/wdac.md b/windows/security/application-security/application-control/windows-defender-application-control/wdac.md index f35be85ec0..2d0145d3bc 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/wdac.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/wdac.md @@ -4,9 +4,6 @@ description: Application Control restricts which applications users are allowed ms.localizationpriority: medium ms.collection: - tier3 -- must-keep -- essentials-navigation -- essentials-overview ms.date: 08/30/2023 ms.topic: overview --- diff --git a/windows/security/introduction.md b/windows/security/introduction.md index 7b90b57e21..073a4309b9 100644 --- a/windows/security/introduction.md +++ b/windows/security/introduction.md @@ -6,7 +6,6 @@ ms.topic: tutorial ms.author: paoloma ms.collection: - essentials-security - - essentials-overview content_well_notification: - AI-contribution author: paolomatarazzo From 2bf1e76a2e66999da2eb46399288f605ceeddce2 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:05:00 -0700 Subject: [PATCH 241/354] remove essentials-navigation --- education/windows/index.yml | 1 - windows/deployment/do/index.yml | 11 +++++------ windows/deployment/windows-autopatch/index.yml | 1 - windows/security/index.yml | 1 - 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/education/windows/index.yml b/education/windows/index.yml index ac12ab0836..0cd20e659d 100644 --- a/education/windows/index.yml +++ b/education/windows/index.yml @@ -9,7 +9,6 @@ metadata: ms.collection: - education - tier1 - - essentials-navigation author: paolomatarazzo ms.author: paoloma manager: aaroncz diff --git a/windows/deployment/do/index.yml b/windows/deployment/do/index.yml index d4f3409ae7..d8717e04d8 100644 --- a/windows/deployment/do/index.yml +++ b/windows/deployment/do/index.yml @@ -12,13 +12,12 @@ metadata: ms.collection: - highpri - tier3 - - essentials-navigation author: aczechowski ms.author: aaroncz manager: aaroncz ms.date: 12/22/2023 #Required; mm/dd/yyyy format. localization_priority: medium - + # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new landingContent: @@ -61,8 +60,8 @@ landingContent: - text: Optimize Windows 10 or later update delivery with Configuration Manager url: /mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery#windows-delivery-optimization - text: Delivery Optimization settings in Microsoft Intune - url: /mem/intune/configuration/delivery-optimization-windows - + url: /mem/intune/configuration/delivery-optimization-windows + # Card - title: Microsoft Connected Cache (MCC) for Enterprise and Education linkLists: @@ -71,7 +70,7 @@ landingContent: - text: MCC for Enterprise and Education (early preview) url: waas-microsoft-connected-cache.md - text: Sign up - url: https://aka.ms/MSConnectedCacheSignup + url: https://aka.ms/MSConnectedCacheSignup # Card - title: Microsoft Connected Cache (MCC) for Internet Service Providers (ISPs) @@ -84,7 +83,7 @@ landingContent: url: https://aka.ms/MCCForISPSurvey - text: MCC for ISPs (early preview) url: mcc-isp.md - + # Card (optional) - title: Resources diff --git a/windows/deployment/windows-autopatch/index.yml b/windows/deployment/windows-autopatch/index.yml index 2c2a7c6642..3385e19bee 100644 --- a/windows/deployment/windows-autopatch/index.yml +++ b/windows/deployment/windows-autopatch/index.yml @@ -17,7 +17,6 @@ metadata: ms.collection: - highpri - tier2 - - essentials-navigation # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | sample | tutorial | video | whats-new diff --git a/windows/security/index.yml b/windows/security/index.yml index afb32d0f77..9553388f93 100644 --- a/windows/security/index.yml +++ b/windows/security/index.yml @@ -7,7 +7,6 @@ metadata: ms.topic: landing-page ms.collection: - tier1 - - essentials-navigation author: paolomatarazzo ms.author: paoloma manager: aaroncz From 73cb07bebf5e3035f8d554c290c603c486a53dd1 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:06:50 -0700 Subject: [PATCH 242/354] remove essentials accountability tags --- .../deployment/do/delivery-optimization-workflow.md | 12 +++++------- .../overview/windows-autopatch-privacy.md | 1 - 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-workflow.md b/windows/deployment/do/delivery-optimization-workflow.md index 9635f725c9..1f89eca0a6 100644 --- a/windows/deployment/do/delivery-optimization-workflow.md +++ b/windows/deployment/do/delivery-optimization-workflow.md @@ -8,15 +8,13 @@ author: cmknox ms.author: carmenf manager: aaroncz ms.reviewer: mstewart -ms.collection: +ms.collection: - tier3 - - essentials-privacy - - essentials-security ms.localizationpriority: medium -appliesto: +appliesto: - ✅ Windows 11 - ✅ Windows 10 -- ✅ Delivery Optimization +- ✅ Delivery Optimization ms.date: 05/23/2024 --- @@ -30,7 +28,7 @@ Delivery Optimization can't be used to download or send personal content. Delive Delivery Optimization downloads the same updates and apps that you would get through [Windows Update](../update/windows-update-security.md), Microsoft Store apps, and other Microsoft updates using the same security measures. To make sure you're getting authentic updates, Delivery Optimization gets information securely from Microsoft to check the authenticity of each part of an update or app that it downloads from other PCs. The authenticity of the downloads is checked again before installing it. -## Download request workflow +## Download request workflow This workflow allows Delivery Optimization to securely and efficiently deliver requested content to the calling device and explains client-service communication. Delivery Optimization uses content metadata to verify the content and to determine all available locations to pull content from. @@ -50,4 +48,4 @@ This workflow allows Delivery Optimization to securely and efficiently deliver r | cp\*.prod.do.dsp.mp.microsoft.com
                | 443 | Content Policy | Provides content specific policies and as content metadata URLs. | **Profile**: The device type (for example, PC or Xbox)
                **ContentId**: The content identifier
                **doClientVersion**: The version of the DoSvc client
                **countryCode**: The country the client is connected from
                **altCatalogID**: If ContentID isn't available, use the download URL instead
                **eID**: Client grouping ID
                **CacheHost**: Cache host ID | | disc\*.prod.do.dsp.mp.microsoft.com | 443 | Discovery | Directs clients to a particular instance of the peer matching service (Array), ensuing that clients are collocated by factors, such as content, groupID and external IP. | **Profile**: The device type (for example, PC or Xbox)
                **ContentID**: The content identifier
                **doClientVersion**: The version of the DoSvc client
                **partitionID**: Client partitioning hint
                **altCatalogID**: If ContentID isn't available, use the download URL instead
                **eID**: Client grouping ID | | array\*.prod.do.dsp.mp.microsoft.com | 443 | Arrays | Provides the client with list of peers that have the same content and belong to the same peer group. | **Profile**: The device type (for example, PC or Xbox)
                **ContentID**: The content identifier
                **doClientVersion**: The version of the DoSvc client
                **altCatalogID**: If ContentID isn't available, use the download URL instead
                **PeerID**: Identity of the device running DO client
                **ReportedIp**: The internal / private IP Address
                **IsBackground**: Is the download interactive or background
                **Uploaded**: Total bytes uploaded to peers
                **Downloaded**: Total bytes downloaded from peers
                **DownloadedCdn**: Total bytes downloaded from CDN
                **Left**: Bytes left to download
                **Peers Wanted**: Total number of peers wanted
                **Group ID**: Group the device belongs to (set via DownloadMode 2 + Group ID GP / MDM policies)
                **Scope**: The Download mode
                **UploadedBPS**: The upload speed in bytes per second
                **DownloadBPS**: The download speed in Bytes per second
                **eID**: Client grouping ID | -| dl.delivery.mp.microsoft.com
                download.windowsupdate.com | 80 | Delivery Optimization metadata file hosting | CDN hostnames for Delivery Optimization content metadata files | Metadata download can come from different hostnames, but it's required for peer to peer. | +| dl.delivery.mp.microsoft.com
                download.windowsupdate.com | 80 | Delivery Optimization metadata file hosting | CDN hostnames for Delivery Optimization content metadata files | Metadata download can come from different hostnames, but it's required for peer to peer. | diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md index 5b74de7688..c2aadef998 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md @@ -13,7 +13,6 @@ ms.reviewer: hathind ms.collection: - highpri - tier1 - - essentials-privacy --- # Privacy From 8b74ed138a34c9ad40cacac197577e3e486c7c3d Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:07:39 -0700 Subject: [PATCH 243/354] remove essentials-get-started --- windows/deployment/do/waas-delivery-optimization-setup.md | 1 - .../overview/windows-autopatch-deployment-guide.md | 1 - .../deployment/wdac-deployment-guide.md | 3 +-- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-setup.md b/windows/deployment/do/waas-delivery-optimization-setup.md index 0a8cced507..93e5197724 100644 --- a/windows/deployment/do/waas-delivery-optimization-setup.md +++ b/windows/deployment/do/waas-delivery-optimization-setup.md @@ -10,7 +10,6 @@ ms.reviewer: mstewart manager: aaroncz ms.collection: - tier3 - - essentials-get-started ms.localizationpriority: medium appliesto: - ✅ Windows 11 diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md index df3a6cd77d..a44081d038 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md @@ -12,7 +12,6 @@ manager: aaroncz ms.reviewer: hathind ms.collection: - tier2 - - essentials-get-started --- # Windows Autopatch deployment guide diff --git a/windows/security/application-security/application-control/windows-defender-application-control/deployment/wdac-deployment-guide.md b/windows/security/application-security/application-control/windows-defender-application-control/deployment/wdac-deployment-guide.md index 21442ea394..46d07c19a7 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/deployment/wdac-deployment-guide.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/deployment/wdac-deployment-guide.md @@ -4,7 +4,6 @@ description: Learn how to plan and implement a WDAC deployment. ms.localizationpriority: medium ms.date: 01/23/2023 ms.topic: overview -ms.collection: essentials-get-started --- # Deploying Windows Defender Application Control (WDAC) policies @@ -31,7 +30,7 @@ Before you deploy your WDAC policies, you must first convert the XML to its bina { $PolicyBinary = "SiPolicy.p7b" } - + ## Binary file will be written to your desktop ConvertFrom-CIPolicy -XmlFilePath $WDACPolicyXMLFile -BinaryFilePath $env:USERPROFILE\Desktop\$PolicyBinary ``` From 77f3216934c59c1c797c319b09699f53233449a5 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:09:15 -0700 Subject: [PATCH 244/354] remove essentials-manage --- windows/deployment/do/waas-delivery-optimization-monitor.md | 5 ++--- .../operate/windows-autopatch-groups-update-management.md | 1 - .../operate/windows-autopatch-maintain-environment.md | 1 - .../windows-autopatch-policy-health-and-remediation.md | 1 - .../operations/wdac-operational-guide.md | 1 - 5 files changed, 2 insertions(+), 7 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-monitor.md b/windows/deployment/do/waas-delivery-optimization-monitor.md index 6c30ab2dc4..ed6710932b 100644 --- a/windows/deployment/do/waas-delivery-optimization-monitor.md +++ b/windows/deployment/do/waas-delivery-optimization-monitor.md @@ -10,11 +10,10 @@ manager: aaroncz ms.reviewer: mstewart ms.collection: - tier3 - - essentials-manage ms.localizationpriority: medium -appliesto: +appliesto: - ✅ Windows 11 -- ✅ Windows 10 +- ✅ Windows 10 - ✅ Delivery Optimization ms.date: 05/23/2024 --- diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md index ee20c918b3..1a03d4c08b 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md @@ -13,7 +13,6 @@ ms.reviewer: andredm7 ms.collection: - highpri - tier1 - - essentials-manage --- # Software update management diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md index 0b6c9d7421..6273ceb86d 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md @@ -13,7 +13,6 @@ ms.reviewer: smithcharles ms.collection: - highpri - tier1 - - essentials-manage --- # Maintain the Windows Autopatch environment diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md index 54d541524e..16dd0cc679 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md @@ -13,7 +13,6 @@ ms.reviewer: rekhanr ms.collection: - highpri - tier1 - - essentials-manage --- # Policy health and remediation diff --git a/windows/security/application-security/application-control/windows-defender-application-control/operations/wdac-operational-guide.md b/windows/security/application-security/application-control/windows-defender-application-control/operations/wdac-operational-guide.md index 81a98c78ca..71c48fb256 100644 --- a/windows/security/application-security/application-control/windows-defender-application-control/operations/wdac-operational-guide.md +++ b/windows/security/application-security/application-control/windows-defender-application-control/operations/wdac-operational-guide.md @@ -4,7 +4,6 @@ description: Gather information about how your deployed Windows Defender Applica ms.localizationpriority: medium ms.date: 03/30/2023 ms.topic: how-to -ms.collection: essentials-manage --- # Windows Defender Application Control operational guide From 9f331ad29a241262cfcb2ede014dbd1cb2de837b Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:15:55 -0700 Subject: [PATCH 245/354] add essentials-manage --- .../client-tools/administrative-tools-in-windows.md | 2 ++ windows/client-management/index.yml | 1 + windows/client-management/mdm-overview.md | 1 + windows/configuration/start/index.md | 2 ++ windows/configuration/taskbar/index.md | 2 ++ 5 files changed, 8 insertions(+) diff --git a/windows/client-management/client-tools/administrative-tools-in-windows.md b/windows/client-management/client-tools/administrative-tools-in-windows.md index 63b3fbd65c..785eb740cc 100644 --- a/windows/client-management/client-tools/administrative-tools-in-windows.md +++ b/windows/client-management/client-tools/administrative-tools-in-windows.md @@ -4,6 +4,8 @@ description: The folders for Windows Tools and Administrative Tools are folders ms.date: 07/01/2024 ms.topic: conceptual zone_pivot_groups: windows-versions-11-10 +ms.collection: +- essentials-manage --- # Windows Tools diff --git a/windows/client-management/index.yml b/windows/client-management/index.yml index 184e34da03..4cee76e2bb 100644 --- a/windows/client-management/index.yml +++ b/windows/client-management/index.yml @@ -10,6 +10,7 @@ metadata: ms.collection: - highpri - tier1 + - essentials-manage author: vinaypamnani-msft ms.author: vinpa manager: aaroncz diff --git a/windows/client-management/mdm-overview.md b/windows/client-management/mdm-overview.md index 7be2352c9b..1db4cb2fee 100644 --- a/windows/client-management/mdm-overview.md +++ b/windows/client-management/mdm-overview.md @@ -7,6 +7,7 @@ ms.localizationpriority: medium ms.collection: - highpri - tier2 +- essentials-manage --- # Mobile Device Management overview diff --git a/windows/configuration/start/index.md b/windows/configuration/start/index.md index c78ef0401d..0627e33663 100644 --- a/windows/configuration/start/index.md +++ b/windows/configuration/start/index.md @@ -4,6 +4,8 @@ description: Learn how to configure the Windows Start menu to provide quick acce ms.topic: overview ms.date: 04/10/2024 zone_pivot_groups: windows-versions-11-10 +ms.collection: +- essentials-manage appliesto: --- diff --git a/windows/configuration/taskbar/index.md b/windows/configuration/taskbar/index.md index 68edd41929..6ef2fe06f6 100644 --- a/windows/configuration/taskbar/index.md +++ b/windows/configuration/taskbar/index.md @@ -3,6 +3,8 @@ title: Configure the Windows taskbar description: Learn how to configure the Windows taskbar to provide quick access to the tools and applications that users need most. ms.topic: how-to ms.date: 04/17/2024 +ms.collection: +- essentials-manage appliesto: zone_pivot_groups: windows-versions-11-10 --- From 3288894552c9af09566cfad6a39e781c6d16938a Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 11 Jul 2024 16:22:19 -0700 Subject: [PATCH 246/354] update hub page --- windows/hub/index.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/windows/hub/index.yml b/windows/hub/index.yml index 6bed7b9fcc..48104903e4 100644 --- a/windows/hub/index.yml +++ b/windows/hub/index.yml @@ -15,7 +15,7 @@ metadata: author: paolomatarazzo ms.author: paoloma manager: aaroncz - ms.date: 04/25/2024 + ms.date: 07/11/2024 highlightedContent: items: @@ -34,9 +34,9 @@ highlightedContent: - title: Windows commercial licensing itemType: overview url: /windows/whats-new/windows-licensing - - title: Copilot in Windows + - title: Manage Recall itemType: how-to-guide - url: /windows/client-management/manage-windows-copilot + url: /windows/client-management/manage-recall - title: Windows 365 documentation itemType: overview url: /windows-365 @@ -55,10 +55,10 @@ productDirectory: - title: Learn how to deploy Windows imageSrc: /media/common/i_deploy.svg links: - - url: /mem/autopilot/ - text: Windows Autopilot overview - - url: /mem/autopilot/tutorial/autopilot-scenarios - text: "Tutorial: Windows Autopilot scenarios" + - url: /autopilot/ + text: Windows Autopilot + - url: /autopilot/device-preparation/compare + text: Compare Windows Autopilot solutions - url: /windows/deployment/do/ text: Delivery optimization - url: /windows/deployment/update/deployment-service-overview @@ -109,8 +109,8 @@ productDirectory: text: Configuration Service Provider (CSP) - url: /windows/client-management/administrative-tools-in-windows-10 text: Windows administrative tools - - url: /windows/client-management/manage-windows-copilot - text: Manage Copilot in Windows + - url: /windows/client-management/manage-recall + text: Manage Recall - url: /windows/application-management/index text: Learn more about application management > - url: /windows/client-management From 3103b7c5beca03e347afd82b52cde2a1b9142e1f Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 12 Jul 2024 10:50:44 -0400 Subject: [PATCH 247/354] chore: Update wording in hide-entry-points-for-fast-user-switching.md --- .../includes/hide-entry-points-for-fast-user-switching.md | 8 ++++---- .../{hide-switch-account.md => hide-switch-user.md} | 7 ++++++- windows/configuration/start/policy-settings.md | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) rename windows/configuration/start/includes/{hide-switch-account.md => hide-switch-user.md} (53%) diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md index 412516a39f..7510bc272f 100644 --- a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -7,14 +7,14 @@ ms.topic: include ### Hide entry points for Fast User Switching -With this policy setting you can hide the list of user accounts from the sign in screen, the Start menu, and the Task Manager: +With this policy setting you can prevent multiple users to sign in at the same time, using the Fast User Switching feature. -- If enabled, the list of signed in users is hidden -- If disabled or not configured, the list of currently signed in users is available in the sign in screen, the Start menu, and the Task Manager +- If enabled, only one user can sign in at a time. The list of local users and currently signed in users is hidden from the sign in screen, the Start menu, and the Task Manager. If multiple users want to sign in, the current user must sign out first +- If disabled or not configured, multiple users can sign in at the same time. The list of local users and currently signed in users is available in the sign in screen, the Start menu, and the Task Manager. The current user doesn't have to sign out to allow another user to sign in | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/Policy/Config/WindowsLogon/`[HideFastUserSwitching](/windows/client-management/mdm/policy-csp-windowslogon#hidefastuserswitching) | -| **GPO** | **User Configuration** > **Administrative Templates** > **Logon** > **Hide entry points for Fast User Switching** | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **System** > **Logon** > **Hide entry points for Fast User Switching** | To learn more, see [Fast User Switching](/windows/win32/shell/fast-user-switching). diff --git a/windows/configuration/start/includes/hide-switch-account.md b/windows/configuration/start/includes/hide-switch-user.md similarity index 53% rename from windows/configuration/start/includes/hide-switch-account.md rename to windows/configuration/start/includes/hide-switch-user.md index 5bbe1c5e7a..49188235e2 100644 --- a/windows/configuration/start/includes/hide-switch-account.md +++ b/windows/configuration/start/includes/hide-switch-user.md @@ -5,7 +5,12 @@ ms.date: 04/10/2024 ms.topic: include --- -### Hide Switch account +### Hide Switch user + +With this policy setting you can hide the **Switch user** option from the user tile in the start menu: + +- If enabled, the **Switch user** option is hidden +- If disabled or not configured, the **Switch user** option is available | | Path | |--|--| diff --git a/windows/configuration/start/policy-settings.md b/windows/configuration/start/policy-settings.md index 7a84522c4a..fb6ea5fa62 100644 --- a/windows/configuration/start/policy-settings.md +++ b/windows/configuration/start/policy-settings.md @@ -137,7 +137,7 @@ Select one of the tabs to see the list of available settings: |-|-|-| |[Hide **Change account settings**](#hide-change-account-settings)|✅|❌| |[Hide **Sign out**](#hide-sign-out)|✅|✅| -|[Hide **Switch account**](#hide-switch-account)|✅|❌| +|[Hide **Switch user**](#hide-switch-user)|✅|❌| |[Hide user tile](#hide-user-tile)|✅|❌| ::: zone-end @@ -147,7 +147,7 @@ Select one of the tabs to see the list of available settings: |[Hide **Change account settings**](#hide-change-account-settings)|✅|❌| |[Hide **Lock**](#hide-lock)|✅|❌| |[Hide **Sign out**](#hide-sign-out)|✅|✅| -|[Hide **Switch account**](#hide-switch-account)|✅|❌| +|[Hide **Switch user**](#hide-switch-user)|✅|❌| |[Hide entry points for Fast User Switching](#hide-entry-points-for-fast-user-switching)|✅|✅| |[Hide user tile](#hide-user-tile)|✅|❌| ::: zone-end @@ -159,7 +159,7 @@ Select one of the tabs to see the list of available settings: ::: zone-end [!INCLUDE [hide-signout](includes/hide-signout.md)] -[!INCLUDE [hide-switch-user](includes/hide-switch-account.md)] +[!INCLUDE [hide-switch-user](includes/hide-switch-user.md)] ::: zone pivot="windows-10" [!INCLUDE [hide-lock](includes/hide-entry-points-for-fast-user-switching.md)] ::: zone-end From 767d4a34f13c414fd7aa92f720f99a3632c87c6a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 12 Jul 2024 10:53:08 -0400 Subject: [PATCH 248/354] chore: Hide entry points for Fast User Switching --- windows/configuration/start/policy-settings.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/configuration/start/policy-settings.md b/windows/configuration/start/policy-settings.md index fb6ea5fa62..5d0b4b6bf0 100644 --- a/windows/configuration/start/policy-settings.md +++ b/windows/configuration/start/policy-settings.md @@ -138,6 +138,7 @@ Select one of the tabs to see the list of available settings: |[Hide **Change account settings**](#hide-change-account-settings)|✅|❌| |[Hide **Sign out**](#hide-sign-out)|✅|✅| |[Hide **Switch user**](#hide-switch-user)|✅|❌| +|[Hide entry points for Fast User Switching](#hide-entry-points-for-fast-user-switching)|✅|✅| |[Hide user tile](#hide-user-tile)|✅|❌| ::: zone-end @@ -160,9 +161,7 @@ Select one of the tabs to see the list of available settings: [!INCLUDE [hide-signout](includes/hide-signout.md)] [!INCLUDE [hide-switch-user](includes/hide-switch-user.md)] -::: zone pivot="windows-10" [!INCLUDE [hide-lock](includes/hide-entry-points-for-fast-user-switching.md)] -::: zone-end [!INCLUDE [hide-user-tile](includes/hide-user-tile.md)] #### [:::image type="icon" source="../images/icons/folder.svg"::: **Pinned folders**](#tab/folders) From b14ef2b4bb9f5bc975145c730ab0c2cef4e5ed8b Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 12 Jul 2024 10:08:34 -0700 Subject: [PATCH 249/354] update tiles --- windows/hub/index.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/windows/hub/index.yml b/windows/hub/index.yml index 48104903e4..95d49b10a7 100644 --- a/windows/hub/index.yml +++ b/windows/hub/index.yml @@ -34,19 +34,15 @@ highlightedContent: - title: Windows commercial licensing itemType: overview url: /windows/whats-new/windows-licensing - - title: Manage Recall - itemType: how-to-guide - url: /windows/client-management/manage-recall - title: Windows 365 documentation itemType: overview url: /windows-365 - title: Explore all Windows trainings and learning paths for IT pros itemType: learn url: https://learn.microsoft.com/en-us/training/browse/?products=windows&roles=administrator - -# - title: Enroll Windows client devices in Microsoft Intune -# itemType: how-to-guide -# url: /mem/intune/fundamentals/deployment-guide-enrollment-windows + - title: Enroll Windows client devices in Microsoft Intune + itemType: how-to-guide + url: /mem/intune/fundamentals/deployment-guide-enrollment-windows productDirectory: title: Get started @@ -103,14 +99,14 @@ productDirectory: - title: Learn how to manage Windows imageSrc: /media/common/i_management.svg links: + - url: /windows/client-management/administrative-tools-in-windows-10 + text: Windows administrative tools + - url: /windows/client-management/client-tools/windows-version-search + text: What version of Windows am I running? - url: /windows/client-management/mobile-device-enrollment text: MDM enrollment - url: /windows/client-management/mdm/ - text: Configuration Service Provider (CSP) - - url: /windows/client-management/administrative-tools-in-windows-10 - text: Windows administrative tools - - url: /windows/client-management/manage-recall - text: Manage Recall + text: Configuration Service Provider (CSP) reference - url: /windows/application-management/index text: Learn more about application management > - url: /windows/client-management From ac8c7ed3004d271751e591acd289b1eae43f1805 Mon Sep 17 00:00:00 2001 From: Nazmus Sakib Date: Fri, 12 Jul 2024 14:26:09 -0700 Subject: [PATCH 250/354] Update microsoft-pluton-security-processor.md Update based on leadership\reported feedback to add value prop and scenario example. Also updates availability information --- .../microsoft-pluton-security-processor.md | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index 66feedfe73..fcb2561271 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -9,7 +9,7 @@ ms.date: 07/10/2024 Microsoft Pluton security processor is a chip-to-cloud security technology built with [Zero Trust](/security/zero-trust/zero-trust-overview) principles at the core. Microsoft Pluton provides hardware-based root of trust, secure identity, secure attestation, and cryptographic services. Pluton technology is a combination of a secure subsystem, which is part of the System on Chip (SoC) and Microsoft authored software that runs on this integrated secure subsystem. -Microsoft Pluton is currently available on devices with Ryzen 6000 and Qualcomm Snapdragon® 8cx Gen 3 series processors. Microsoft Pluton can be enabled on devices with Pluton capable processors running Windows 11, version 22H2. +Microsoft Pluton is currently available on devices with AMD Ryzen® 6000, 7000, 8000, Ryzen AI and Qualcomm Snapdragon® 8cx Gen 3 and Snapdragon X series processors. Microsoft Pluton can be enabled on devices with Pluton capable processors running Windows 11, version 22H2 and above. ## What is Microsoft Pluton? @@ -19,6 +19,24 @@ Microsoft Pluton is designed to provide the functionality of the Trusted Platfor Pluton is built on proven technology used in Xbox and Azure Sphere, and provides hardened integrated security capabilities to Windows 11 devices in collaboration with leading silicon partners. For more information, see [Meet the Microsoft Pluton processor – The security chip designed for the future of Windows PCs](https://www.microsoft.com/security/blog/2020/11/17/meet-the-microsoft-pluton-processor-the-security-chip-designed-for-the-future-of-windows-pcs/). +## How can Pluton help customers? + +Pluton is built with the goal of providing customers with better end-to-end security experiences. It does so by doing three things: +1) **Zero-trust security and reliability**: customer security scenarios often span devices and cloud services. Windows PCs and services like Microsoft Entra and Intune need to work harmoniously together to provide frictionless security. Pluton is designed, built and maintained in close collaboration with teams across Microsoft to ensure that customers get both high security and reliability +2) **Innovation**: the Pluton platform and the functionality it provides is informed by customer feedback and Microsoft’s threat intelligence. As one example, 2024 Pluton platforms in AMD and Intel systems will start to use a Rust-based firmware foundation given the importance of memory safety. +3) **Continuous improvement**: the Pluton platform supports loading new firmware delivered through operating system updates. This functionality is supported alongside the typical mechanism of UEFI capsule updates that updates the Pluton firmware that is resident on the system’s SPI flash and loaded during early system boot. The additional support for dynamically loading valid new Pluton firmware through operating system updates facilitates continuous improvements both for bug fixes and new features. + +### A practical example: zero-trust security with device-based conditional access policies + +An increasingly important zero-trust workflow is conditional access – gating access to resources like Sharepoint documents based on verifying whether requests are coming from a valid, healthy source. Microsoft Intune for example supports may different workflows for conditional access including [device-based conditional access](https://learn.microsoft.com/en-us/mem/intune/protect/create-conditional-access-intune) which allows organizations to set policies that ensure that managed devices are healthy and compliant before granting access to the organization’s apps and services. + +To ensure that Intune gets an accurate picture about the device’s health as part of enforcing these policies, ideally it has tamper-resistant logs on the state of the relevant security capabilities. This is where hardware security is critical as any malicious software running on the device could attempt to provide false signals to the service. One of the core benefits of a hardware security technology like the TPM, is that it has a tamper-resistant log of the state of the system. Services can cryptographically validate that logs and the associated system state reported by the TPM truly come from the TPM. + +For the end-to-end scenario to be truly successful at scale the hardware-based security is not enough though. Since access to enterprise assets is being gated based on security settings that are being reported by the TPM logs, it is critical that these logs are available reliably. Zero-trust security essentially requires high reliability. + +With Pluton, when it is configured as the TPM for the system, customers using conditional access get the benefits of Pluton’s security architecture and implementation with the reliability that comes from the tight integration and collaboration between Pluton and other Microsoft components and services. + + ## Microsoft Pluton security architecture overview ![Diagram showing the Microsoft Pluton security processor architecture](../images/pluton/pluton-security-architecture.png) From 3f9eb83d029d1b587f48ceaac7d5e9ef9faa6a23 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 12 Jul 2024 16:44:49 -0700 Subject: [PATCH 251/354] remove articles --- .openpublishing.redirection.json | 2 +- ...ishing.redirection.windows-deployment.json | 10 +++ windows/deployment/TOC.yml | 4 +- windows/deployment/index.yml | 6 +- .../planning/windows-10-compatibility.md | 45 ------------- .../windows-10-deployment-considerations.md | 3 +- .../windows-10-infrastructure-requirements.md | 1 - .../update/plan-determine-app-readiness.md | 63 ------------------- .../update/prepare-deploy-windows.md | 10 +-- 9 files changed, 22 insertions(+), 122 deletions(-) delete mode 100644 windows/deployment/planning/windows-10-compatibility.md delete mode 100644 windows/deployment/update/plan-determine-app-readiness.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index d6f6446385..31d8d2cd74 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -11487,7 +11487,7 @@ }, { "source_path": "windows/plan/windows-10-compatibility.md", - "redirect_url": "/windows/deployment/planning/windows-10-compatibility", + "redirect_url": "/windows/compatibility/", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index 44cd5fae11..e733f7e24e 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1179,6 +1179,16 @@ "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md", "redirect_url": "/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview", "redirect_document_id": true + }, + { + "source_path": "windows/deployment/planning/windows-10-compatibility.md", + "redirect_url": "/windows/compatibility/", + "redirect_document_id": true + }, + { + "source_path": "windows/deployment/update/plan-determine-app-readiness.md", + "redirect_url": "/windows/compatibility/windows-11/testing-guidelines", + "redirect_document_id": true } ] } diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 88851f15ff..339f7151c3 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -36,8 +36,6 @@ href: update/plan-define-readiness.md - name: Evaluate infrastructure and tools href: update/eval-infra-tools.md - - name: Determine application readiness - href: update/plan-determine-app-readiness.md - name: Define your servicing strategy href: update/plan-define-strategy.md - name: Delivery Optimization for Windows client updates @@ -53,6 +51,8 @@ href: planning/windows-10-infrastructure-requirements.md - name: Plan for volume activation href: volume-activation/plan-for-volume-activation-client.md + - name: Windows compatibility cookbook + href: /windows/compatibility/ - name: Features removed or planned for replacement items: - name: Windows client features lifecycle diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 5e60b0c3c0..3f5ea288b1 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -15,7 +15,7 @@ metadata: author: aczechowski ms.author: aaroncz manager: aaroncz - ms.date: 04/01/2024 + ms.date: 07/12/2024 localization_priority: medium # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new @@ -34,10 +34,10 @@ landingContent: url: update/plan-define-readiness.md - text: Define your servicing strategy url: update/plan-define-strategy.md - - text: Determine application readiness - url: update/plan-determine-app-readiness.md - text: Plan for volume activation url: volume-activation/plan-for-volume-activation-client.md + - text: Windows compatibility cookbook + url: /windows/compatibility/ - title: Prepare linkLists: diff --git a/windows/deployment/planning/windows-10-compatibility.md b/windows/deployment/planning/windows-10-compatibility.md deleted file mode 100644 index 83227970dd..0000000000 --- a/windows/deployment/planning/windows-10-compatibility.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Windows 10 compatibility (Windows 10) -description: Windows 10 will be compatible with most existing PC hardware; most devices running Windows 7, Windows 8, or Windows 8.1 will meet the requirements for Windows 10. -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -ms.localizationpriority: medium -author: frankroj -ms.topic: article -ms.subservice: itpro-deploy -ms.date: 10/28/2022 ---- - -# Windows 10 compatibility - -**Applies to** - -- Windows 10 - -Windows 10 will be compatible with most existing PC hardware; most devices running Windows 7, Windows 8, or Windows 8.1 will meet the requirements for Windows 10. - -For full system requirements, see [Windows 10 specifications](https://go.microsoft.com/fwlink/p/?LinkId=625077). Some driver updates may be required for Windows 10. - -Existing desktop (Win32) application compatibility is also expected to be strong, with most existing applications working without any changes. Those applications that interface with Windows at a low level, those applications that use undocumented APIs, or those that do not follow recommended coding practices could experience issues. - -Existing Windows Store (WinRT) apps created for Windows 8 and Windows 8.1 should also continue to work, because compatibility can be validated against all the apps that have been submitted to the Windows Store. - -For web apps and sites, modern HTML5-based sites should also have a high degree of compatibility and excellent performance through the new Microsoft Edge browser, while older web apps and sites can continue to use Internet Explorer 11 and the Enterprise Mode features that were first introduced in Windows 7 and Windows 8.1 and are still present in Windows 10. For more information about Internet Explorer and Enterprise Mode, see the [Internet Explorer 11 Deployment Guide for IT Pros.](/internet-explorer/ie11-deploy-guide/) - -## Recommended application testing process - -Historically, organizations have performed extensive, and often exhaustive, testing of the applications they use before deployment of a new Windows version, service pack, or any other significant update. With Windows 10, organizations are encouraged to use more optimized testing processes, which reflect the higher levels of compatibility that are expected. At a high level: - -- Identify mission-critical applications and websites, those applications and websites that are essential to the organization's operations. Focus testing efforts on this subset of applications, early in the Windows development cycle (for example, with Windows Insider Program builds) to identify potential issues. Report any issues you encounter with the Windows Feedback tool, so that these issues can be addressed prior to the next Windows release. - -- For less critical applications, apply an "internal flighting" or pilot-based approach, by deploying new Windows upgrades to groups of machines, growing gradually in size and potential impact, to verify compatibility with hardware and software. Reactively address issues before you expand the pilot to more machines. - -## Related articles - - -[Windows 10 servicing options](../update/waas-servicing-strategy-windows-10-updates.md) - -[Windows 10 deployment considerations](windows-10-deployment-considerations.md) - -[Windows 10 infrastructure requirements](windows-10-infrastructure-requirements.md) \ No newline at end of file diff --git a/windows/deployment/planning/windows-10-deployment-considerations.md b/windows/deployment/planning/windows-10-deployment-considerations.md index 434b7da17f..4b6d775551 100644 --- a/windows/deployment/planning/windows-10-deployment-considerations.md +++ b/windows/deployment/planning/windows-10-deployment-considerations.md @@ -69,7 +69,7 @@ In either of these scenarios, you can make various configuration changes to the For computers using the [General Availability Channel](../update/waas-overview.md#general-availability-channel), you can deploy these upgrades by using various methods: - Windows Update or Windows Update for Business, for devices where you want to receive updates directly from the Internet. -- Windows Server Update Services (WSUS), for devices configured to pull updates from internal servers after they're approved (deploying like an update). +- Windows Server Update Services (WSUS), for devices configured to pull updates from internal servers after they're approved (deploying like an update). - Configuration Manager task sequences. - Configuration Manager software update capabilities (deploying like an update). @@ -79,5 +79,4 @@ The upgrade process is also optimized to reduce the overall time and network ban ## Related articles -[Windows 10 compatibility](windows-10-compatibility.md)
                [Windows 10 infrastructure requirements](windows-10-infrastructure-requirements.md) diff --git a/windows/deployment/planning/windows-10-infrastructure-requirements.md b/windows/deployment/planning/windows-10-infrastructure-requirements.md index 06a835b0ba..f33cc45e96 100644 --- a/windows/deployment/planning/windows-10-infrastructure-requirements.md +++ b/windows/deployment/planning/windows-10-infrastructure-requirements.md @@ -97,4 +97,3 @@ Windows 10 Enterprise and Windows 10 Enterprise LTSC installations use different [Windows 10 servicing options](../update/waas-servicing-strategy-windows-10-updates.md)
                [Windows 10 deployment considerations](windows-10-deployment-considerations.md)
                -[Windows 10 compatibility](windows-10-compatibility.md)
                \ No newline at end of file diff --git a/windows/deployment/update/plan-determine-app-readiness.md b/windows/deployment/update/plan-determine-app-readiness.md deleted file mode 100644 index 6801a4cca8..0000000000 --- a/windows/deployment/update/plan-determine-app-readiness.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Determine application readiness -description: How to test your apps to identify which need attention prior to deploying an update in your organization. -ms.service: windows-client -ms.subservice: itpro-updates -ms.topic: conceptual -ms.author: mstewart -author: mestew -manager: aaroncz -ms.localizationpriority: medium -appliesto: -- ✅ Windows 11 -- ✅ Windows 10 -ms.date: 12/31/2017 ---- - -# Determine application readiness - -Before you deploy a Windows client update, you should know which apps will continue to work without problems, which need their own updates, and which just won't work and must be replaced. If you haven't already, it's worth [classifying your apps](plan-define-readiness.md) with respect to their criticality in your organization. - -## Validation methods - -You can choose from various methods to validate apps. Exactly which ones to use depends on the specifics of your environment. - - -|Validation method |Description | -|---------|---------| -|Full regression | A full quality assurance probing. Staff that know the application well and can validate its core functionality should do this validation. | -|Smoke testing | The application goes through formal validation. That is, a user validates the application following a detailed plan, ideally with limited, or no knowledge of the application they're validating. | -|Automated testing | Software performs tests automatically. The software lets you know whether the tests have passed or failed, and provides detailed reporting for you automatically. | -|Test in pilot | You preselect users to be in the pilot deployment group and carry out the same tasks they do on a day-to-day basis to validate the application. Normally you use this method in addition to one of the other validation types. | -|Reactive response | Applications are validated in late pilot, and no specific users are selected. These applications normally aren't installed on many devices and aren't handled by enterprise application distribution. | - -Combining the various validation methods with the app classifications you've previously established might look like this: - - -|Validation method |Critical apps |Important apps |Not important apps | -|---------|---------|---------|---------| -|Full regression | x | | | -|Smoke testing | | x | | -|Automated testing | x | x | x | -|Test in pilot | x | x | x | - - -### Identify users - -Since your organization no doubt has a wide variety of users, each with different background and regular tasks, you have to choose which users are best suited for validation testing. Some factors to consider include: - -- **Location**: If users are in different physical locations, can you support them and get validation feedback from the region they're in? -- **Application knowledge**: Do the users have appropriate knowledge of how the app is supposed to work? -- **Technical ability**: Do the users have enough technical competence to provide useful feedback from various test scenarios? - -You could seek volunteers who enjoy working with new features and include them in the pilot deployment. You might want to avoid using core users like department heads or project managers. Current application owners, operations personnel, and developers can help you identify the most appropriate pilot users. - -### Identify and set up devices for validation - -In addition to users, it's important to carefully choose devices to participate in app validation as well. For example, ideally, your selection includes devices representing all of the hardware models in your environment. - -There's more than one way to choose devices for app validation: - -- **Existing pilot devices**: You might already have a list of devices that you regularly use for testing updates as part of release cycles. -- **Manual selection**: Some internal groups like operations have expertise to help choose devices manually based on specifications, usage, or records of past support problems. -- **Data-driven analysis**: With appropriate tools, you can use diagnostic data from devices to inform your choices. diff --git a/windows/deployment/update/prepare-deploy-windows.md b/windows/deployment/update/prepare-deploy-windows.md index 732aab35e3..c69e5987ea 100644 --- a/windows/deployment/update/prepare-deploy-windows.md +++ b/windows/deployment/update/prepare-deploy-windows.md @@ -8,7 +8,7 @@ author: mestew ms.author: mstewart manager: aaroncz ms.localizationpriority: medium -appliesto: +appliesto: - ✅ Windows 11 - ✅ Windows 10 ms.date: 12/31/2017 @@ -19,7 +19,7 @@ ms.date: 12/31/2017 Having worked through the activities in the planning phase, you should be in a good position to prepare your environment and process to deploy Windows client. The planning phase left you with these useful items: - A clear understanding of necessary personnel and their roles and criteria for [rating app readiness](plan-define-readiness.md) -- A plan for [testing and validating](plan-determine-app-readiness.md) apps +- A plan for [testing and validating](/windows/compatibility/windows-11/testing-guidelines) apps - An assessment of your [deployment infrastructure](eval-infra-tools.md) and definitions for operational readiness - A [deployment plan](create-deployment-plan.md) that defines the rings you want to use @@ -35,7 +35,7 @@ Your infrastructure probably includes many different components and tools. You n 1. Review all of the infrastructure changes that you've identified in your plan. It's important to understand the changes that need to be made and to detail how to implement them. This process prevents problems later on. -2. Validate your changes. You validate the changes for your infrastructure's components and tools, to help you understand how your changes could affect your production environment. +2. Validate your changes. You validate the changes for your infrastructure's components and tools, to help you understand how your changes could affect your production environment. 3. Implement the changes. Once the changes have been validated, you can implement the changes across the wider infrastructure. @@ -166,11 +166,11 @@ You can also create and run scripts to perform additional cleanup actions on dev In the plan phase, you determined the specific infrastructure and configuration changes that needed to be implemented to add new capabilities to the environment. Now you can move on to implementing those changes defined in the plan phase. You need to complete these higher-level tasks to gain those new capabilities: -- Enable capabilities across the environment by implementing the changes. For example, implement updates to relevant ADMX templates in Active Directory. New Windows versions come with new policies that you use to update ADMX templates. +- Enable capabilities across the environment by implementing the changes. For example, implement updates to relevant ADMX templates in Active Directory. New Windows versions come with new policies that you use to update ADMX templates. - Validate new changes to understand how they affect the wider environment. -- Remediate any potential problems that have been identified through validation. +- Remediate any potential problems that have been identified through validation. ## Prepare users From 6baa59a9bb43119e3b769481d52ee41418ffab66 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 12 Jul 2024 16:45:02 -0700 Subject: [PATCH 252/354] refresh --- windows/whats-new/windows-11-plan.md | 88 +++++++++++++++------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/windows/whats-new/windows-11-plan.md b/windows/whats-new/windows-11-plan.md index a32a7baeb6..df1748f800 100644 --- a/windows/whats-new/windows-11-plan.md +++ b/windows/whats-new/windows-11-plan.md @@ -1,6 +1,6 @@ --- title: Plan for Windows 11 -description: Windows 11 deployment planning, IT Pro content. +description: This article provides guidance to help you plan for Windows 11 in your organization. ms.service: windows-client author: mestew ms.author: mstewart @@ -12,7 +12,7 @@ ms.collection: - tier1 - essentials-get-started ms.subservice: itpro-fundamentals -ms.date: 02/06/2024 +ms.date: 07/12/2024 appliesto: - ✅ Windows 11 --- @@ -20,98 +20,102 @@ appliesto: # Plan for Windows 11 This article provides guidance to help you plan for Windows 11 in your organization. + ## Deployment planning -Since Windows 11 is built on the same foundation as Windows 10, you can use the same deployment capabilities, scenarios, and tools—and the same basic deployment strategy that you use today for Windows 10. You'll need to review and update your servicing strategy to adjust for changes in [Servicing and support](#servicing-and-support) for Windows 11. +Since Windows 11 is built on the same foundation as Windows 10, you can use the same deployment capabilities, scenarios, and tools. You can also use the same basic deployment strategy that you use today for Windows 10. Make sure that you review and update your servicing strategy to adjust for changes in [servicing and support](#servicing-and-support) for Windows 11. At a high level, this strategy should include the following steps: + - [Create a deployment plan](/windows/deployment/update/create-deployment-plan) - [Define readiness criteria](/windows/deployment/update/plan-define-readiness) - [Evaluate infrastructure and tools](/windows/deployment/update/eval-infra-tools) -- [Determine application readiness](/windows/deployment/update/plan-determine-app-readiness) +- [Test applications](/windows/compatibility/windows-11/testing-guidelines) - [Define your servicing strategy](/windows/deployment/update/plan-define-strategy) -If you're looking for ways to optimize your approach to deploying Windows 11, or if deploying a new version of an operating system isn't a familiar process for you, some items to consider are provided below: +If you're looking for ways to optimize your approach to deploying Windows 11, or if deploying a new version of Windows isn't a familiar process for you, consider the factors in the following sections. ## Determine eligibility -As a first step, you'll need to know which of your current devices meet the Windows 11 hardware requirements. Most devices purchased in the last 18-24 months will be compatible with Windows 11. Verify that your device meets or exceeds [Windows 11 requirements](windows-11-requirements.md) to ensure it's compatible. +As a first step, determine which of your current devices meet the Windows 11 hardware requirements. To ensure compatibility, verify that your device meets or exceeds [Windows 11 requirements](windows-11-requirements.md). -Microsoft is currently developing analysis tools to help you evaluate your devices against the Windows 11 hardware requirements. When Windows 11 reaches general availability, users running Windows 10 Home, Pro, and Pro for Workstations will be able to use the [PC Health Check](https://www.microsoft.com/windows/windows-11#pchealthcheck) app to determine their eligibility for Windows 11. Users running Windows 10 Enterprise and Education editions should rely on their IT administrators to let them know when they're eligible for the upgrade.  - -Enterprise organizations looking to evaluate device readiness in their environments can expect this capability to be integrated into existing Microsoft tools, such as Endpoint analytics and Update Compliance. This capability will be available when Windows 11 is generally available. Microsoft is also working with software publishing partners to facilitate adding Windows 11 device support into their solutions. +Microsoft has analysis tools to help you evaluate your devices against the Windows 11 hardware requirements. If you're running Windows 10 Home, Pro, or Pro for Workstations editions, you can use the [PC Health Check](https://www.microsoft.com/windows/windows-11#pchealthcheck) app to determine Windows 11 eligibility. Users running Windows 10 Enterprise and Education editions should rely on their IT administrators to let them know when they're eligible for the upgrade. + +Enterprise organizations looking to evaluate device readiness in their environments can expect this capability to be integrated into existing Microsoft tools, such as [Endpoint analytics](/mem/analytics/). ## Windows 11 availability -The availability of Windows 11 will vary according to a device's hardware and whether the device receives updates directly, or from a management solution that is maintained by an IT administrator. +The availability of Windows 11 varies according to a device's hardware and whether the device receives updates directly from Microsoft, or from a management solution that's maintained by an IT administrator. -##### Managed devices +For more information, see [Defining Windows update-managed devices](/windows/deployment/update/update-managed-unmanaged-devices). -Managed devices are devices that are under organizational control. Managed devices include those devices managed by Microsoft Intune, Microsoft Configuration Manager, or other endpoint management solutions. +### Managed devices -If you manage devices on behalf of your organization, you'll be able to upgrade eligible devices to Windows 11 using your existing deployment and management tools at no cost when the upgrade reaches general availability. Organizations that use Windows Update for Business will have added benefits, such as: +Managed devices are devices that are under organizational control. Managed devices include those devices managed by Microsoft Intune, Microsoft Configuration Manager, or other endpoint management solutions. -- Ensuring that devices that don't meet the minimum hardware requirements aren't automatically offered the Windows 11 upgrade. -- More insight into safeguard holds. While safeguard holds will function for Windows 11 devices just as they do for Windows 10 today, administrators using Windows Update for Business will have access to information on which safeguard holds are preventing individual devices from taking the upgrade to Windows 11. +If you manage devices on behalf of your organization, you can upgrade eligible devices to Windows 11 using your existing deployment and management tools. + +Organizations that use Windows Update for Business also have the following benefits: + +- Ensuring that devices that don't meet the minimum hardware requirements aren't automatically offered the Windows 11 upgrade. +- More insight into safeguard holds. While safeguard holds function for Windows 11 devices just as they do for Windows 10 today, administrators using Windows Update for Business have access to information on which safeguard holds are preventing individual devices from taking the upgrade to Windows 11. > [!NOTE] -> Also, Windows 11 has new Microsoft Software License Terms. If you are deploying with Windows Update for Business or Windows Server Update Services, you are accepting these new license terms on behalf of the users in your organization. +> Also, Windows 11 has new Microsoft Software License Terms. If you deploy with Windows Update for Business or Windows Server Update Services, you accept these new license terms on behalf of the users in your organization. -##### Unmanaged devices +### Unmanaged devices -Unmanaged devices are devices that aren't managed by an IT administrator on behalf of an organization. For operating system (OS) deployment, these devices aren't subject to organizational policies that manage upgrades or updates. +Unmanaged devices are devices that an IT administrator doesn't manage on behalf of an organization. For OS deployment, these devices aren't subject to organizational policies that manage upgrades or updates. -Windows 11 will be offered to eligible Windows 10 devices beginning later in the 2021 calendar year. Messaging on new devices will vary by PC manufacturer, but users will see labels such as **This PC will upgrade to Windows 11 once available** on products that are available for purchase. +Windows 11 was offered to eligible Windows 10 devices in 2021. Messaging on new devices varies by PC manufacturer. -The Windows 11 upgrade will be available initially on eligible, unmanaged devices to users who manually seek the upgrade through Windows Update. As with all Windows Update managed devices, the **Windows Update Settings** page will confirm when a device is eligible, and users can upgrade if they choose to. +The Windows 11 upgrade is available on eligible, unmanaged devices to users who manually seek the upgrade through Windows Update. As with all Windows Update-managed devices, the **Windows Update** settings page confirms when a device is eligible. -Just like Windows 10, the machine learning-based [intelligent rollout](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/using-machine-learning-to-improve-the-windows-10-update/ba-p/877860) process will be used when rolling out upgrades. Machine learning uses a combination of testing, close partner engagement, feedback, diagnostic data, and real-life insights to manage quality. This process improves the update experience and ensures that devices first nominated for updates are the devices likely to have a seamless experience. Devices that might have compatibility issues with the upgrade get the benefit of resolving these issues before the upgrade is offered. +Just like Windows 10, the machine learning-based [intelligent rollout](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/using-machine-learning-to-improve-the-windows-10-update/ba-p/877860) process is used when rolling out upgrades. Machine learning uses a combination of testing, close partner engagement, feedback, diagnostic data, and real-life insights to manage quality. This process improves the update experience and ensures that devices first nominated for updates are the devices likely to have a seamless experience. Devices that might have compatibility issues with the upgrade get the benefit of resolving these issues before the upgrade is offered. -## Windows 11 readiness considerations +## Windows 11 readiness considerations -The recommended method to determine if your infrastructure, deployment processes, and management tools are ready for Windows 11 is to join the [Windows Insider Program for Business](https://insider.windows.com/for-business). As a participant in the [Release Preview Channel](/windows-insider/business/validate-Release-Preview-Channel), you can validate that your devices and applications work as expected, and explore new features. +The recommended method to determine if your infrastructure, deployment processes, and management tools are ready for Windows 11 is to join the [Windows Insider Program for Business](https://insider.windows.com/for-business). As a participant in the [release preview channel](/windows-insider/business/validate-Release-Preview-Channel), you can validate that your devices and applications work as expected, and explore new features. As you plan your endpoint management strategy for Windows 11, consider moving to cloud-based mobile device management (MDM), such as [Microsoft Intune](/mem/intune/fundamentals/what-is-intune). If a cloud-only approach isn't right for your organization yet, you can still modernize and streamline essential pieces of your endpoint management strategy as follows: -- Create a [cloud management gateway](/mem/configmgr/core/clients/manage/cmg/overview) (CMG) to manage Configuration Manager clients over the internet. -- Attach your existing Configuration Management estate to the cloud with [tenant attach](/mem/configmgr/tenant-attach/device-sync-actions) so you can manage all devices from within the [Microsoft Intune admin center](https://go.microsoft.com/fwlink/?linkid=2109431). -- Use [co-management](/mem/configmgr/comanage/overview) to concurrently manage devices using both Configuration Manager and Microsoft Intune. This concurrent management allows you to take advantage of cloud-powered capabilities like [Conditional Access](/azure/active-directory/conditional-access/overview). -For more information on the benefits of these approaches, see [Cloud Attach Your Future: The Big 3](https://techcommunity.microsoft.com/t5/configuration-manager-blog/cloud-attach-your-future-part-ii-quot-the-big-3-quot/ba-p/1750664). +- To manage Configuration Manager clients over the internet, create a [cloud management gateway](/mem/configmgr/core/clients/manage/cmg/overview) (CMG). +- Attach your existing Configuration Management estate to the cloud with [tenant attach](/mem/configmgr/tenant-attach/device-sync-actions) so you can manage all devices from within the [Microsoft Intune admin center](https://go.microsoft.com/fwlink/?linkid=2109431). +- Use [co-management](/mem/configmgr/comanage/overview) to concurrently manage devices using both Configuration Manager and Microsoft Intune. This concurrent management allows you to take advantage of cloud-powered capabilities like [conditional access](/azure/active-directory/conditional-access/overview). + +For more information on the benefits of these approaches, see [Cloud Attach Your Future: The Big 3](https://techcommunity.microsoft.com/t5/configuration-manager-blog/cloud-attach-your-future-part-ii-quot-the-big-3-quot/ba-p/1750664). The introduction of Windows 11 is also a good time to review your hardware refresh plans and prioritize eligible devices to ensure an optimal experience for your users. ## Servicing and support -Along with user experience and security improvements, Windows 11 introduces enhancements to Microsoft's servicing approach based on your suggestions and feedback. +Along with user experience and security improvements, Windows 11 introduces enhancements to Microsoft's servicing approach based on your suggestions and feedback. -**Quality updates**: Windows 11 and Windows 10 devices will receive regular monthly quality updates to provide security updates and bug fixes. +- **Quality updates**: Windows 11 and Windows 10 devices receive regular monthly quality updates to provide security updates and bug fixes. -**Feature updates**: Microsoft will provide a single Windows 11 feature update annually, targeted for release in the second half of each calendar year. +- **Feature updates**: Microsoft provides a single Windows 11 feature update annually, targeted for release in the second half of each calendar year. -**Lifecycle**: -- Home, Pro, Pro for Workstations, and Pro for Education editions of Windows 11 will receive 24 months of support from the general availability date. -- Enterprise and Education editions of Windows 11 will be supported for 36 months from the general availability date. +- **Lifecycle**: -When Windows 11 reaches general availability, a consolidated [Windows 11 update history](https://support.microsoft.com/topic/59875222-b990-4bd9-932f-91a5954de434) is available, similar to what is [available today for Windows 10](https://support.microsoft.com/topic/windows-10-update-history-1b6aac92-bf01-42b5-b158-f80c6d93eb11). Similarly, the [Windows release health](/windows/release-health/) hub will offer quick access to Windows 11 servicing announcements, known issues, and safeguard holds. + - Home, Pro, Pro for Workstations, and Pro for Education editions of Windows 11 receive 24 months of support from the general availability date. + - Enterprise and Education editions of Windows 11 are supported for 36 months from the general availability date. -It's important that organizations have adequate time to plan for Windows 11. Microsoft also recognizes that many organizations will have a mix of Windows 11 and Windows 10 devices across their ecosystem. Devices on in-service versions of Windows 10 will continue to receive monthly Windows 10 security updates through 2025, and incremental improvements to Windows 10 to support ongoing Microsoft 365 deployments. For more information, see the [Windows 10 release information](/windows/release-health/release-information) page, which offers information about the Windows 10 General Availability Channel and Long-term Servicing Channel (LTSC) releases. +A consolidated [Windows 11 update history](https://support.microsoft.com/topic/59875222-b990-4bd9-932f-91a5954de434) is available. Similarly, the [Windows release health](/windows/release-health/) hub offers quick access to Windows 11 servicing announcements, known issues, and safeguard holds. + +It's important that organizations have adequate time to plan for Windows 11. Microsoft also recognizes that many organizations have a mix of Windows 11 and Windows 10 devices across their ecosystem. Devices on in-service versions of Windows 10 continue to receive monthly Windows 10 security updates, and incremental improvements to Windows 10 to support ongoing Microsoft 365 deployments. For more information, see the [Windows 10 release information](/windows/release-health/release-information) page. ## Application compatibility Microsoft's compatibility promise for Windows 10 is maintained for Windows 11. Data from the App Assure program shows that Windows 10 compatibility rates are over 99.7% for enterprise organizations, including line of business (LOB) apps. Microsoft remains committed to ensuring that the apps you rely upon continue to work as expected when you upgrade. Windows 11 is subject to the same app compatibility validation requirements that are in place for Windows 10 today, for both feature and quality updates. -#### App Assure +For more information, see [Windows compatibility cookbook](/windows/compatibility/). -If you run into compatibility issues or want to ensure that your organization's applications are compatible from day one, App Assure can help. +### App Assure -- **App Assure**: With enrollment in the [App Assure](/windows/compatibility/app-assure) service, any app compatibility issues that you find with Windows 11 can be resolved. Microsoft will help you remedy application issues at no cost. Since 2018, App Assure has evaluated almost 800,000 apps, and subscriptions are free for eligible customers with 150+ seats. - -You might already be using App Assure in your Windows 10 environment. The tool will continue to function with Windows 11. +If you run into compatibility issues or want to ensure that your organization's applications are compatible from day one, App Assure can help. With enrollment in the [App Assure](/windows/compatibility/app-assure) service, any app compatibility issues that you find with Windows 11 can be resolved. Microsoft helps you remedy application issues at no cost. Since 2018, App Assure has evaluated almost 800,000 apps, and subscriptions are free for eligible customers with more than 150 devices. ## Next steps [Prepare for Windows 11](windows-11-prepare.md) -## Also see - [Plan to deploy updates for Windows 10 and Microsoft 365 Apps](/training/modules/windows-plan/) From a55e434dda2a079a66a636f9678b6b9113a79851 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 12 Jul 2024 16:54:10 -0700 Subject: [PATCH 253/354] fix build suggestion --- .openpublishing.redirection.windows-deployment.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index e733f7e24e..9fe31073d2 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1183,12 +1183,12 @@ { "source_path": "windows/deployment/planning/windows-10-compatibility.md", "redirect_url": "/windows/compatibility/", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/deployment/update/plan-determine-app-readiness.md", "redirect_url": "/windows/compatibility/windows-11/testing-guidelines", - "redirect_document_id": true + "redirect_document_id": false } ] } From 1194b58c0db4dbcb971c97155a693fc822eefb1c Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 12 Jul 2024 17:00:09 -0700 Subject: [PATCH 254/354] update metadata --- windows/deployment/update/prepare-deploy-windows.md | 4 ++-- windows/whats-new/windows-11-plan.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/prepare-deploy-windows.md b/windows/deployment/update/prepare-deploy-windows.md index c69e5987ea..def7222a70 100644 --- a/windows/deployment/update/prepare-deploy-windows.md +++ b/windows/deployment/update/prepare-deploy-windows.md @@ -1,9 +1,9 @@ --- title: Prepare to deploy Windows -description: Final steps to get ready to deploy Windows, including preparing infrastructure, environment, applications, devices, network, capability, and users +description: Final steps to get ready to deploy Windows, including preparing infrastructure, environment, applications, devices, network, capability, and users. ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article author: mestew ms.author: mstewart manager: aaroncz diff --git a/windows/whats-new/windows-11-plan.md b/windows/whats-new/windows-11-plan.md index df1748f800..c3887cd926 100644 --- a/windows/whats-new/windows-11-plan.md +++ b/windows/whats-new/windows-11-plan.md @@ -6,7 +6,7 @@ author: mestew ms.author: mstewart manager: aaroncz ms.localizationpriority: high -ms.topic: conceptual +ms.topic: get-started ms.collection: - highpri - tier1 From 0ca30a77ba9ac50a56d56d129c35aceb3a220262 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Sun, 14 Jul 2024 22:31:35 -0400 Subject: [PATCH 255/354] Add PR feedback --- .../do/delivery-optimization-configure.md | 48 ++++++++++-------- .../images/do-setup-improve-efficiencies.png | Bin 13944 -> 0 bytes .../do/images/do-setup-improve-efficiency.png | Bin 0 -> 15132 bytes 3 files changed, 27 insertions(+), 21 deletions(-) delete mode 100644 windows/deployment/do/images/do-setup-improve-efficiencies.png create mode 100644 windows/deployment/do/images/do-setup-improve-efficiency.png diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index b1cc42ba09..258bb90b68 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -21,23 +21,23 @@ ms.date: 07/01/2024 # Configure Delivery Optimization (DO) for Windows -## Delivery Optimization set up considerations checklist +## Delivery Optimization set up considerations Use this checklist to guide you through different aspects when modifying Delivery Optimization configurations for your environment. 1. Allow Delivery Optimization communication -2. Options to apply Delivery Optimization settings +2. Choose where to set Delivery Optimization policies 3. Network topology 4. Optimize P2P usage for your organization size 5. System resources 6. Improve efficiencies 7. Connected Cache -## 1. Allow DO communication +## 1. Allow Delivery Optimization communication :::image type="content" source="images/do-setup-allow-communication.png" alt-text="Screenshot of the considerations to allow Delivery Optimization communication." lightbox="images/do-setup-allow-communication.png"::: -Delivery Optimization is used to download Microsoft content from different sources (HTTP source, peers, and/or dedicated cache solution). It requires communication between the DO client and the service to find the best and most reliable source of content. For this technology to work, the DO client running on the Windows device must be able to reach the DO cloud service. +Delivery Optimization (DO) is used to download Microsoft content from different sources (HTTP source, peers, and/or dedicated cache solution). It requires communication between the DO client and services to find the best and most reliable sources of content. For this technology to work, the DO client running on the Windows device must be able to reach the DO cloud service. Find out more about the requirements for Firewall, Proxy, and Port settings to enable Delivery Optimization communication. @@ -47,7 +47,7 @@ There are service endpoints that you need to permit through your Firewall to com ### Proxy -To allow peer-to-peer (P2P) to work properly you need to allow direct calls to the Delivery Optimization service from your devices. When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com). If the calls to the DO service are funneled through your proxy, it will alter the public IP address of the devices, preventing P2P from working properly. +To allow peer-to-peer (P2P) to work properly you need to allow direct calls to the Delivery Optimization service from your devices. When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com). #### Local proxy @@ -55,17 +55,17 @@ For downloads from HTTP sources, Delivery Optimization can use the automatic pro #### Cloud proxy - If you're using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. + If you're using a cloud proxy, the calls to the DO service are funneled through your cloud proxy and the public IP address of the devices is altered, preventing P2P from working properly. To avoid any issues, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. ### Ports Delivery Optimization requires the use of certain ports to deliver content. Make sure all the [required ports](waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) are open to make Delivery Optimization work seamlessly. -| Port | Function | -|---------|-------------------| -| 7680 | Listen for P2P using TCP/IP | -| 3544 | Use Teredo to discover and connect to peers across NATs | -| 443 | Use to communicate Delivery Optimization client and service | +| Port | Protocol | Function | +|---------|-------------------|----------| +| 7680 | TCP/IP | Listen for P2P using TCP/IP | +| 3544 | TCP/IP | Use Teredo to discover and connect to peers across NATs | +| 443 | HTTPS / TLS 1.2 | Use to communicate Delivery Optimization client and service | ## 2. DO presence @@ -103,7 +103,7 @@ Peer groups can be defined in Delivery Optimization using a combination of setti To define a peer group limited to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This download mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] -> Consider using Group download mode and/or limiting peer selection to the subnet if your network topology is a hub and spoke. +> Consider using Group download mode and/or limiting peer selection to the subnet if your network topology is a Hub and Spoke. ##### Wide area network (WAN) @@ -128,7 +128,10 @@ There are two valid download modes that don't use P2P functionality to deliver c ### Peering with VPN -By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. +By default, if Delivery Optimization detects a VPN, peering is not used. To change this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN you use in your organization. + +> [!NOTE] +> The default keyword list is “VPN”, “Secure”, and “Virtual Private Network”. For example, “MYVPN” matches the “VPN” keyword and would be detected as a VPN connection. ## 4. Optimize P2P usage for your organization size @@ -166,24 +169,27 @@ Control the minimum amount of RAM (inclusive) allowed to use peer caching (defau In an environment with devices that are plugged in and have ample free disk space try increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to seven or more (up to 30 days). You can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. -## 6. Improve efficiencies +## 6. Improve P2P efficiency -:::image type="content" source="images/do-setup-improve-efficiencies.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiencies.png"::: +:::image type="content" source="images/do-setup-improve-efficiency.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiency.png"::: -Looking to improve efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: +Looking to improve P2P efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: * Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. * Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of delay-related policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). To improve efficiencies from peers or a dedicated cache server, a good starting point is 60 seconds for background settings and 30 seconds for foreground settings. +> [!NOTE] +> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. + ### Bandwidth throttling options -* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) and [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). +Regardless of P2P, consider setting the following policies to avoid network disruption. + * Manage network usage as a percentage or absolute value. These policies include: [DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). +* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) and [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). > [!NOTE] > The absolute policies are recommended in low bandwidth environments. -> -> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## 7. Connected cache @@ -191,7 +197,7 @@ Looking to improve efficiency? Some of the most powerful settings you can change * [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* * [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. -* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve Efficiencies](#6-improve-efficiencies) section above). +* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#6-improve-p2p-efficiency) section above). * [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. ## Summary of basic configuration recommendations @@ -202,7 +208,7 @@ Looking to improve efficiency? Some of the most powerful settings you can change | Do not use P2P | DownloadMode | 0 | | Number of devices in the organization | MinFileSizeToCache | 1 MB for peer group > 100 devices | | Idle system resources | MaxCacheAge | 7 days (604800 seconds) | -| Improve efficiencies | MinBackgroundQoS and DelayBackgroundDownloadFromHttp / DelayForegroundDownloadFromHttp | 500 KB/s and 60/30 seconds | +| Improve P2P efficiency | MinBackgroundQoS and DelayBackgroundDownloadFromHttp / DelayForegroundDownloadFromHttp | 500 KB/s and 60/30 seconds | | Using Connected Cache? | DelayCacheServerFallbackBackground / DelayCacheServerFallbackForeground | 60/30 seconds | ## Monitor Delivery Optimization diff --git a/windows/deployment/do/images/do-setup-improve-efficiencies.png b/windows/deployment/do/images/do-setup-improve-efficiencies.png deleted file mode 100644 index cacd46e6a2e7b7006d911a0ad80f760f72092b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13944 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 Date: Mon, 15 Jul 2024 10:43:13 -0600 Subject: [PATCH 256/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index fcb2561271..f577d3889f 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -9,7 +9,7 @@ ms.date: 07/10/2024 Microsoft Pluton security processor is a chip-to-cloud security technology built with [Zero Trust](/security/zero-trust/zero-trust-overview) principles at the core. Microsoft Pluton provides hardware-based root of trust, secure identity, secure attestation, and cryptographic services. Pluton technology is a combination of a secure subsystem, which is part of the System on Chip (SoC) and Microsoft authored software that runs on this integrated secure subsystem. -Microsoft Pluton is currently available on devices with AMD Ryzen® 6000, 7000, 8000, Ryzen AI and Qualcomm Snapdragon® 8cx Gen 3 and Snapdragon X series processors. Microsoft Pluton can be enabled on devices with Pluton capable processors running Windows 11, version 22H2 and above. +Microsoft Pluton is currently available on devices with AMD Ryzen® 6000, 7000, 8000, Ryzen AI and Qualcomm Snapdragon® 8cx Gen 3 and Snapdragon X series processors. Microsoft Pluton can be enabled on devices with Pluton capable processors running Windows 11, version 22H2 and later. ## What is Microsoft Pluton? From 603b681dbcc48ae647689cdd5ada5e04d2e8989d Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:43:21 -0600 Subject: [PATCH 257/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index f577d3889f..a68fb9ac24 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -22,7 +22,7 @@ Pluton is built on proven technology used in Xbox and Azure Sphere, and provides ## How can Pluton help customers? Pluton is built with the goal of providing customers with better end-to-end security experiences. It does so by doing three things: -1) **Zero-trust security and reliability**: customer security scenarios often span devices and cloud services. Windows PCs and services like Microsoft Entra and Intune need to work harmoniously together to provide frictionless security. Pluton is designed, built and maintained in close collaboration with teams across Microsoft to ensure that customers get both high security and reliability +1. **Zero-trust security and reliability**: Customer security scenarios often span devices and cloud services. Windows PCs and services like Microsoft Entra and Intune need to work harmoniously together to provide frictionless security. Pluton is designed, built and maintained in close collaboration with teams across Microsoft to ensure that customers get both high security and reliability. 2) **Innovation**: the Pluton platform and the functionality it provides is informed by customer feedback and Microsoft’s threat intelligence. As one example, 2024 Pluton platforms in AMD and Intel systems will start to use a Rust-based firmware foundation given the importance of memory safety. 3) **Continuous improvement**: the Pluton platform supports loading new firmware delivered through operating system updates. This functionality is supported alongside the typical mechanism of UEFI capsule updates that updates the Pluton firmware that is resident on the system’s SPI flash and loaded during early system boot. The additional support for dynamically loading valid new Pluton firmware through operating system updates facilitates continuous improvements both for bug fixes and new features. From c5f9ba0c42d0f07b75fee33efe8aabbb685f57c4 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:43:31 -0600 Subject: [PATCH 258/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index a68fb9ac24..07830755bf 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -23,7 +23,7 @@ Pluton is built on proven technology used in Xbox and Azure Sphere, and provides Pluton is built with the goal of providing customers with better end-to-end security experiences. It does so by doing three things: 1. **Zero-trust security and reliability**: Customer security scenarios often span devices and cloud services. Windows PCs and services like Microsoft Entra and Intune need to work harmoniously together to provide frictionless security. Pluton is designed, built and maintained in close collaboration with teams across Microsoft to ensure that customers get both high security and reliability. -2) **Innovation**: the Pluton platform and the functionality it provides is informed by customer feedback and Microsoft’s threat intelligence. As one example, 2024 Pluton platforms in AMD and Intel systems will start to use a Rust-based firmware foundation given the importance of memory safety. +1. **Innovation**: Pluton platform and the functionality it provides is informed by customer feedback and Microsoft’s threat intelligence. As an example, Pluton platforms in 2024 AMD and Intel systems will start to use a Rust-based firmware foundation given the importance of memory safety. 3) **Continuous improvement**: the Pluton platform supports loading new firmware delivered through operating system updates. This functionality is supported alongside the typical mechanism of UEFI capsule updates that updates the Pluton firmware that is resident on the system’s SPI flash and loaded during early system boot. The additional support for dynamically loading valid new Pluton firmware through operating system updates facilitates continuous improvements both for bug fixes and new features. ### A practical example: zero-trust security with device-based conditional access policies From 9a9acdb8672ddff12746fcd49d26ffd7ea8dd7ce Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:43:52 -0600 Subject: [PATCH 259/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index 07830755bf..4af71435ad 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -24,7 +24,7 @@ Pluton is built on proven technology used in Xbox and Azure Sphere, and provides Pluton is built with the goal of providing customers with better end-to-end security experiences. It does so by doing three things: 1. **Zero-trust security and reliability**: Customer security scenarios often span devices and cloud services. Windows PCs and services like Microsoft Entra and Intune need to work harmoniously together to provide frictionless security. Pluton is designed, built and maintained in close collaboration with teams across Microsoft to ensure that customers get both high security and reliability. 1. **Innovation**: Pluton platform and the functionality it provides is informed by customer feedback and Microsoft’s threat intelligence. As an example, Pluton platforms in 2024 AMD and Intel systems will start to use a Rust-based firmware foundation given the importance of memory safety. -3) **Continuous improvement**: the Pluton platform supports loading new firmware delivered through operating system updates. This functionality is supported alongside the typical mechanism of UEFI capsule updates that updates the Pluton firmware that is resident on the system’s SPI flash and loaded during early system boot. The additional support for dynamically loading valid new Pluton firmware through operating system updates facilitates continuous improvements both for bug fixes and new features. +1. **Continuous improvement**: Pluton platform supports loading new firmware delivered through operating system updates. This functionality is supported alongside the typical mechanism of UEFI capsule updates that update the Pluton firmware that is resident on the system’s SPI flash and loaded during early system boot. The additional support for dynamically loading valid new Pluton firmware through operating system updates facilitates continuous improvements both for bug fixes and new features. ### A practical example: zero-trust security with device-based conditional access policies From 45d4b332ac77e59d29de2bfeae5ddd9ac66b0275 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:44:04 -0600 Subject: [PATCH 260/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index 4af71435ad..9c417c0772 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -22,6 +22,7 @@ Pluton is built on proven technology used in Xbox and Azure Sphere, and provides ## How can Pluton help customers? Pluton is built with the goal of providing customers with better end-to-end security experiences. It does so by doing three things: + 1. **Zero-trust security and reliability**: Customer security scenarios often span devices and cloud services. Windows PCs and services like Microsoft Entra and Intune need to work harmoniously together to provide frictionless security. Pluton is designed, built and maintained in close collaboration with teams across Microsoft to ensure that customers get both high security and reliability. 1. **Innovation**: Pluton platform and the functionality it provides is informed by customer feedback and Microsoft’s threat intelligence. As an example, Pluton platforms in 2024 AMD and Intel systems will start to use a Rust-based firmware foundation given the importance of memory safety. 1. **Continuous improvement**: Pluton platform supports loading new firmware delivered through operating system updates. This functionality is supported alongside the typical mechanism of UEFI capsule updates that update the Pluton firmware that is resident on the system’s SPI flash and loaded during early system boot. The additional support for dynamically loading valid new Pluton firmware through operating system updates facilitates continuous improvements both for bug fixes and new features. From 7b749fca826468aba7664922fb0083e6a59779f1 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:44:12 -0600 Subject: [PATCH 261/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index 9c417c0772..6f06687ff9 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -29,7 +29,7 @@ Pluton is built with the goal of providing customers with better end-to-end secu ### A practical example: zero-trust security with device-based conditional access policies -An increasingly important zero-trust workflow is conditional access – gating access to resources like Sharepoint documents based on verifying whether requests are coming from a valid, healthy source. Microsoft Intune for example supports may different workflows for conditional access including [device-based conditional access](https://learn.microsoft.com/en-us/mem/intune/protect/create-conditional-access-intune) which allows organizations to set policies that ensure that managed devices are healthy and compliant before granting access to the organization’s apps and services. +An increasingly important zero-trust workflow is conditional access – gating access to resources like Sharepoint documents based on verifying whether requests are coming from a valid, healthy source. Microsoft Intune, for example, supports different workflows for conditional access including [device-based conditional access](/mem/intune/protect/create-conditional-access-intune) which allows organizations to set policies that ensure that managed devices are healthy and compliant before granting access to the organization’s apps and services. To ensure that Intune gets an accurate picture about the device’s health as part of enforcing these policies, ideally it has tamper-resistant logs on the state of the relevant security capabilities. This is where hardware security is critical as any malicious software running on the device could attempt to provide false signals to the service. One of the core benefits of a hardware security technology like the TPM, is that it has a tamper-resistant log of the state of the system. Services can cryptographically validate that logs and the associated system state reported by the TPM truly come from the TPM. From cfc27841cca4739ee2671e8a12daed46482134c7 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:44:21 -0600 Subject: [PATCH 262/354] Update windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md --- .../pluton/microsoft-pluton-security-processor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md index 6f06687ff9..dfdb572272 100644 --- a/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md +++ b/windows/security/hardware-security/pluton/microsoft-pluton-security-processor.md @@ -33,7 +33,7 @@ An increasingly important zero-trust workflow is conditional access – gating a To ensure that Intune gets an accurate picture about the device’s health as part of enforcing these policies, ideally it has tamper-resistant logs on the state of the relevant security capabilities. This is where hardware security is critical as any malicious software running on the device could attempt to provide false signals to the service. One of the core benefits of a hardware security technology like the TPM, is that it has a tamper-resistant log of the state of the system. Services can cryptographically validate that logs and the associated system state reported by the TPM truly come from the TPM. -For the end-to-end scenario to be truly successful at scale the hardware-based security is not enough though. Since access to enterprise assets is being gated based on security settings that are being reported by the TPM logs, it is critical that these logs are available reliably. Zero-trust security essentially requires high reliability. +For the end-to-end scenario to be truly successful at scale, the hardware-based security is not enough. Since access to enterprise assets is being gated based on security settings that are being reported by the TPM logs, it is critical that these logs are available reliably. Zero-trust security essentially requires high reliability. With Pluton, when it is configured as the TPM for the system, customers using conditional access get the benefits of Pluton’s security architecture and implementation with the reliability that comes from the tight integration and collaboration between Pluton and other Microsoft components and services. From 2301d4f39056d57360ae8ce0083081874d41a5ee Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 15 Jul 2024 17:44:46 -0400 Subject: [PATCH 263/354] Update Fast User Switching entry points description --- .../includes/hide-entry-points-for-fast-user-switching.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md index 7510bc272f..ec07566ed5 100644 --- a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -9,8 +9,8 @@ ms.topic: include With this policy setting you can prevent multiple users to sign in at the same time, using the Fast User Switching feature. -- If enabled, only one user can sign in at a time. The list of local users and currently signed in users is hidden from the sign in screen, the Start menu, and the Task Manager. If multiple users want to sign in, the current user must sign out first -- If disabled or not configured, multiple users can sign in at the same time. The list of local users and currently signed in users is available in the sign in screen, the Start menu, and the Task Manager. The current user doesn't have to sign out to allow another user to sign in +- If enabled, only one user can sign in at a time. The Fast User Switching entry points are hidden from the sign-in screen, the Start menu, and the Task Manager. If multiple users want to sign in, the current user must sign out first +- If disabled or not configured, multiple users can sign in at the same time. The Fast User Switching entry points are availabe from the sign-in screen, the Start menu, and the Task Manager. The current user doesn't have to sign out to allow another user to sign in | | Path | |--|--| From 9c0754a65bf070eae4ebb5039218775a0cd4fb5a Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Tue, 16 Jul 2024 11:51:30 -0700 Subject: [PATCH 264/354] updated metadata --- .../deploy/windows-autopatch-device-registration-overview.md | 2 +- .../deploy/windows-autopatch-groups-overview.md | 2 +- .../deploy/windows-autopatch-post-reg-readiness-checks.md | 2 +- .../windows-autopatch/operate/windows-autopatch-edge.md | 2 +- .../operate/windows-autopatch-groups-update-management.md | 2 +- .../windows-autopatch-manage-windows-feature-update-releases.md | 2 +- .../windows-autopatch/operate/windows-autopatch-teams.md | 2 +- .../windows-autopatch-windows-feature-update-overview.md | 2 +- ...patch-windows-quality-and-feature-update-reports-overview.md | 2 +- .../windows-autopatch-windows-quality-update-communications.md | 2 +- .../windows-autopatch/overview/windows-autopatch-privacy.md | 2 +- .../overview/windows-autopatch-roles-responsibilities.md | 2 +- .../prepare/windows-autopatch-prerequisites.md | 2 +- .../references/windows-autopatch-changes-to-tenant.md | 2 +- .../references/windows-autopatch-conflicting-configurations.md | 2 +- ...patch-driver-and-firmware-updates-public-preview-addendum.md | 2 +- .../references/windows-autopatch-microsoft-365-policies.md | 2 +- .../windows-autopatch-windows-update-unsupported-policies.md | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-device-registration-overview.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-device-registration-overview.md index dd113afcfc..3b2702240b 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-device-registration-overview.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-device-registration-overview.md @@ -4,7 +4,7 @@ description: This article provides an overview on how to register devices in Aut ms.date: 02/15/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md index 030de871bb..acdf9129ce 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-groups-overview.md @@ -4,7 +4,7 @@ description: This article explains what Autopatch groups are ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md index bbed3ec3b1..a330822f85 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md @@ -4,7 +4,7 @@ description: This article details how post-device registration readiness checks ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-artcle ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md index 66650fb27b..3b4cb9ee57 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md @@ -4,7 +4,7 @@ description: This article explains how Microsoft Edge updates are managed in Win ms.date: 09/15/2023 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: how-to ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md index 1a03d4c08b..7d66ce8a49 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md @@ -4,7 +4,7 @@ description: This article provides an overview of how updates are handled with A ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: overview +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md index 0ed4a2cdb6..8c21ff7513 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md @@ -4,7 +4,7 @@ description: This article explains how you can manage Windows feature updates wi ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: how-to ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md index b474ff2498..3945ea4bca 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md @@ -4,7 +4,7 @@ description: This article explains how Microsoft Teams updates are managed in Wi ms.date: 09/15/2023 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: how-to ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md index 2bf45427ed..24c4fc7e02 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md @@ -4,7 +4,7 @@ description: This article explains how Windows feature updates are managed with ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: overview ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md index c556fca641..7d2cb8b29e 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md @@ -4,7 +4,7 @@ description: This article details the types of reports available and info about ms.date: 07/10/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: overview ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md index 4c86c00301..139508380f 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md @@ -4,7 +4,7 @@ description: This article explains Windows quality update communications ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md index c2aadef998..267c55bde3 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-privacy.md @@ -4,7 +4,7 @@ description: This article provides details about the data platform and privacy c ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: reference +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md index b62bc5627b..f7e85f6135 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md @@ -4,7 +4,7 @@ description: This article describes the roles and responsibilities provided by W ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/prepare/windows-autopatch-prerequisites.md b/windows/deployment/windows-autopatch/prepare/windows-autopatch-prerequisites.md index c5a7d98976..eaccb006f5 100644 --- a/windows/deployment/windows-autopatch/prepare/windows-autopatch-prerequisites.md +++ b/windows/deployment/windows-autopatch/prepare/windows-autopatch-prerequisites.md @@ -4,7 +4,7 @@ description: This article details the prerequisites needed for Windows Autopatch ms.date: 01/11/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-changes-to-tenant.md b/windows/deployment/windows-autopatch/references/windows-autopatch-changes-to-tenant.md index 13ccf4e8ec..b91a7f24ed 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-changes-to-tenant.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-changes-to-tenant.md @@ -4,7 +4,7 @@ description: This reference article details the changes made to your tenant when ms.date: 12/13/2023 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: reference +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md b/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md index cbd7fc1142..afcb34afdb 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md @@ -4,7 +4,7 @@ description: This article explains how to remediate conflicting configurations a ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md b/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md index 8cbed6ce25..9023597983 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-driver-and-firmware-updates-public-preview-addendum.md @@ -4,7 +4,7 @@ description: This article explains how driver and firmware updates are managed ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: legal ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md b/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md index 56d474d0f9..fab099ab47 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md @@ -4,7 +4,7 @@ description: This article explains the Microsoft 365 Apps for enterprise policie ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md b/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md index 5e6dfd39cc..708985a6bf 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-windows-update-unsupported-policies.md @@ -4,7 +4,7 @@ description: This article explains Windows update policies in Windows Autopatch ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: conceptual +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan From 19b6ca161dfb589ee33a512f15517f9aa69f25b9 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Tue, 16 Jul 2024 11:59:22 -0700 Subject: [PATCH 265/354] Fixed acrolinx score --- .../windows-autopatch/operate/windows-autopatch-edge.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md index 3b4cb9ee57..e72d188447 100644 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md +++ b/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md @@ -30,9 +30,9 @@ For a device to be eligible for Microsoft Edge updates as a part of Windows Auto ## Update release schedule -Microsoft Edge will check for updates every 10 hours. Quality updates occur weekly by default. Feature updates occur automatically every four weeks and are rolled out [progressively](/deployedge/microsoft-edge-update-progressive-rollout) by the Microsoft Edge product group to ensure the best experience for customers. All users will see the update within a few days of the initial release. +Microsoft Edge checks for updates every 10 hours. Quality updates occur weekly by default. Feature updates occur automatically every four weeks and are rolled out [progressively](/deployedge/microsoft-edge-update-progressive-rollout) by the Microsoft Edge product group to ensure the best experience for customers. The update is available within a few days of the initial release. -Browser updates with critical security fixes will have a faster rollout cadence than updates that don't have critical security fixes to ensure prompt protection from vulnerabilities. +Browser updates with critical security fixes have a faster rollout cadence than updates that don't have critical security fixes to ensure fast protection from vulnerabilities. Devices in the Test device group receive feature updates from the [Beta Channel](/deployedge/microsoft-edge-channels#beta-channel). This channel is fully supported and automatically updated with new features approximately every four weeks. From ba9524517d4dde39a63c4b5c9c41436a07c3d014 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Tue, 16 Jul 2024 12:11:40 -0700 Subject: [PATCH 266/354] typo --- .../deploy/windows-autopatch-post-reg-readiness-checks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md b/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md index a330822f85..922580d930 100644 --- a/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md +++ b/windows/deployment/windows-autopatch/deploy/windows-autopatch-post-reg-readiness-checks.md @@ -4,7 +4,7 @@ description: This article details how post-device registration readiness checks ms.date: 07/08/2024 ms.service: windows-client ms.subservice: itpro-updates -ms.topic: concept-artcle +ms.topic: concept-article ms.localizationpriority: medium author: tiaraquan ms.author: tiaraquan From 56d88b67ae0b2f5fda1fdae718ef9e8794f7a141 Mon Sep 17 00:00:00 2001 From: Sandeep Deo <38295759+SanDeo-MSFT@users.noreply.github.com> Date: Tue, 16 Jul 2024 13:02:13 -0700 Subject: [PATCH 267/354] Update recovery-process.md --- .../data-protection/bitlocker/recovery-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index d6e0f76716..28cbcd8d4a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -72,7 +72,7 @@ The following list can be used as a template for creating a recovery process for There are a few Microsoft Entra ID roles that allow a delegated administrator to read BitLocker recovery passwords from the devices in the tenant. While it's common for organizations to use the existing Microsoft Entra ID *[Cloud Device Administrator][ENTRA-2]* or *[Helpdesk Administrator][ENTRA-3]* built-in roles, you can also [create a custom role][ENTRA-5], delegating access to BitLocker keys using the `microsoft.directory/bitlockerKeys/key/read` permission. Roles can be delegated to access BitLocker recovery passwords for devices in specific Administrative Units. > [!NOTE] -> When devices including [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to join to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Administrative unit scoped administrators will lose access to BitLocker recovery keys after device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). +> When devices including [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to join to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Custom role or administrative unit scoped administrators will lose access to BitLocker recovery keys for those devices that have undergone device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). The [Microsoft Entra admin center][ENTRA] allows administrators to retrieve BitLocker recovery passwords. To learn more about the process, see [View or copy BitLocker keys][ENTRA-4]. Another option to access BitLocker recovery passwords is to use the Microsoft Graph API, which might be useful for integrated or scripted solutions. For more information about this option, see [Get bitlockerRecoveryKey][GRAPH-1]. From 4470d6d34fe5afcd6db35a7a47f643e9d19fa030 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 16 Jul 2024 14:03:36 -0700 Subject: [PATCH 268/354] bulk update for topic metadata --- .../enterprise-background-activity-controls.md | 2 +- .../private-app-repository-mdm-company-portal-windows-11.md | 2 +- windows/deployment/configure-a-pxe-server-to-load-windows-pe.md | 2 +- windows/deployment/customize-boot-image.md | 2 +- windows/deployment/deploy-m365.md | 2 +- ...ows-10-operating-system-image-using-configuration-manager.md | 2 +- ...10-deployment-with-windows-pe-using-configuration-manager.md | 2 +- ...a-custom-windows-pe-boot-image-with-configuration-manager.md | 2 +- ...create-a-task-sequence-with-configuration-manager-and-mdt.md | 2 +- ...ion-to-deploy-with-windows-10-using-configuration-manager.md | 2 +- .../deploy-windows-10-using-pxe-and-configuration-manager.md | 2 +- ...tion-for-windows-10-deployment-with-configuration-manager.md | 2 +- ...dows-7-client-with-windows-10-using-configuration-manager.md | 2 +- ...dows-7-client-with-windows-10-using-configuration-manager.md | 2 +- .../upgrade-to-windows-10-with-configuration-manager.md | 2 +- .../deployment/do/images/elixir_ux/readme-elixir-ux-files.md | 2 +- .../planning/applying-filters-to-data-in-the-sua-tool.md | 2 +- ...e-data-types-and-operators-in-compatibility-administrator.md | 2 +- .../planning/compatibility-administrator-users-guide.md | 2 +- ...ibility-fix-database-management-strategies-and-deployment.md | 2 +- ...atibility-fixes-for-windows-8-windows-7-and-windows-vista.md | 2 +- ...a-custom-compatibility-fix-in-compatibility-administrator.md | 2 +- ...-custom-compatibility-mode-in-compatibility-administrator.md | 2 +- ...reating-an-apphelp-message-in-compatibility-administrator.md | 2 +- ...abling-compatibility-fixes-in-compatibility-administrator.md | 2 +- .../planning/fixing-applications-by-using-the-sua-tool.md | 2 +- ...om-compatibility-databases-in-compatibility-administrator.md | 2 +- ...-application-compatibility-fixes-and-custom-fix-databases.md | 2 +- ...ing-for-fixed-applications-in-compatibility-administrator.md | 2 +- ...-fixes-with-the-query-tool-in-compatibility-administrator.md | 2 +- .../planning/showing-messages-generated-by-the-sua-tool.md | 2 +- windows/deployment/planning/sua-users-guide.md | 2 +- windows/deployment/planning/tabs-on-the-sua-tool-interface.md | 2 +- .../planning/testing-your-application-mitigation-packages.md | 2 +- .../planning/understanding-and-using-compatibility-fixes.md | 2 +- .../planning/using-the-compatibility-administrator-tool.md | 2 +- .../planning/using-the-sdbinstexe-command-line-tool.md | 2 +- windows/deployment/planning/using-the-sua-tool.md | 2 +- windows/deployment/planning/using-the-sua-wizard.md | 2 +- .../viewing-the-events-screen-in-compatibility-administrator.md | 2 +- .../deployment/planning/windows-10-deployment-considerations.md | 2 +- .../planning/windows-10-infrastructure-requirements.md | 2 +- windows/deployment/update/eval-infra-tools.md | 2 +- windows/deployment/update/wufb-reports-help.md | 2 +- windows/deployment/upgrade/resolve-windows-upgrade-errors.md | 2 +- windows/deployment/upgrade/submit-errors.md | 2 +- windows/deployment/upgrade/windows-error-reporting.md | 2 +- .../upgrade/windows-upgrade-and-migration-considerations.md | 2 +- .../usmt/getting-started-with-the-user-state-migration-tool.md | 2 +- windows/deployment/usmt/migrate-application-settings.md | 2 +- windows/deployment/usmt/migration-store-types-overview.md | 2 +- windows/deployment/usmt/offline-migration-reference.md | 2 +- windows/deployment/usmt/understanding-migration-xml-files.md | 2 +- windows/deployment/usmt/usmt-best-practices.md | 2 +- windows/deployment/usmt/usmt-choose-migration-store-type.md | 2 +- windows/deployment/usmt/usmt-command-line-syntax.md | 2 +- windows/deployment/usmt/usmt-common-migration-scenarios.md | 2 +- windows/deployment/usmt/usmt-configxml-file.md | 2 +- windows/deployment/usmt/usmt-conflicts-and-precedence.md | 2 +- windows/deployment/usmt/usmt-custom-xml-examples.md | 2 +- windows/deployment/usmt/usmt-customize-xml-files.md | 2 +- windows/deployment/usmt/usmt-determine-what-to-migrate.md | 2 +- windows/deployment/usmt/usmt-estimate-migration-store-size.md | 2 +- windows/deployment/usmt/usmt-exclude-files-and-settings.md | 2 +- .../usmt-extract-files-from-a-compressed-migration-store.md | 2 +- windows/deployment/usmt/usmt-general-conventions.md | 2 +- windows/deployment/usmt/usmt-hard-link-migration-store.md | 2 +- windows/deployment/usmt/usmt-how-it-works.md | 2 +- windows/deployment/usmt/usmt-how-to.md | 2 +- windows/deployment/usmt/usmt-identify-application-settings.md | 2 +- .../usmt/usmt-identify-file-types-files-and-folders.md | 2 +- .../deployment/usmt/usmt-identify-operating-system-settings.md | 2 +- windows/deployment/usmt/usmt-identify-users.md | 2 +- windows/deployment/usmt/usmt-include-files-and-settings.md | 2 +- windows/deployment/usmt/usmt-loadstate-syntax.md | 2 +- windows/deployment/usmt/usmt-log-files.md | 2 +- .../deployment/usmt/usmt-migrate-efs-files-and-certificates.md | 2 +- windows/deployment/usmt/usmt-migrate-user-accounts.md | 2 +- windows/deployment/usmt/usmt-migration-store-encryption.md | 2 +- windows/deployment/usmt/usmt-plan-your-migration.md | 2 +- windows/deployment/usmt/usmt-reference.md | 2 +- windows/deployment/usmt/usmt-requirements.md | 2 +- windows/deployment/usmt/usmt-reroute-files-and-settings.md | 2 +- windows/deployment/usmt/usmt-resources.md | 2 +- windows/deployment/usmt/usmt-scanstate-syntax.md | 2 +- windows/deployment/usmt/usmt-technical-reference.md | 2 +- windows/deployment/usmt/usmt-test-your-migration.md | 2 +- windows/deployment/usmt/usmt-topics.md | 2 +- windows/deployment/usmt/usmt-troubleshooting.md | 2 +- windows/deployment/usmt/usmt-utilities.md | 2 +- windows/deployment/usmt/usmt-what-does-usmt-migrate.md | 2 +- windows/deployment/usmt/usmt-xml-elements-library.md | 2 +- windows/deployment/usmt/usmt-xml-reference.md | 2 +- .../verify-the-condition-of-a-compressed-migration-store.md | 2 +- windows/deployment/usmt/xml-file-requirements.md | 2 +- .../volume-activation/activate-forest-by-proxy-vamt.md | 2 +- windows/deployment/volume-activation/activate-forest-vamt.md | 2 +- .../volume-activation/activate-windows-clients-vamt.md | 2 +- .../active-directory-based-activation-overview.md | 2 +- .../deployment/volume-activation/add-manage-products-vamt.md | 2 +- .../deployment/volume-activation/add-remove-computers-vamt.md | 2 +- .../deployment/volume-activation/add-remove-product-key-vamt.md | 2 +- ...ix-information-sent-to-microsoft-during-activation-client.md | 2 +- .../volume-activation/configure-client-computers-vamt.md | 2 +- windows/deployment/volume-activation/install-configure-vamt.md | 2 +- .../deployment/volume-activation/install-kms-client-key-vamt.md | 2 +- .../deployment/volume-activation/install-product-key-vamt.md | 2 +- windows/deployment/volume-activation/install-vamt.md | 2 +- windows/deployment/volume-activation/kms-activation-vamt.md | 2 +- windows/deployment/volume-activation/local-reactivation-vamt.md | 2 +- windows/deployment/volume-activation/manage-activations-vamt.md | 2 +- .../deployment/volume-activation/manage-product-keys-vamt.md | 2 +- windows/deployment/volume-activation/manage-vamt-data.md | 2 +- .../deployment/volume-activation/monitor-activation-client.md | 2 +- windows/deployment/volume-activation/online-activation-vamt.md | 2 +- .../volume-activation/plan-for-volume-activation-client.md | 2 +- windows/deployment/volume-activation/proxy-activation-vamt.md | 2 +- windows/deployment/volume-activation/remove-products-vamt.md | 2 +- .../volume-activation/scenario-kms-activation-vamt.md | 2 +- .../volume-activation/scenario-online-activation-vamt.md | 2 +- .../volume-activation/scenario-proxy-activation-vamt.md | 2 +- .../deployment/volume-activation/update-product-status-vamt.md | 2 +- .../use-the-volume-activation-management-tool-client.md | 2 +- .../volume-activation/use-vamt-in-windows-powershell.md | 2 +- windows/deployment/volume-activation/vamt-known-issues.md | 2 +- windows/deployment/volume-activation/vamt-requirements.md | 2 +- windows/deployment/volume-activation/vamt-step-by-step.md | 2 +- .../deployment/volume-activation/volume-activation-windows.md | 2 +- windows/deployment/wds-boot-support.md | 2 +- windows/deployment/windows-10-pro-in-s-mode.md | 2 +- windows/deployment/windows-adk-scenarios-for-it-pros.md | 2 +- windows/deployment/windows-deployment-scenarios-and-tools.md | 2 +- windows/deployment/windows-deployment-scenarios.md | 2 +- windows/deployment/windows-enterprise-e3-overview.md | 2 +- windows/deployment/windows-missing-fonts.md | 2 +- 135 files changed, 135 insertions(+), 135 deletions(-) diff --git a/windows/application-management/enterprise-background-activity-controls.md b/windows/application-management/enterprise-background-activity-controls.md index 2a00963aef..73dbb919ae 100644 --- a/windows/application-management/enterprise-background-activity-controls.md +++ b/windows/application-management/enterprise-background-activity-controls.md @@ -5,7 +5,7 @@ author: aczechowski ms.author: aaroncz manager: aaroncz ms.date: 10/03/2017 -ms.topic: article +ms.topic: conceptual ms.service: windows-client ms.subservice: itpro-apps ms.localizationpriority: medium diff --git a/windows/application-management/private-app-repository-mdm-company-portal-windows-11.md b/windows/application-management/private-app-repository-mdm-company-portal-windows-11.md index 90281afcd3..d6b6444c8d 100644 --- a/windows/application-management/private-app-repository-mdm-company-portal-windows-11.md +++ b/windows/application-management/private-app-repository-mdm-company-portal-windows-11.md @@ -5,7 +5,7 @@ author: aczechowski ms.author: aaroncz manager: aaroncz ms.date: 04/04/2023 -ms.topic: article +ms.topic: conceptual ms.service: windows-client ms.subservice: itpro-apps ms.localizationpriority: medium diff --git a/windows/deployment/configure-a-pxe-server-to-load-windows-pe.md b/windows/deployment/configure-a-pxe-server-to-load-windows-pe.md index 8afd2c00f8..4b8d904b2e 100644 --- a/windows/deployment/configure-a-pxe-server-to-load-windows-pe.md +++ b/windows/deployment/configure-a-pxe-server-to-load-windows-pe.md @@ -6,7 +6,7 @@ ms.localizationpriority: medium author: frankroj manager: aaroncz ms.author: frankroj -ms.topic: article +ms.topic: conceptual ms.date: 11/23/2022 ms.subservice: itpro-deploy --- diff --git a/windows/deployment/customize-boot-image.md b/windows/deployment/customize-boot-image.md index e03de452cb..f49b063823 100644 --- a/windows/deployment/customize-boot-image.md +++ b/windows/deployment/customize-boot-image.md @@ -6,7 +6,7 @@ ms.localizationpriority: medium author: frankroj manager: aaroncz ms.author: frankroj -ms.topic: article +ms.topic: conceptual ms.date: 05/09/2024 ms.subservice: itpro-deploy appliesto: diff --git a/windows/deployment/deploy-m365.md b/windows/deployment/deploy-m365.md index c2a4d9ce76..d125b76faf 100644 --- a/windows/deployment/deploy-m365.md +++ b/windows/deployment/deploy-m365.md @@ -6,7 +6,7 @@ description: Learn about deploying Windows with Microsoft 365 and how to use a f ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.date: 02/13/2024 ms.subservice: itpro-deploy appliesto: diff --git a/windows/deployment/deploy-windows-cm/add-a-windows-10-operating-system-image-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/add-a-windows-10-operating-system-image-using-configuration-manager.md index c5ed56316b..078191014f 100644 --- a/windows/deployment/deploy-windows-cm/add-a-windows-10-operating-system-image-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/add-a-windows-10-operating-system-image-using-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md index 40fdcea0df..3e07ef2858 100644 --- a/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md b/windows/deployment/deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md index da7c70c515..cee1940d35 100644 --- a/windows/deployment/deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/create-a-task-sequence-with-configuration-manager-and-mdt.md b/windows/deployment/deploy-windows-cm/create-a-task-sequence-with-configuration-manager-and-mdt.md index af5baf8233..1f1fdf0411 100644 --- a/windows/deployment/deploy-windows-cm/create-a-task-sequence-with-configuration-manager-and-mdt.md +++ b/windows/deployment/deploy-windows-cm/create-a-task-sequence-with-configuration-manager-and-mdt.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/create-an-application-to-deploy-with-windows-10-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/create-an-application-to-deploy-with-windows-10-using-configuration-manager.md index 7159edcbe3..da0da8612c 100644 --- a/windows/deployment/deploy-windows-cm/create-an-application-to-deploy-with-windows-10-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/create-an-application-to-deploy-with-windows-10-using-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/deploy-windows-10-using-pxe-and-configuration-manager.md b/windows/deployment/deploy-windows-cm/deploy-windows-10-using-pxe-and-configuration-manager.md index 648a274ad0..1d0ee23b79 100644 --- a/windows/deployment/deploy-windows-cm/deploy-windows-10-using-pxe-and-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/deploy-windows-10-using-pxe-and-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/finalize-the-os-configuration-for-windows-10-deployment-with-configuration-manager.md b/windows/deployment/deploy-windows-cm/finalize-the-os-configuration-for-windows-10-deployment-with-configuration-manager.md index 4929876f5a..ceea5b0432 100644 --- a/windows/deployment/deploy-windows-cm/finalize-the-os-configuration-for-windows-10-deployment-with-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/finalize-the-os-configuration-for-windows-10-deployment-with-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md index 19bb081501..e6876a705b 100644 --- a/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/refresh-a-windows-7-client-with-windows-10-using-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md index b13078046f..e26d5695c1 100644 --- a/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/replace-a-windows-7-client-with-windows-10-using-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md b/windows/deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md index bddc7bf6cb..ad22f1ed1a 100644 --- a/windows/deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/upgrade-to-windows-10-with-configuration-manager.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/27/2022 --- diff --git a/windows/deployment/do/images/elixir_ux/readme-elixir-ux-files.md b/windows/deployment/do/images/elixir_ux/readme-elixir-ux-files.md index bc36a395ef..8b132e7d76 100644 --- a/windows/deployment/do/images/elixir_ux/readme-elixir-ux-files.md +++ b/windows/deployment/do/images/elixir_ux/readme-elixir-ux-files.md @@ -5,7 +5,7 @@ description: Elixir images read me file ms.service: windows-client author: nidos ms.author: nidos -ms.topic: article +ms.topic: conceptual ms.date: 12/31/2017 ms.subservice: itpro-updates robots: noindex diff --git a/windows/deployment/planning/applying-filters-to-data-in-the-sua-tool.md b/windows/deployment/planning/applying-filters-to-data-in-the-sua-tool.md index e592664ec5..34bf0d7f22 100644 --- a/windows/deployment/planning/applying-filters-to-data-in-the-sua-tool.md +++ b/windows/deployment/planning/applying-filters-to-data-in-the-sua-tool.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md b/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md index 1d4df56098..1b714e4247 100644 --- a/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md +++ b/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/compatibility-administrator-users-guide.md b/windows/deployment/planning/compatibility-administrator-users-guide.md index 853283a0cc..4e8ee9cb22 100644 --- a/windows/deployment/planning/compatibility-administrator-users-guide.md +++ b/windows/deployment/planning/compatibility-administrator-users-guide.md @@ -5,7 +5,7 @@ ms.author: frankroj description: The Compatibility Administrator tool helps you resolve potential application-compatibility issues before deploying a new version of Windows. ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/compatibility-fix-database-management-strategies-and-deployment.md b/windows/deployment/planning/compatibility-fix-database-management-strategies-and-deployment.md index dd2905355f..acd338e940 100644 --- a/windows/deployment/planning/compatibility-fix-database-management-strategies-and-deployment.md +++ b/windows/deployment/planning/compatibility-fix-database-management-strategies-and-deployment.md @@ -6,7 +6,7 @@ description: Learn how to deploy your compatibility fixes into an application-in ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md b/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md index e37a77e25a..6148602a62 100644 --- a/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md +++ b/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/creating-a-custom-compatibility-fix-in-compatibility-administrator.md b/windows/deployment/planning/creating-a-custom-compatibility-fix-in-compatibility-administrator.md index c1946e6941..d008653378 100644 --- a/windows/deployment/planning/creating-a-custom-compatibility-fix-in-compatibility-administrator.md +++ b/windows/deployment/planning/creating-a-custom-compatibility-fix-in-compatibility-administrator.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/creating-a-custom-compatibility-mode-in-compatibility-administrator.md b/windows/deployment/planning/creating-a-custom-compatibility-mode-in-compatibility-administrator.md index 9e8137b12b..ffbac4b896 100644 --- a/windows/deployment/planning/creating-a-custom-compatibility-mode-in-compatibility-administrator.md +++ b/windows/deployment/planning/creating-a-custom-compatibility-mode-in-compatibility-administrator.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/creating-an-apphelp-message-in-compatibility-administrator.md b/windows/deployment/planning/creating-an-apphelp-message-in-compatibility-administrator.md index a77208735d..5ba7a9cf41 100644 --- a/windows/deployment/planning/creating-an-apphelp-message-in-compatibility-administrator.md +++ b/windows/deployment/planning/creating-an-apphelp-message-in-compatibility-administrator.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md b/windows/deployment/planning/enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md index e37786a9a6..1767d6c21b 100644 --- a/windows/deployment/planning/enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md +++ b/windows/deployment/planning/enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md b/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md index 7155581ea8..ebb8501b13 100644 --- a/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md +++ b/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md b/windows/deployment/planning/installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md index a50feb249b..e7265156ef 100644 --- a/windows/deployment/planning/installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md +++ b/windows/deployment/planning/installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md b/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md index 69b7bd6cd3..6f9d7dae92 100644 --- a/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md +++ b/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/searching-for-fixed-applications-in-compatibility-administrator.md b/windows/deployment/planning/searching-for-fixed-applications-in-compatibility-administrator.md index aa27616363..a65742c0f2 100644 --- a/windows/deployment/planning/searching-for-fixed-applications-in-compatibility-administrator.md +++ b/windows/deployment/planning/searching-for-fixed-applications-in-compatibility-administrator.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md b/windows/deployment/planning/searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md index 847fb0731b..c7cd8de1b8 100644 --- a/windows/deployment/planning/searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md +++ b/windows/deployment/planning/searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md b/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md index cb8a3ebc82..53428226ac 100644 --- a/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md +++ b/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/sua-users-guide.md b/windows/deployment/planning/sua-users-guide.md index 47b4ffba5c..3933f9c2d5 100644 --- a/windows/deployment/planning/sua-users-guide.md +++ b/windows/deployment/planning/sua-users-guide.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/tabs-on-the-sua-tool-interface.md b/windows/deployment/planning/tabs-on-the-sua-tool-interface.md index c6af910322..6c189c6d79 100644 --- a/windows/deployment/planning/tabs-on-the-sua-tool-interface.md +++ b/windows/deployment/planning/tabs-on-the-sua-tool-interface.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/testing-your-application-mitigation-packages.md b/windows/deployment/planning/testing-your-application-mitigation-packages.md index 481d2ce883..fcc32044a3 100644 --- a/windows/deployment/planning/testing-your-application-mitigation-packages.md +++ b/windows/deployment/planning/testing-your-application-mitigation-packages.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/understanding-and-using-compatibility-fixes.md b/windows/deployment/planning/understanding-and-using-compatibility-fixes.md index 7327ff75b9..6fa5f46c8c 100644 --- a/windows/deployment/planning/understanding-and-using-compatibility-fixes.md +++ b/windows/deployment/planning/understanding-and-using-compatibility-fixes.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/using-the-compatibility-administrator-tool.md b/windows/deployment/planning/using-the-compatibility-administrator-tool.md index d3c2f77b38..d938b218f9 100644 --- a/windows/deployment/planning/using-the-compatibility-administrator-tool.md +++ b/windows/deployment/planning/using-the-compatibility-administrator-tool.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md b/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md index 2ae090b3f3..d9152b5782 100644 --- a/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md +++ b/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/using-the-sua-tool.md b/windows/deployment/planning/using-the-sua-tool.md index 043d002305..c67a5ba90a 100644 --- a/windows/deployment/planning/using-the-sua-tool.md +++ b/windows/deployment/planning/using-the-sua-tool.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/using-the-sua-wizard.md b/windows/deployment/planning/using-the-sua-wizard.md index 8f7ed9170b..5107afeb74 100644 --- a/windows/deployment/planning/using-the-sua-wizard.md +++ b/windows/deployment/planning/using-the-sua-wizard.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 10/28/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy --- diff --git a/windows/deployment/planning/viewing-the-events-screen-in-compatibility-administrator.md b/windows/deployment/planning/viewing-the-events-screen-in-compatibility-administrator.md index 38b8b8cf10..cf1a19004e 100644 --- a/windows/deployment/planning/viewing-the-events-screen-in-compatibility-administrator.md +++ b/windows/deployment/planning/viewing-the-events-screen-in-compatibility-administrator.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/windows-10-deployment-considerations.md b/windows/deployment/planning/windows-10-deployment-considerations.md index 4b6d775551..4de089d98f 100644 --- a/windows/deployment/planning/windows-10-deployment-considerations.md +++ b/windows/deployment/planning/windows-10-deployment-considerations.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/planning/windows-10-infrastructure-requirements.md b/windows/deployment/planning/windows-10-infrastructure-requirements.md index f33cc45e96..f6e34ac694 100644 --- a/windows/deployment/planning/windows-10-infrastructure-requirements.md +++ b/windows/deployment/planning/windows-10-infrastructure-requirements.md @@ -6,7 +6,7 @@ ms.author: frankroj ms.service: windows-client ms.localizationpriority: medium author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 10/28/2022 --- diff --git a/windows/deployment/update/eval-infra-tools.md b/windows/deployment/update/eval-infra-tools.md index d12a78f404..920952b771 100644 --- a/windows/deployment/update/eval-infra-tools.md +++ b/windows/deployment/update/eval-infra-tools.md @@ -3,7 +3,7 @@ title: Evaluate infrastructure and tools description: Review the steps to ensure your infrastructure is ready to deploy updates to clients in your organization. ms.service: windows-client ms.subservice: itpro-updates -ms.topic: article +ms.topic: conceptual author: mestew ms.author: mstewart manager: aaroncz diff --git a/windows/deployment/update/wufb-reports-help.md b/windows/deployment/update/wufb-reports-help.md index 6e7c31a485..4561a0045f 100644 --- a/windows/deployment/update/wufb-reports-help.md +++ b/windows/deployment/update/wufb-reports-help.md @@ -4,7 +4,7 @@ titleSuffix: Windows Update for Business reports description: Windows Update for Business reports support, feedback, and troubleshooting information. ms.service: windows-client ms.subservice: itpro-updates -ms.topic: article +ms.topic: conceptual author: mestew ms.author: mstewart manager: aaroncz diff --git a/windows/deployment/upgrade/resolve-windows-upgrade-errors.md b/windows/deployment/upgrade/resolve-windows-upgrade-errors.md index db42df75b3..da72341ab0 100644 --- a/windows/deployment/upgrade/resolve-windows-upgrade-errors.md +++ b/windows/deployment/upgrade/resolve-windows-upgrade-errors.md @@ -5,7 +5,7 @@ ms.author: frankroj description: Resolve Windows upgrade errors for ITPros. Technical information for IT professionals to help diagnose Windows setup errors. author: frankroj ms.localizationpriority: medium -ms.topic: article +ms.topic: conceptual ms.service: windows-client ms.subservice: itpro-deploy ms.date: 01/18/2024 diff --git a/windows/deployment/upgrade/submit-errors.md b/windows/deployment/upgrade/submit-errors.md index 16cae375b4..48726194a2 100644 --- a/windows/deployment/upgrade/submit-errors.md +++ b/windows/deployment/upgrade/submit-errors.md @@ -6,7 +6,7 @@ description: Download the Feedback Hub app, and then submit Windows upgrade erro ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 01/18/2024 appliesto: diff --git a/windows/deployment/upgrade/windows-error-reporting.md b/windows/deployment/upgrade/windows-error-reporting.md index 6bf70a9220..c7251d75b2 100644 --- a/windows/deployment/upgrade/windows-error-reporting.md +++ b/windows/deployment/upgrade/windows-error-reporting.md @@ -6,7 +6,7 @@ description: Learn how to review the events generated by Windows Error Reporting ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 01/18/2024 appliesto: diff --git a/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md b/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md index 90b71af916..48b8e267ec 100644 --- a/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md +++ b/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 08/09/2023 --- diff --git a/windows/deployment/usmt/getting-started-with-the-user-state-migration-tool.md b/windows/deployment/usmt/getting-started-with-the-user-state-migration-tool.md index 398bf0db0c..fda2e72b83 100644 --- a/windows/deployment/usmt/getting-started-with-the-user-state-migration-tool.md +++ b/windows/deployment/usmt/getting-started-with-the-user-state-migration-tool.md @@ -6,7 +6,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 01/09/2024 appliesto: diff --git a/windows/deployment/usmt/migrate-application-settings.md b/windows/deployment/usmt/migrate-application-settings.md index 0c0c0cd136..9d79558fac 100644 --- a/windows/deployment/usmt/migrate-application-settings.md +++ b/windows/deployment/usmt/migrate-application-settings.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/migration-store-types-overview.md b/windows/deployment/usmt/migration-store-types-overview.md index a78ca35e20..f0fdf74531 100644 --- a/windows/deployment/usmt/migration-store-types-overview.md +++ b/windows/deployment/usmt/migration-store-types-overview.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/offline-migration-reference.md b/windows/deployment/usmt/offline-migration-reference.md index 37d0ee09aa..8e72361a5d 100644 --- a/windows/deployment/usmt/offline-migration-reference.md +++ b/windows/deployment/usmt/offline-migration-reference.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/understanding-migration-xml-files.md b/windows/deployment/usmt/understanding-migration-xml-files.md index a0a19e6b05..3adb68387b 100644 --- a/windows/deployment/usmt/understanding-migration-xml-files.md +++ b/windows/deployment/usmt/understanding-migration-xml-files.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-best-practices.md b/windows/deployment/usmt/usmt-best-practices.md index 389249762f..4ebf6ff55f 100644 --- a/windows/deployment/usmt/usmt-best-practices.md +++ b/windows/deployment/usmt/usmt-best-practices.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-choose-migration-store-type.md b/windows/deployment/usmt/usmt-choose-migration-store-type.md index 3fa1d56d53..1847cce5d9 100644 --- a/windows/deployment/usmt/usmt-choose-migration-store-type.md +++ b/windows/deployment/usmt/usmt-choose-migration-store-type.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-command-line-syntax.md b/windows/deployment/usmt/usmt-command-line-syntax.md index 7910d461e3..4844937b52 100644 --- a/windows/deployment/usmt/usmt-command-line-syntax.md +++ b/windows/deployment/usmt/usmt-command-line-syntax.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-common-migration-scenarios.md b/windows/deployment/usmt/usmt-common-migration-scenarios.md index 3cd5309aed..1685667185 100644 --- a/windows/deployment/usmt/usmt-common-migration-scenarios.md +++ b/windows/deployment/usmt/usmt-common-migration-scenarios.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-configxml-file.md b/windows/deployment/usmt/usmt-configxml-file.md index 4e57000ce6..c0e4682965 100644 --- a/windows/deployment/usmt/usmt-configxml-file.md +++ b/windows/deployment/usmt/usmt-configxml-file.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-conflicts-and-precedence.md b/windows/deployment/usmt/usmt-conflicts-and-precedence.md index 3bcd0d7bad..f9874a4d2f 100644 --- a/windows/deployment/usmt/usmt-conflicts-and-precedence.md +++ b/windows/deployment/usmt/usmt-conflicts-and-precedence.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-custom-xml-examples.md b/windows/deployment/usmt/usmt-custom-xml-examples.md index 18b3331ea4..130f3031c8 100644 --- a/windows/deployment/usmt/usmt-custom-xml-examples.md +++ b/windows/deployment/usmt/usmt-custom-xml-examples.md @@ -6,7 +6,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 01/09/2024 appliesto: diff --git a/windows/deployment/usmt/usmt-customize-xml-files.md b/windows/deployment/usmt/usmt-customize-xml-files.md index 33c3120090..8eefa733d4 100644 --- a/windows/deployment/usmt/usmt-customize-xml-files.md +++ b/windows/deployment/usmt/usmt-customize-xml-files.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-determine-what-to-migrate.md b/windows/deployment/usmt/usmt-determine-what-to-migrate.md index 68e87f678b..bad57314e9 100644 --- a/windows/deployment/usmt/usmt-determine-what-to-migrate.md +++ b/windows/deployment/usmt/usmt-determine-what-to-migrate.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-estimate-migration-store-size.md b/windows/deployment/usmt/usmt-estimate-migration-store-size.md index 8db55b2eae..014e48a76e 100644 --- a/windows/deployment/usmt/usmt-estimate-migration-store-size.md +++ b/windows/deployment/usmt/usmt-estimate-migration-store-size.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-exclude-files-and-settings.md b/windows/deployment/usmt/usmt-exclude-files-and-settings.md index 221ef98e11..354badb01a 100644 --- a/windows/deployment/usmt/usmt-exclude-files-and-settings.md +++ b/windows/deployment/usmt/usmt-exclude-files-and-settings.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-extract-files-from-a-compressed-migration-store.md b/windows/deployment/usmt/usmt-extract-files-from-a-compressed-migration-store.md index c39ac18b5a..59234776e5 100644 --- a/windows/deployment/usmt/usmt-extract-files-from-a-compressed-migration-store.md +++ b/windows/deployment/usmt/usmt-extract-files-from-a-compressed-migration-store.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-general-conventions.md b/windows/deployment/usmt/usmt-general-conventions.md index f0e8b6df67..38b66a02b6 100644 --- a/windows/deployment/usmt/usmt-general-conventions.md +++ b/windows/deployment/usmt/usmt-general-conventions.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-hard-link-migration-store.md b/windows/deployment/usmt/usmt-hard-link-migration-store.md index fb1b03a426..d2cae89bc7 100644 --- a/windows/deployment/usmt/usmt-hard-link-migration-store.md +++ b/windows/deployment/usmt/usmt-hard-link-migration-store.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-how-it-works.md b/windows/deployment/usmt/usmt-how-it-works.md index 7008393b54..591b1d3804 100644 --- a/windows/deployment/usmt/usmt-how-it-works.md +++ b/windows/deployment/usmt/usmt-how-it-works.md @@ -6,7 +6,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy ms.date: 01/09/2024 appliesto: diff --git a/windows/deployment/usmt/usmt-how-to.md b/windows/deployment/usmt/usmt-how-to.md index 5356e4e408..c3589124d1 100644 --- a/windows/deployment/usmt/usmt-how-to.md +++ b/windows/deployment/usmt/usmt-how-to.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-identify-application-settings.md b/windows/deployment/usmt/usmt-identify-application-settings.md index 588764266d..feca874008 100644 --- a/windows/deployment/usmt/usmt-identify-application-settings.md +++ b/windows/deployment/usmt/usmt-identify-application-settings.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-identify-file-types-files-and-folders.md b/windows/deployment/usmt/usmt-identify-file-types-files-and-folders.md index db8587a5a5..e5b15c352d 100644 --- a/windows/deployment/usmt/usmt-identify-file-types-files-and-folders.md +++ b/windows/deployment/usmt/usmt-identify-file-types-files-and-folders.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-identify-operating-system-settings.md b/windows/deployment/usmt/usmt-identify-operating-system-settings.md index 5d8c14a899..cedbe8d1f9 100644 --- a/windows/deployment/usmt/usmt-identify-operating-system-settings.md +++ b/windows/deployment/usmt/usmt-identify-operating-system-settings.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-identify-users.md b/windows/deployment/usmt/usmt-identify-users.md index 6f3195fe0a..736881d3b3 100644 --- a/windows/deployment/usmt/usmt-identify-users.md +++ b/windows/deployment/usmt/usmt-identify-users.md @@ -6,7 +6,7 @@ manager: aaroncz ms.author: frankroj ms.service: windows-client author: frankroj -ms.topic: article +ms.topic: conceptual ms.localizationpriority: medium ms.subservice: itpro-deploy ms.date: 01/09/2024 diff --git a/windows/deployment/usmt/usmt-include-files-and-settings.md b/windows/deployment/usmt/usmt-include-files-and-settings.md index aa89ea14d0..f4d79a27f2 100644 --- a/windows/deployment/usmt/usmt-include-files-and-settings.md +++ b/windows/deployment/usmt/usmt-include-files-and-settings.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-loadstate-syntax.md b/windows/deployment/usmt/usmt-loadstate-syntax.md index c13a48e0c7..a4bf1f2eeb 100644 --- a/windows/deployment/usmt/usmt-loadstate-syntax.md +++ b/windows/deployment/usmt/usmt-loadstate-syntax.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 04/30/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-log-files.md b/windows/deployment/usmt/usmt-log-files.md index 53b4df1789..70f159b544 100644 --- a/windows/deployment/usmt/usmt-log-files.md +++ b/windows/deployment/usmt/usmt-log-files.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-migrate-efs-files-and-certificates.md b/windows/deployment/usmt/usmt-migrate-efs-files-and-certificates.md index eeb1b3c15f..39944f9a6a 100644 --- a/windows/deployment/usmt/usmt-migrate-efs-files-and-certificates.md +++ b/windows/deployment/usmt/usmt-migrate-efs-files-and-certificates.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-migrate-user-accounts.md b/windows/deployment/usmt/usmt-migrate-user-accounts.md index 898de489c6..41f319446d 100644 --- a/windows/deployment/usmt/usmt-migrate-user-accounts.md +++ b/windows/deployment/usmt/usmt-migrate-user-accounts.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-migration-store-encryption.md b/windows/deployment/usmt/usmt-migration-store-encryption.md index 17d6643a94..b5dc3eb5fe 100644 --- a/windows/deployment/usmt/usmt-migration-store-encryption.md +++ b/windows/deployment/usmt/usmt-migration-store-encryption.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-plan-your-migration.md b/windows/deployment/usmt/usmt-plan-your-migration.md index 806b4afc87..20bbc09ad5 100644 --- a/windows/deployment/usmt/usmt-plan-your-migration.md +++ b/windows/deployment/usmt/usmt-plan-your-migration.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-reference.md b/windows/deployment/usmt/usmt-reference.md index e81d243feb..9581170803 100644 --- a/windows/deployment/usmt/usmt-reference.md +++ b/windows/deployment/usmt/usmt-reference.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-requirements.md b/windows/deployment/usmt/usmt-requirements.md index cdb3d41096..26b5f86f7a 100644 --- a/windows/deployment/usmt/usmt-requirements.md +++ b/windows/deployment/usmt/usmt-requirements.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 04/30/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-reroute-files-and-settings.md b/windows/deployment/usmt/usmt-reroute-files-and-settings.md index 247311e3eb..f002c6d337 100644 --- a/windows/deployment/usmt/usmt-reroute-files-and-settings.md +++ b/windows/deployment/usmt/usmt-reroute-files-and-settings.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-resources.md b/windows/deployment/usmt/usmt-resources.md index 18a09528cb..239d7be582 100644 --- a/windows/deployment/usmt/usmt-resources.md +++ b/windows/deployment/usmt/usmt-resources.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-scanstate-syntax.md b/windows/deployment/usmt/usmt-scanstate-syntax.md index 82d4e9ada4..24f73b72d1 100644 --- a/windows/deployment/usmt/usmt-scanstate-syntax.md +++ b/windows/deployment/usmt/usmt-scanstate-syntax.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 04/30/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-technical-reference.md b/windows/deployment/usmt/usmt-technical-reference.md index 6a7de9fd90..1254f4fef0 100644 --- a/windows/deployment/usmt/usmt-technical-reference.md +++ b/windows/deployment/usmt/usmt-technical-reference.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-test-your-migration.md b/windows/deployment/usmt/usmt-test-your-migration.md index b4a39f6bfd..57767aecf4 100644 --- a/windows/deployment/usmt/usmt-test-your-migration.md +++ b/windows/deployment/usmt/usmt-test-your-migration.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-topics.md b/windows/deployment/usmt/usmt-topics.md index 8b868f1fec..e3be3d8fd0 100644 --- a/windows/deployment/usmt/usmt-topics.md +++ b/windows/deployment/usmt/usmt-topics.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-troubleshooting.md b/windows/deployment/usmt/usmt-troubleshooting.md index e3c14bf619..3e85b84a37 100644 --- a/windows/deployment/usmt/usmt-troubleshooting.md +++ b/windows/deployment/usmt/usmt-troubleshooting.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-utilities.md b/windows/deployment/usmt/usmt-utilities.md index 2ccde56d88..20c70db094 100644 --- a/windows/deployment/usmt/usmt-utilities.md +++ b/windows/deployment/usmt/usmt-utilities.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-what-does-usmt-migrate.md b/windows/deployment/usmt/usmt-what-does-usmt-migrate.md index b069f9ac46..e03e8db9c0 100644 --- a/windows/deployment/usmt/usmt-what-does-usmt-migrate.md +++ b/windows/deployment/usmt/usmt-what-does-usmt-migrate.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/18/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-xml-elements-library.md b/windows/deployment/usmt/usmt-xml-elements-library.md index 7e06dffcf9..a4694c75a9 100644 --- a/windows/deployment/usmt/usmt-xml-elements-library.md +++ b/windows/deployment/usmt/usmt-xml-elements-library.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/usmt-xml-reference.md b/windows/deployment/usmt/usmt-xml-reference.md index 4bc9ba48e0..3b1f32fc27 100644 --- a/windows/deployment/usmt/usmt-xml-reference.md +++ b/windows/deployment/usmt/usmt-xml-reference.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/verify-the-condition-of-a-compressed-migration-store.md b/windows/deployment/usmt/verify-the-condition-of-a-compressed-migration-store.md index 2f66da5edc..818a24659e 100644 --- a/windows/deployment/usmt/verify-the-condition-of-a-compressed-migration-store.md +++ b/windows/deployment/usmt/verify-the-condition-of-a-compressed-migration-store.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/usmt/xml-file-requirements.md b/windows/deployment/usmt/xml-file-requirements.md index 3182faf447..7d1969ad11 100644 --- a/windows/deployment/usmt/xml-file-requirements.md +++ b/windows/deployment/usmt/xml-file-requirements.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 01/09/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md b/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md index 4c3cae83e2..fcf91e9502 100644 --- a/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md +++ b/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/activate-forest-vamt.md b/windows/deployment/volume-activation/activate-forest-vamt.md index 82278ce278..128068b07c 100644 --- a/windows/deployment/volume-activation/activate-forest-vamt.md +++ b/windows/deployment/volume-activation/activate-forest-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/activate-windows-clients-vamt.md b/windows/deployment/volume-activation/activate-windows-clients-vamt.md index 46d76cbe54..7f95ef225e 100644 --- a/windows/deployment/volume-activation/activate-windows-clients-vamt.md +++ b/windows/deployment/volume-activation/activate-windows-clients-vamt.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 diff --git a/windows/deployment/volume-activation/active-directory-based-activation-overview.md b/windows/deployment/volume-activation/active-directory-based-activation-overview.md index 3d293922bf..ed01a87d85 100644 --- a/windows/deployment/volume-activation/active-directory-based-activation-overview.md +++ b/windows/deployment/volume-activation/active-directory-based-activation-overview.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/add-manage-products-vamt.md b/windows/deployment/volume-activation/add-manage-products-vamt.md index f4fc72f1ab..e4f655dbf7 100644 --- a/windows/deployment/volume-activation/add-manage-products-vamt.md +++ b/windows/deployment/volume-activation/add-manage-products-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/add-remove-computers-vamt.md b/windows/deployment/volume-activation/add-remove-computers-vamt.md index 4ee747359f..9878980a5d 100644 --- a/windows/deployment/volume-activation/add-remove-computers-vamt.md +++ b/windows/deployment/volume-activation/add-remove-computers-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/add-remove-product-key-vamt.md b/windows/deployment/volume-activation/add-remove-product-key-vamt.md index 89439e87f0..af1131f23a 100644 --- a/windows/deployment/volume-activation/add-remove-product-key-vamt.md +++ b/windows/deployment/volume-activation/add-remove-product-key-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md b/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md index 4346a5ce67..7fce96b052 100644 --- a/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md +++ b/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md @@ -9,7 +9,7 @@ ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual appliesto: - ✅ Windows 11 - ✅ Windows 10 diff --git a/windows/deployment/volume-activation/configure-client-computers-vamt.md b/windows/deployment/volume-activation/configure-client-computers-vamt.md index 5b39a2996e..c3c6e47154 100644 --- a/windows/deployment/volume-activation/configure-client-computers-vamt.md +++ b/windows/deployment/volume-activation/configure-client-computers-vamt.md @@ -7,7 +7,7 @@ author: frankroj ms.author: frankroj ms.service: windows-client ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/install-configure-vamt.md b/windows/deployment/volume-activation/install-configure-vamt.md index fa8087423a..aee189d31f 100644 --- a/windows/deployment/volume-activation/install-configure-vamt.md +++ b/windows/deployment/volume-activation/install-configure-vamt.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/install-kms-client-key-vamt.md b/windows/deployment/volume-activation/install-kms-client-key-vamt.md index 0c65b30992..80a5fc67e1 100644 --- a/windows/deployment/volume-activation/install-kms-client-key-vamt.md +++ b/windows/deployment/volume-activation/install-kms-client-key-vamt.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/install-product-key-vamt.md b/windows/deployment/volume-activation/install-product-key-vamt.md index fec886a0b7..2b9d727184 100644 --- a/windows/deployment/volume-activation/install-product-key-vamt.md +++ b/windows/deployment/volume-activation/install-product-key-vamt.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/install-vamt.md b/windows/deployment/volume-activation/install-vamt.md index 8c43c6cda6..3b3b7746fa 100644 --- a/windows/deployment/volume-activation/install-vamt.md +++ b/windows/deployment/volume-activation/install-vamt.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 diff --git a/windows/deployment/volume-activation/kms-activation-vamt.md b/windows/deployment/volume-activation/kms-activation-vamt.md index 97e5bcca16..1890da7caf 100644 --- a/windows/deployment/volume-activation/kms-activation-vamt.md +++ b/windows/deployment/volume-activation/kms-activation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/local-reactivation-vamt.md b/windows/deployment/volume-activation/local-reactivation-vamt.md index 277342a97d..2bee6093d1 100644 --- a/windows/deployment/volume-activation/local-reactivation-vamt.md +++ b/windows/deployment/volume-activation/local-reactivation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/manage-activations-vamt.md b/windows/deployment/volume-activation/manage-activations-vamt.md index 9216ff075c..49cbc84db3 100644 --- a/windows/deployment/volume-activation/manage-activations-vamt.md +++ b/windows/deployment/volume-activation/manage-activations-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/manage-product-keys-vamt.md b/windows/deployment/volume-activation/manage-product-keys-vamt.md index 15579d3b82..fb18c65aa6 100644 --- a/windows/deployment/volume-activation/manage-product-keys-vamt.md +++ b/windows/deployment/volume-activation/manage-product-keys-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/manage-vamt-data.md b/windows/deployment/volume-activation/manage-vamt-data.md index de933e88c8..3946fc1c63 100644 --- a/windows/deployment/volume-activation/manage-vamt-data.md +++ b/windows/deployment/volume-activation/manage-vamt-data.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/monitor-activation-client.md b/windows/deployment/volume-activation/monitor-activation-client.md index 8a59c549bd..3720919a25 100644 --- a/windows/deployment/volume-activation/monitor-activation-client.md +++ b/windows/deployment/volume-activation/monitor-activation-client.md @@ -7,7 +7,7 @@ description: Understand the most common methods to monitor the success of the ac ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals ms.date: 03/29/2024 appliesto: diff --git a/windows/deployment/volume-activation/online-activation-vamt.md b/windows/deployment/volume-activation/online-activation-vamt.md index 537f46d71e..3e6a04568d 100644 --- a/windows/deployment/volume-activation/online-activation-vamt.md +++ b/windows/deployment/volume-activation/online-activation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/plan-for-volume-activation-client.md b/windows/deployment/volume-activation/plan-for-volume-activation-client.md index 7702949941..89dab1ef39 100644 --- a/windows/deployment/volume-activation/plan-for-volume-activation-client.md +++ b/windows/deployment/volume-activation/plan-for-volume-activation-client.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.localizationpriority: medium -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals ms.date: 03/29/2024 appliesto: diff --git a/windows/deployment/volume-activation/proxy-activation-vamt.md b/windows/deployment/volume-activation/proxy-activation-vamt.md index 9e14cf5631..57c242d69c 100644 --- a/windows/deployment/volume-activation/proxy-activation-vamt.md +++ b/windows/deployment/volume-activation/proxy-activation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/remove-products-vamt.md b/windows/deployment/volume-activation/remove-products-vamt.md index 2b49facf89..cad9428d5a 100644 --- a/windows/deployment/volume-activation/remove-products-vamt.md +++ b/windows/deployment/volume-activation/remove-products-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/scenario-kms-activation-vamt.md b/windows/deployment/volume-activation/scenario-kms-activation-vamt.md index 0dc03e90e0..4ba48b833b 100644 --- a/windows/deployment/volume-activation/scenario-kms-activation-vamt.md +++ b/windows/deployment/volume-activation/scenario-kms-activation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/scenario-online-activation-vamt.md b/windows/deployment/volume-activation/scenario-online-activation-vamt.md index 1f573be911..7af76c4c7a 100644 --- a/windows/deployment/volume-activation/scenario-online-activation-vamt.md +++ b/windows/deployment/volume-activation/scenario-online-activation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md b/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md index 654a67b2b3..74a59bbd9d 100644 --- a/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md +++ b/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/update-product-status-vamt.md b/windows/deployment/volume-activation/update-product-status-vamt.md index 0a077e39bb..f47584757f 100644 --- a/windows/deployment/volume-activation/update-product-status-vamt.md +++ b/windows/deployment/volume-activation/update-product-status-vamt.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md b/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md index 3ee35bd266..3e1e4a1657 100644 --- a/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md +++ b/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 diff --git a/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md b/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md index 0add9fe565..b9633b62d2 100644 --- a/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md +++ b/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/vamt-known-issues.md b/windows/deployment/volume-activation/vamt-known-issues.md index a11eb40946..5244254c65 100644 --- a/windows/deployment/volume-activation/vamt-known-issues.md +++ b/windows/deployment/volume-activation/vamt-known-issues.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 11/07/2022 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/vamt-requirements.md b/windows/deployment/volume-activation/vamt-requirements.md index 4a92b44341..8b82d6ae68 100644 --- a/windows/deployment/volume-activation/vamt-requirements.md +++ b/windows/deployment/volume-activation/vamt-requirements.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/vamt-step-by-step.md b/windows/deployment/volume-activation/vamt-step-by-step.md index 59c883df3c..375ebad9fa 100644 --- a/windows/deployment/volume-activation/vamt-step-by-step.md +++ b/windows/deployment/volume-activation/vamt-step-by-step.md @@ -7,7 +7,7 @@ ms.author: frankroj ms.service: windows-client author: frankroj ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/volume-activation-windows.md b/windows/deployment/volume-activation/volume-activation-windows.md index 8891a74db2..701785bf9e 100644 --- a/windows/deployment/volume-activation/volume-activation-windows.md +++ b/windows/deployment/volume-activation/volume-activation-windows.md @@ -8,7 +8,7 @@ ms.service: windows-client author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 diff --git a/windows/deployment/wds-boot-support.md b/windows/deployment/wds-boot-support.md index ef124c0497..0b09a07b84 100644 --- a/windows/deployment/wds-boot-support.md +++ b/windows/deployment/wds-boot-support.md @@ -6,7 +6,7 @@ ms.localizationpriority: medium author: frankroj ms.author: frankroj manager: aaroncz -ms.topic: article +ms.topic: conceptual ms.date: 04/25/2024 ms.subservice: itpro-deploy appliesto: diff --git a/windows/deployment/windows-10-pro-in-s-mode.md b/windows/deployment/windows-10-pro-in-s-mode.md index 82bb386aa3..f4b7f66792 100644 --- a/windows/deployment/windows-10-pro-in-s-mode.md +++ b/windows/deployment/windows-10-pro-in-s-mode.md @@ -6,7 +6,7 @@ ms.author: frankroj manager: aaroncz ms.localizationpriority: medium ms.service: windows-client -ms.topic: article +ms.topic: conceptual ms.date: 11/23/2022 ms.subservice: itpro-deploy --- diff --git a/windows/deployment/windows-adk-scenarios-for-it-pros.md b/windows/deployment/windows-adk-scenarios-for-it-pros.md index 2c3b28dac0..cf038aa4a9 100644 --- a/windows/deployment/windows-adk-scenarios-for-it-pros.md +++ b/windows/deployment/windows-adk-scenarios-for-it-pros.md @@ -7,7 +7,7 @@ manager: aaroncz ms.service: windows-client ms.localizationpriority: medium ms.date: 02/13/2024 -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/windows-deployment-scenarios-and-tools.md b/windows/deployment/windows-deployment-scenarios-and-tools.md index 89a7b65ab6..876e0dec6c 100644 --- a/windows/deployment/windows-deployment-scenarios-and-tools.md +++ b/windows/deployment/windows-deployment-scenarios-and-tools.md @@ -5,7 +5,7 @@ manager: aaroncz ms.author: frankroj author: frankroj ms.service: windows-client -ms.topic: article +ms.topic: conceptual ms.date: 11/23/2022 ms.subservice: itpro-deploy --- diff --git a/windows/deployment/windows-deployment-scenarios.md b/windows/deployment/windows-deployment-scenarios.md index 7666f71041..622b83b41b 100644 --- a/windows/deployment/windows-deployment-scenarios.md +++ b/windows/deployment/windows-deployment-scenarios.md @@ -6,7 +6,7 @@ ms.author: frankroj author: frankroj ms.service: windows-client ms.localizationpriority: medium -ms.topic: article +ms.topic: conceptual ms.date: 02/13/2024 ms.subservice: itpro-deploy appliesto: diff --git a/windows/deployment/windows-enterprise-e3-overview.md b/windows/deployment/windows-enterprise-e3-overview.md index 292858c4fb..43bfc59332 100644 --- a/windows/deployment/windows-enterprise-e3-overview.md +++ b/windows/deployment/windows-enterprise-e3-overview.md @@ -7,7 +7,7 @@ ms.date: 02/13/2024 author: frankroj ms.author: frankroj manager: aaroncz -ms.topic: article +ms.topic: conceptual ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 diff --git a/windows/deployment/windows-missing-fonts.md b/windows/deployment/windows-missing-fonts.md index 6cee49fa4f..eabee6f44f 100644 --- a/windows/deployment/windows-missing-fonts.md +++ b/windows/deployment/windows-missing-fonts.md @@ -6,7 +6,7 @@ ms.localizationpriority: medium author: frankroj ms.author: frankroj manager: aaroncz -ms.topic: article +ms.topic: conceptual ms.date: 03/28/2024 ms.subservice: itpro-deploy zone_pivot_groups: windows-versions-11-10 From 456fe07d9f745e8b50194ab469d1dbf4c4700013 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 16 Jul 2024 14:15:44 -0700 Subject: [PATCH 269/354] Update add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md fix link suggestion --- ...10-deployment-with-windows-pe-using-configuration-manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md index 3e07ef2858..ec5cc1ba59 100644 --- a/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md @@ -63,7 +63,7 @@ On **CM01**: ## Add drivers for Windows 10 -This section illustrates how to add drivers for Windows 10 using the HP EliteBook 8560w as an example. Use the HP Image Assistant from the [HP Client Management Solutions site](https://hp.com/go/clientmanagement). +This section illustrates how to add drivers for Windows 10 using the HP EliteBook 8560w as an example. Use the HP Image Assistant from the [HP Client Management Solutions site](https://www.hp.com/solutions/client-management-solutions.html). For the purposes of this section, we assume that you've downloaded the Windows 10 drivers for the HP EliteBook 8560w model and copied them to the **D:\Sources$\OSD\DriverSources\Windows 10 x64\Hewlett-Packard\HP EliteBook 8560w** folder on CM01. From 7835ee3cddc619a6b654a439a64231d906b7243e Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 16 Jul 2024 14:21:50 -0700 Subject: [PATCH 270/354] Update windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md https://hp.com/go/clientmanagement link incorrectly shows as broken. It is not --- ...10-deployment-with-windows-pe-using-configuration-manager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md b/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md index ec5cc1ba59..3e07ef2858 100644 --- a/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md +++ b/windows/deployment/deploy-windows-cm/add-drivers-to-a-windows-10-deployment-with-windows-pe-using-configuration-manager.md @@ -63,7 +63,7 @@ On **CM01**: ## Add drivers for Windows 10 -This section illustrates how to add drivers for Windows 10 using the HP EliteBook 8560w as an example. Use the HP Image Assistant from the [HP Client Management Solutions site](https://www.hp.com/solutions/client-management-solutions.html). +This section illustrates how to add drivers for Windows 10 using the HP EliteBook 8560w as an example. Use the HP Image Assistant from the [HP Client Management Solutions site](https://hp.com/go/clientmanagement). For the purposes of this section, we assume that you've downloaded the Windows 10 drivers for the HP EliteBook 8560w model and copied them to the **D:\Sources$\OSD\DriverSources\Windows 10 x64\Hewlett-Packard\HP EliteBook 8560w** folder on CM01. From dd6380539ee59498f13878de0706200306489171 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 16 Jul 2024 14:36:32 -0700 Subject: [PATCH 271/354] Remove references to "changes" article --- windows/privacy/toc.yml | 2 -- windows/privacy/windows-10-and-privacy-compliance.md | 1 - 2 files changed, 3 deletions(-) diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index 5ec34034d8..19445df42a 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -5,8 +5,6 @@ href: windows-10-and-privacy-compliance.md - name: Configure Windows diagnostic data in your organization href: configure-windows-diagnostic-data-in-your-organization.md - - name: Changes to Windows diagnostic data collection - href: changes-to-windows-diagnostic-data-collection.md - name: Diagnostic Data Viewer items: - name: Diagnostic Data Viewer Overview diff --git a/windows/privacy/windows-10-and-privacy-compliance.md b/windows/privacy/windows-10-and-privacy-compliance.md index ab86dc703a..1a5a044ae4 100644 --- a/windows/privacy/windows-10-and-privacy-compliance.md +++ b/windows/privacy/windows-10-and-privacy-compliance.md @@ -246,5 +246,4 @@ Microsoft Intune is a cloud-based endpoint management solution. It manages user * [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement) * [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) * [Privacy at Microsoft](https://privacy.microsoft.com/privacy-report) -* [Changes to Windows diagnostic data](changes-to-windows-diagnostic-data-collection.md) * [Microsoft Service Trust Portal](https://servicetrust.microsoft.com/) From d8f3b2f9c159f7633669b3b1e05d56e2d631a1d8 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 16 Jul 2024 17:26:05 -0700 Subject: [PATCH 272/354] remove desktop analytics --- .../deployment/planning/windows-10-enterprise-faq-itpro.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml b/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml index 9bf7a86f35..3d8e2f154e 100644 --- a/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml +++ b/windows/deployment/planning/windows-10-enterprise-faq-itpro.yml @@ -61,11 +61,6 @@ sections: answer: | Many existing Win32 and Win64 applications already run reliably on Windows 10 without any changes. You can also expect strong compatibility and support for Web apps and devices. - - question: | - Is there an easy way to assess if my organization's devices are ready to upgrade to Windows 10? - answer: | - [Desktop Analytics](/mem/configmgr/desktop-analytics/overview) provides powerful insights and recommendations about the computers, applications, and drivers in your organization, at no extra cost and without other infrastructure requirements. This service guides you through your upgrade and feature update projects using a workflow based on Microsoft recommended practices. Up-to-date inventory data allows you to balance cost and risk in your upgrade projects. - - name: Administration and deployment questions: - question: | From e5154c6efb74c2a2ecd3570e40b06b8fff23c00d Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 16 Jul 2024 17:26:15 -0700 Subject: [PATCH 273/354] freshness review --- windows/whats-new/windows-11-prepare.md | 109 ++++++++++++------------ 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/windows/whats-new/windows-11-prepare.md b/windows/whats-new/windows-11-prepare.md index e5852e8ce3..a26ceffb43 100644 --- a/windows/whats-new/windows-11-prepare.md +++ b/windows/whats-new/windows-11-prepare.md @@ -1,17 +1,17 @@ --- title: Prepare for Windows 11 -description: Prepare your infrastructure and tools to deploy Windows 11, IT Pro content. +description: Prepare your infrastructure and tools to deploy Windows 11. ms.service: windows-client author: mestew ms.author: mstewart manager: aaroncz ms.localizationpriority: high -ms.topic: conceptual +ms.topic: concept-article ms.collection: - highpri - tier1 ms.subservice: itpro-fundamentals -ms.date: 12/31/2017 +ms.date: 07/16/2024 appliesto: - ✅ Windows 11 - ✅ Windows 10 @@ -21,87 +21,89 @@ appliesto: Windows 10 and Windows 11 are designed to coexist so that you can use the same familiar tools and processes to manage both operating systems. Using a single management infrastructure that supports common applications across both Windows 10 and Windows 11 helps to simplify the migration process. You can analyze endpoints, determine application compatibility, and manage Windows 11 deployments in the same way that you do with Windows 10. -After you evaluate your hardware to see if it meets [requirements](windows-11-requirements.md) for Windows 11, it's a good time to review your deployment infrastructure, tools, and overall endpoint and update management processes and look for opportunities to simplify and optimize. This article provides some helpful guidance to accomplish these tasks. +After you evaluate your hardware to see if it meets [requirements](windows-11-requirements.md) for Windows 11, it's a good time to review your deployment infrastructure, tools, and overall endpoint and update management processes. Use this review time to look for opportunities to simplify and optimize. This article provides some helpful guidance to accomplish these tasks. ## Infrastructure and tools -The tools that you use for core workloads during Windows 10 deployments can still be used for Windows 11. A few nuanced differences are described below. +The tools that you use for core workloads during Windows 10 deployments can still be used for Windows 11. - > [!IMPORTANT] - > Be sure to check with the providers of any non-Microsoft solutions that you use. Verify compatibility of these tools with Windows 11, particularly if they provide security or data loss prevention capabilities. +> [!IMPORTANT] +> Be sure to check with the providers of any non-Microsoft solutions that you use. Verify compatibility of these tools with Windows 11, particularly if they provide security or data loss prevention capabilities. -#### On-premises solutions +### On-premises solutions -- If you use [Windows Server Update Services (WSUS)](/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus), you'll need to sync the new Windows 11 product category. After you sync the product category, you'll see Windows 11 offered as an option. If you would like to validate Windows 11 prior to release, you can sync the **Windows Insider Pre-release** category as well. +- If you use [Windows Server Update Services (WSUS)](/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus), you need to sync the Windows 11 product category. After you sync the product category, you'll see Windows 11 offered as an option. If you want to validate Windows 11 builds before their broad release, you can also sync the **Windows Insider Pre-release** category. > [!NOTE] - > During deployment, you will be prompted to agree to the Microsoft Software License Terms on behalf of your users. Additionally, you will not see an x86 option because Windows 11 is not supported on 32-bit architecture. + > During deployment, you'll be prompted to agree to the Microsoft Software License Terms on behalf of your users. Additionally, you won't see an x86 option because Windows 11 isn't supported on 32-bit architecture. -- If you use [Microsoft Configuration Manager](/mem/configmgr/), you can sync the new **Windows 11** product category and begin upgrading eligible devices. If you would like to validate Windows 11 prior to release, you can sync the **Windows Insider Pre-release** category as well. +- If you use [Microsoft Configuration Manager](/mem/configmgr/), you can sync the **Windows 11** product category and begin upgrading eligible devices. If you want to validate Windows 11 builds before their broad release, you can also sync the **Windows Insider Pre-release** category. > [!NOTE] - > Configuration Manager will prompt you to accept the Microsoft Software License Terms on behalf of the users in your organization. + > Configuration Manager will prompt you to accept the Microsoft Software License Terms on behalf of the users in your organization. -#### Cloud-based solutions +### Cloud-based solutions -- If you use Windows Update for Business policies, you'll need to use the **Target Version** capability (either through policy or the Windows Update for Business deployment service) rather than using feature update deferrals alone to upgrade from Windows 10 to Windows 11. Feature update deferrals are great for moving to newer versions of your current product (for example, Windows 10, version 20H2 to 21H1), but won't automatically move devices between products (Windows 10 to **Windows 11**). - - If you use Microsoft Intune and have a Microsoft 365 E3 license, you'll be able to use the [feature update deployments](/mem/intune/protect/windows-10-feature-updates) page to select **Windows 11, version 21H2** and upgrade Windows 10 devices to Windows 11. You can also continue using the same update experience controls to manage Windows 10 and Windows 11 on the **Update Rings** page in Intune. If you aren’t ready to move to Windows 11, keep the feature update version set at the version you're currently on. When you're ready to start upgrading devices, change the feature update deployment setting to specify Windows 11. - - In Group Policy, **Select target Feature Update version** has two entry fields after taking the 9/1/2021 optional update ([KB5005101](https://support.microsoft.com/topic/september-1-2021-kb5005101-os-builds-19041-1202-19042-1202-and-19043-1202-preview-82a50f27-a56f-4212-96ce-1554e8058dc1)) or a later update: **Product Version** and **Target Version**. +- If you use [Windows Update for Business](/windows/deployment/update/waas-manage-updates-wufb) policies, you need to use the **Target Version** capability. This option is either through policy or the Windows Update for Business deployment service. You need to use this option instead of only using feature update deferrals to upgrade from Windows 10 to Windows 11. Feature update deferrals are great for moving to newer versions of your current product. For example, Windows 10, version 21H2 to version 22H2. They don't automatically move devices between products, for example Windows 10 to Windows 11. - - The product field must specify Windows 11 in order for devices to upgrade to Windows 11. If only the target version field is configured, the device will be offered matching versions of the same product. - - For example, if a device is running Windows 10, version 2004 and only the target version is configured to 21H1, this device will be offered version Windows 10, version 21H1, even if multiple products have a 21H1 version. -- Quality update deferrals will continue to work the same across both Windows 10 and Windows 11, which is true regardless of which management tool you use to configure Windows Update for Business policies. -- If you use Microsoft Intune and have a Microsoft 365 E3 license, you'll be able to use [feature update deployments](/mem/intune/protect/windows-10-feature-updates) to easily update devices from one release of Windows 10 to another, or to upgrade Windows 10 devices to Windows 11. You can also continue using the same update experience controls to manage Windows 10 and Windows 11. If you aren’t ready to move to Windows 11, keep the feature update version set at the version you're currently on. When you're ready to start upgrading devices, change the feature update deployment setting to specify **Windows 11**. + - If you use [Microsoft Intune](/mem/intune/) and have a Microsoft 365 E3 license, use the [feature update deployments](/mem/intune/protect/windows-10-feature-updates) page to select the latest version of Windows 11 and upgrade Windows 10 devices to Windows 11. You can also continue using the same update experience controls to manage Windows 10 and Windows 11 on the **Update Rings** page in Intune. If you aren't ready to move to Windows 11, keep the feature update version set at the version you're currently on. When you're ready to start upgrading devices, change the feature update deployment setting to specify Windows 11. + + - In group policy, **Select target Feature Update version** has two entry fields: **Product Version** and **Target Version**. + + - The product field must specify Windows 11 in order for devices to upgrade to Windows 11. If only the target version field is configured, the service offers the device matching versions of the same product. + +- Quality update deferrals continue to work the same across both Windows 10 and Windows 11. This behavior is true regardless of which management tool you use to configure Windows Update for Business policies. > [!NOTE] - > Endpoints managed by Windows Update for Business will not automatically upgrade to Windows 11 unless an administrator explicitly configures a **Target Version** using the [TargetReleaseVersion](/windows/client-management/mdm/policy-csp-update#update-targetreleaseversion) setting using a Windows CSP, a [feature update profile](/mem/intune/protect/windows-10-feature-updates) in Intune, or the [Select target Feature Update version setting](/windows/deployment/update/waas-wufb-group-policy#i-want-to-stay-on-a-specific-version) in a group policy. + > Endpoints managed by Windows Update for Business don't automatically upgrade to Windows 11 unless an administrator explicitly configures a **Target Version** using the [TargetReleaseVersion](/windows/client-management/mdm/policy-csp-update#update-targetreleaseversion) setting using a Windows CSP, a [feature update profile](/mem/intune/protect/windows-10-feature-updates) in Intune, or the [Select target Feature Update version setting](/windows/deployment/update/waas-wufb-group-policy#i-want-to-stay-on-a-specific-version) group policy. ## Cloud-based management -If you aren’t already taking advantage of cloud-based management capabilities, like those available in the [Microsoft Intune family of products](/mem/endpoint-manager-overview), it's worth considering. In addition to consolidating device management and endpoint security into a single platform, Microsoft Intune can better support the diverse bring-your-own-device (BYOD) ecosystem that is increasingly the norm with hybrid work scenarios. It can also enable you to track your progress against compliance and business objectives while protecting user privacy. +The cloud-based management capabilities of the [Microsoft Intune family of products](/mem/endpoint-manager-overview) help consolidate device management and endpoint security into a single platform. Microsoft Intune also supports the diverse bring-your-own-device (BYOD) ecosystem that's common with hybrid work scenarios. It can also enable you to track your progress against compliance and business objectives while protecting user data. -The following are some common use cases and the corresponding [Microsoft Intune](/mem/intune/fundamentals/what-is-intune) capabilities that support them: +The following are some common use cases and the corresponding [Microsoft Intune](/mem/intune/fundamentals/what-is-intune) capabilities that support them: -- **Provision and pre-configure new Windows 11 devices**: [Windows Autopilot](/mem/autopilot/windows-autopilot) enables you to deploy new Windows 11 devices in a “business-ready” state that includes your desired applications, settings, and policies. It can also be used to change the edition of Windows. For example, you can upgrade from Professional to Enterprise edition and gain the use of advanced features. The [Windows Autopilot diagnostics page](/mem/autopilot/windows-autopilot-whats-new#preview-windows-autopilot-diagnostics-page) is a new feature that is available when you use in Windows Autopilot to deploy Windows 11. -- **Configure rules and control settings for users, apps, and devices**: When you enroll devices in [Microsoft Intune](/mem/intune/fundamentals/what-is-intune), administrators have full control over apps, settings, features, and security for both Windows 11 and Windows 10. You can also use app protection policies to require multifactor authentication (MFA) for specific apps. -- **Streamline device management for frontline, remote, and onsite workers**: Introduced with Windows 10, [cloud configuration](/mem/intune/fundamentals/cloud-configuration) is a standard, easy-to-manage, device configuration that is cloud-optimized for users with specific workflow needs. It can be deployed to devices running the Pro, Enterprise, and Education editions of Windows 11 by using Microsoft Intune. +- **Provision and pre-configure new Windows 11 devices**: [Windows Autopilot](/autopilot/) enables you to deploy new Windows 11 devices in a business-ready state that includes your desired applications, settings, and policies. It can also be used to change the edition of Windows. For example, you can upgrade from Professional to Enterprise edition and gain the use of advanced features. -If you're exclusively using an on-premises device management solution (for example, Configuration Manager), you can still use the [cloud management gateway](/mem/configmgr/core/clients/manage/cmg/overview), enable [tenant attach](/mem/configmgr/tenant-attach/device-sync-actions), or enable [co-management](/mem/configmgr/comanage/overview) with Microsoft Intune. These solutions can make it easier to keep devices secure and up-to-date. +- **Configure rules and control settings for users, apps, and devices**: When you enroll devices in Microsoft Intune, you have full control over apps, settings, features, and security for both Windows 11 and Windows 10. You can also use app protection policies to require multifactor authentication (MFA) for specific apps. + +- **Streamline device management for frontline, remote, and onsite workers**: [Cloud configuration](/mem/intune/fundamentals/cloud-configuration) is a standard, easy-to-manage, device configuration that is cloud-optimized for users with specific workflow needs. You can use Microsoft Intune to deploy it to devices running the Pro, Enterprise, and Education editions of Windows 11. + +If you're exclusively using an on-premises device management solution like Configuration Manager, you can still use the [cloud management gateway](/mem/configmgr/core/clients/manage/cmg/overview), enable [tenant attach](/mem/configmgr/tenant-attach/device-sync-actions), or enable [co-management](/mem/configmgr/comanage/overview) with Microsoft Intune. These solutions can make it easier to keep devices secure and up-to-date. ## Review servicing approach and policies -Every organization will transition to Windows 11 at its own pace. Microsoft is committed to supporting you through your migration to Windows 11, whether you're a fast adopter or will make the transition over the coming months or years. +Every organization transitions to Windows 11 at its own pace. Microsoft is committed to supporting you through your migration to Windows 11, whether you're a fast adopter or will make the transition over the coming months or years. -When you think of operating system updates as an ongoing process, you'll automatically improve your ability to deploy updates. This approach enables you to stay current with less effort, and less impact on productivity. To begin, think about how you roll out Windows feature updates today: which devices, and at what pace. +When you think of OS updates as an ongoing process, you improve your ability to deploy updates. This approach enables you to stay current with less effort, and less effect on productivity. To begin, think about how you roll out Windows feature updates today: which devices, and at what pace. -Next, craft a deployment plan for **Windows 11** that includes deployment groups, rings, users, or devices. There are no absolute rules for exactly how many rings to have for your deployments, but a common structure is: -- Preview (first or canary): Planning and development -- Limited (fast or early adopters): Pilot and validation -- Broad (users or critical): Wide deployment +Next, craft a deployment plan for Windows 11 that includes deployment groups, rings, users, or devices. There are no absolute rules for exactly how many rings to have for your deployments, but the following example is a common structure: -For detailed information, see [Create a deployment plan](/windows/deployment/update/create-deployment-plan). +- Preview (first or canary): Planning and development +- Limited (fast or early adopters): Pilot and validation +- Broad (users or critical): Wide deployment -#### Review policies +For more information, see [Create a deployment plan](/windows/deployment/update/create-deployment-plan). -Review deployment-related policies, taking into consideration your organization's security objectives, update compliance deadlines, and device activity. Apply changes where you can gain a clear improvement, particularly regarding the speed of the update process or security. +### Review policies -#### Validate apps and infrastructure +Review deployment-related policies, and take into consideration your organization's security objectives, update compliance deadlines, and device activity. Apply changes where you can gain a clear improvement, particularly regarding the speed of the update process or security. -To validate that your apps, infrastructure, and deployment processes are ready for Windows 11, join the [Windows Insider Program for Business](https://insider.windows.com/for-business-getting-started), and opt into the [Release Preview Channel](/windows-insider/business/validate-Release-Preview-Channel). +### Validate apps and infrastructure -If you use [Windows Server Update Services (WSUS)](/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus), you can deploy directly from the Windows Insider Pre-release category using one of the following processes: +To validate that your apps, infrastructure, and deployment processes are ready for Windows 11, join the [Windows Insider Program for Business](https://insider.windows.com/for-business-getting-started). Then opt into the [Release Preview Channel](/windows-insider/business/validate-Release-Preview-Channel). -- Set **Manage Preview Builds** to **Release Preview** in Windows Update for Business. -- Use Azure Virtual Desktop and Azure Marketplace images. -- Download and deploy ISOs from Microsoft’s Windows Insider Program ISO Download page. +If you use [Windows Server Update Services (WSUS)](/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus), you can deploy directly from the Windows Insider Prerelease category using one of the following processes: -Regardless of the method you choose, you have the benefit of free Microsoft support when validating pre-release builds. Free support is available to any commercial customer deploying Windows 10 or Windows 11 Preview Builds, once they become available through the Windows Insider Program. +- Set **Manage Preview Builds** to **Release Preview** in Windows Update for Business. +- Use Azure Virtual Desktop and Azure Marketplace images. +- Download and deploy ISOs from Microsoft's Windows Insider Program ISO download page. -#### Analytics and assessment tools +Regardless of the method you choose, you have the benefit of free Microsoft support when validating prerelease builds. Free support is available to any commercial customer deploying Windows 10 or Windows 11 Preview Builds, once they become available through the Windows Insider Program. -If you use Microsoft Intune and have onboarded devices to Endpoint analytics, you'll have access to a hardware readiness assessment later this year. This tool enables you to quickly identify which of your managed devices are eligible for the Windows 11 upgrade. +### Analytics and assessment tools -[Desktop Analytics](/mem/configmgr/desktop-analytics/overview) doesn't support Windows 11. You must use [Endpoint analytics](/mem/analytics/overview). +If you use Microsoft Intune and have onboarded devices to [Endpoint analytics](/mem/analytics/overview), you have access to a hardware readiness assessment. This tool enables you to quickly identify which of your managed devices are eligible for the Windows 11 upgrade. ## Prepare a pilot deployment @@ -119,19 +121,18 @@ At a high level, the tasks involved are: ## User readiness -Don't overlook the importance of user readiness to deliver an effective, enterprise-wide deployment of Windows 11. Windows 11 has a familiar design, but your users will see several enhancements to the overall user interface. They'll also need to adapt to changes in menus and settings pages. Therefore, consider the following tasks to prepare users and your IT support staff for Windows 11: +Don't overlook the importance of user readiness to deliver an effective, enterprise-wide deployment of Windows 11. Windows 11 has a familiar design, but your users will see several enhancements to the overall user interface. They'll also need to adapt to changes in menus and settings pages. Therefore, consider the following tasks to prepare users and IT support staff for Windows 11: - Create a communications schedule to ensure that you provide the right message at the right time to the right groups of users, based on when they'll see the changes. - Draft concise emails that inform users of what changes they can expect to see. Offer tips on how to use or customize their experience. Include information about support and help desk options. - Update help desk manuals with screenshots of the new user interface, the out-of-box experience for new devices, and the upgrade experience for existing devices. -## Learn more - -See the [Stay current with Windows 10 and Microsoft 365 Apps](/training/paths/m365-stay-current/) learning path. - -- The learning path was created for Windows 10, but the basic principles and tasks outlined for the plan, prepare, and deploy phases also apply to your deployment of Windows 11. +For more information and resources, see the [Meet Windows 11](https://support.microsoft.com/meetwindows11) video series. ## See also -[Plan for Windows 11](windows-11-plan.md)
                -[Windows help & learning](https://support.microsoft.com/windows) +[Stay current with Windows devices and Microsoft 365 Apps](/training/paths/m365-stay-current/) + +[Plan for Windows 11](windows-11-plan.md) + +[Windows help & learning for users](https://support.microsoft.com/windows) From f714f1644451cfee8f5d2b2f68808f0cc690565f Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 16 Jul 2024 17:45:01 -0700 Subject: [PATCH 274/354] remove upgrade readiness --- windows/deployment/update/waas-quick-start.md | 4 ++-- ...ws-upgrade-and-migration-considerations.md | 12 ++++------ .../ltsc/whats-new-windows-10-2016.md | 23 ------------------- 3 files changed, 7 insertions(+), 32 deletions(-) diff --git a/windows/deployment/update/waas-quick-start.md b/windows/deployment/update/waas-quick-start.md index adc84ef341..d9c09992b1 100644 --- a/windows/deployment/update/waas-quick-start.md +++ b/windows/deployment/update/waas-quick-start.md @@ -44,10 +44,10 @@ For more information, see [Assign devices to servicing channels for Windows clie ## Staying up to date -To stay up to date, deploy feature updates at an appropriate time after their release. You can use various management and update tools such as Windows Update, Windows Update for Business, Windows Server Update Services, Microsoft Configuration Manager, and non-Microsoft products to help with this process. [Upgrade Readiness](/windows/deployment/upgrade/upgrade-readiness-get-started), a free tool to streamline Windows upgrade projects, is another important tool to help. +To stay up to date, deploy feature updates at an appropriate time after their release. You can use various management and update tools such as Windows Update, Windows Update for Business, Windows Server Update Services, Microsoft Configuration Manager, and non-Microsoft products to help with this process. Extensive advanced testing isn't required. Instead, only business-critical apps need to be tested, with the remaining apps validated through a series of pilot deployment rings. Once these pilot deployments have validated most apps, broad deployment can begin. This process repeats with each new feature update. These are small deployment projects, compared to the large projects that were necessary with the old three-to-five-year Windows release cycles. -Other technologies such as BranchCache and Delivery Optimization, both peer-to-peer distribution tools, can help with the distribution of the feature update installation files. +Other technologies such as [BranchCache](waas-branchcache.md) and [Delivery Optimization](../do/waas-delivery-optimization-setup.md), both peer-to-peer distribution tools, can help with the distribution of the feature update installation files. diff --git a/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md b/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md index 48b8e267ec..4e016e066d 100644 --- a/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md +++ b/windows/deployment/upgrade/windows-upgrade-and-migration-considerations.md @@ -37,13 +37,13 @@ You can use USMT to automate migration during large deployments of the Windows o > [!IMPORTANT] > -> USMT only supports devices that are joined to a local Active Directory domain. USMT doesn't support Microsoft Entra joined devices. +> USMT only supports devices that are joined to a local Active Directory domain. USMT doesn't support Microsoft Entra joined devices. ## Upgrade and migration considerations Whether you're upgrading or migrating to a new version of Windows, you must be aware of the following issues and considerations: ### Application compatibility -For more information about application compatibility in Windows, see [Use Upgrade Readiness to manage Windows upgrades](/windows/deployment/upgrade/use-upgrade-readiness-to-manage-windows-upgrades). +For more information about application compatibility in Windows, see [Windows compatibility cookbook](/windows/compatibility/). ### Multilingual Windows image upgrades When performing multilingual Windows upgrades, cross-language upgrades aren't supported by USMT. If you're upgrading or migrating an operating system with multiple language packs installed, you can upgrade or migrate only to the system default user interface (UI) language. For example, if English is the default but you have a Spanish language pack installed, you can upgrade or migrate only to English. @@ -58,11 +58,9 @@ During the configuration pass of Windows Setup, the root access control list (AC Changing the ACLs may affect the performance of Windows Setup if the default Windows XP ACLs are applied to a partition with a large amount of data. Because of these performance concerns, you can change the following registry value to disable this feature: -``` syntax -Key: HKLM\System\Setup -Type: REG_DWORD -Value: "DDACLSys_Disabled" = 1 -``` +`Key: HKLM\System\Setup` +`Type: REG_DWORD` +`Value: "DDACLSys_Disabled" = 1` This feature is disabled if this registry key value exists and is configured to `1`. diff --git a/windows/whats-new/ltsc/whats-new-windows-10-2016.md b/windows/whats-new/ltsc/whats-new-windows-10-2016.md index df08af61c1..315ac95603 100644 --- a/windows/whats-new/ltsc/whats-new-windows-10-2016.md +++ b/windows/whats-new/ltsc/whats-new-windows-10-2016.md @@ -34,29 +34,6 @@ Windows ICD now includes simplified workflows for creating provisioning packages [Learn more about using provisioning packages in Windows 10.](/windows/configuration/provisioning-packages/provisioning-packages) -### Windows Upgrade Readiness - ->[!IMPORTANT] ->Upgrade Readiness will not allow you to assess an upgrade to an LTSC release (LTSC builds are not available as target versions). However, you can enroll devices running LTSC to plan for an upgrade to a General Availability Channel release. - -Microsoft developed Upgrade Readiness in response to demand from enterprise customers looking for more direction and details about upgrading to Windows 10. Upgrade Readiness was built taking into account multiple channels of customer feedback, testing, and Microsoft's experience upgrading millions of devices to Windows 10. - -With Windows diagnostic data enabled, Upgrade Readiness collects system, application, and driver data for analysis. We then identify compatibility issues that can block an upgrade and suggest fixes when they're known to Microsoft. - -Use Upgrade Readiness to get: - -- A visual workflow that guides you from pilot to production -- Detailed computer and application inventory -- Powerful computer level search and drill-downs -- Guidance and insights into application and driver compatibility issues, with suggested fixes -- Data driven application rationalization tools -- Application usage information, allowing targeted validation; workflow to track validation progress and decisions -- Data export to commonly used software deployment tools - -The Upgrade Readiness workflow steps you through the discovery and rationalization process until you have a list of computers that are upgrade-ready. - -[Learn more about planning and managing Windows upgrades with Windows Upgrade Readiness.](/windows/deployment/upgrade/manage-windows-upgrades-with-upgrade-readiness) - ## Security ### Credential Guard and Device Guard From 69d2658ac478b9da45c43cb871da402b9405eeeb Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Tue, 16 Jul 2024 17:48:16 -0700 Subject: [PATCH 275/354] move edit to editable section --- windows/client-management/mdm/policy-csp-devicelock.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-devicelock.md b/windows/client-management/mdm/policy-csp-devicelock.md index 02737a3f65..5e224a19a5 100644 --- a/windows/client-management/mdm/policy-csp-devicelock.md +++ b/windows/client-management/mdm/policy-csp-devicelock.md @@ -429,10 +429,11 @@ Specifies whether device lock is enabled. > - DevicePasswordHistory > - MaxDevicePasswordFailedAttempts > - MaxInactivityTimeDeviceLock - [!NOTE] -DevicePasswordExpiration is not supported through MDMWinsOverGP. +> DevicePasswordExpiration isn't supported through MDMWinsOverGP. + + **Description framework properties**: From b3f6573e4eaf4e6ca0d9fe75e573879732968b37 Mon Sep 17 00:00:00 2001 From: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com> Date: Wed, 17 Jul 2024 13:37:04 +0530 Subject: [PATCH 276/354] Fixed markdown for Note --- windows/client-management/mdm/policy-csp-devicelock.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policy-csp-devicelock.md b/windows/client-management/mdm/policy-csp-devicelock.md index 5e224a19a5..fbc47a783d 100644 --- a/windows/client-management/mdm/policy-csp-devicelock.md +++ b/windows/client-management/mdm/policy-csp-devicelock.md @@ -430,7 +430,7 @@ Specifies whether device lock is enabled. > - MaxDevicePasswordFailedAttempts > - MaxInactivityTimeDeviceLock -[!NOTE] +> [!NOTE] > DevicePasswordExpiration isn't supported through MDMWinsOverGP. From 8c7dcfd22a18eafc7bc4b395a49dbfd640742297 Mon Sep 17 00:00:00 2001 From: Paul Huijbregts <30799281+pahuijbr@users.noreply.github.com> Date: Wed, 17 Jul 2024 15:21:00 -0700 Subject: [PATCH 277/354] Update windowsadvancedthreatprotection-csp.md --- .../mdm/windowsadvancedthreatprotection-csp.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md b/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md index 040365664e..171a60f503 100644 --- a/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md +++ b/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md @@ -17,6 +17,11 @@ The table below shows the applicability of Windows: |Enterprise|Yes|Yes| |Education|Yes|Yes| +> [!IMPORTANT] +> Windows 11 Home devices that have been upgraded to one of the below mentioned applicable editions might require you to run the following command before onboarding: +> `DISM /online /Add-Capability /CapabilityName:Microsoft.Windows.Sense.Client~~~~`. +> For more information about edition upgrades and features, see [Features](/windows-hardware/manufacture/desktop/windows-features?view=windows-11&preserve-view=true)) + The Windows Defender Advanced Threat Protection (WDATP) configuration service provider (CSP) allows IT Admins to onboard, determine configuration and health status, and offboard endpoints for WDATP. The following example shows the WDATP configuration service provider in tree format as used by the Open Mobile Alliance (OMA) Device Management (DM). From dd1e19263a2563b1f1936e6deaa77781149da692 Mon Sep 17 00:00:00 2001 From: Phil Garcia Date: Wed, 17 Jul 2024 16:55:04 -0700 Subject: [PATCH 278/354] Update waas-delivery-optimization-reference.md Fixed typo. --- windows/deployment/do/waas-delivery-optimization-reference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index cf03e3d310..f0c45b4832 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -87,8 +87,8 @@ All cached files have to be above a set minimum size. This size is automatically More options available that control the impact Delivery Optimization has on your network include the following settings: - [Minimum Background QoS](#minimum-background-qos) lets administrators guarantee a minimum download speed for Windows updates. This setting adjusts the amount of data downloaded directly from HTTP sources, rather than other peers in the network. -- [Maximum Foreground Download Bandwidth](#maximum-foreground-download-bandwidth) specifies the maximum foreground download bandwidth*hat Delivery Optimization uses, across all concurrent download activities, as a percentage of available download bandwidth. -- [Maximum Background Download Bandwidth](#maximum-background-download-bandwidth) specifies the **maximum background download bandwidth** that Delivery Optimization uses, across all concurrent download activities, as a percentage of available download bandwidth. +- [Maximum Foreground Download Bandwidth](#maximum-foreground-download-bandwidth) specifies the maximum foreground download bandwidth that Delivery Optimization uses, across all concurrent download activities, as a percentage of available download bandwidth. +- [Maximum Background Download Bandwidth](#maximum-background-download-bandwidth) specifies the maximum background download bandwidth that Delivery Optimization uses, across all concurrent download activities, as a percentage of available download bandwidth. - [Set Business Hours to Limit Background Download Bandwidth](#set-business-hours-to-limit-background-download-bandwidth) 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. - [Set Business Hours to Limit Foreground Download Bandwidth](#set-business-hours-to-limit-foreground-download-bandwidth) 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. - [Select a method to restrict Peer Selection](#select-a-method-to-restrict-peer-selection) restricts peer selection by the options you select. From c7e9f009b809ac8d6e903a655a34e9ac17ce76f7 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 18 Jul 2024 10:02:07 -0400 Subject: [PATCH 279/354] Addition of PCR 4 --- .../bitlocker/countermeasures.md | 18 ++++++++++++++++-- ...low-secure-boot-for-integrity-validation.md | 5 ++++- ...-for-native-uefi-firmware-configurations.md | 2 ++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 13b8fb7c50..2b7377479e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -92,9 +92,23 @@ Therefore, organizations that use BitLocker might want to use Hibernate instead ### Tricking BitLocker to pass the key to a rogue operating system -An attacker might modify the boot manager configuration database (BCD), which is stored on a nonencrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code makes sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in Platform Configuration Register (PCR) 5. +An attacker might modify the boot manager configuration database (BCD), which is stored on a nonencrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code makes sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in PCR 5. -An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This can't succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0. To successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue) it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. +An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware, and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This can't succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0. To successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue), it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. + +To prevent boot manger roll-back attacks, Windows updates released on and after July 2024 changed the default PCR Validation Profile for **UEFI with Secure Boot** from `7, 11` to `4, 7, 11`. + +The PCR values map to: + +- `PCR 4: Boot Manager` +- `PCR 7: Secure Boot State` +- `PCR 11: BitLocker access control` + +> [!TIP] +> To check what PCRs are in use, execute the following command: +> ```cmd +> manage-bde.exe -protectors -get c: +> ``` ## Attacker countermeasures diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md index 853270403b..fbcf599ccc 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md @@ -1,7 +1,7 @@ --- author: paolomatarazzo ms.author: paoloma -ms.date: 10/30/2023 +ms.date: 07/18/2024 ms.topic: include --- @@ -26,3 +26,6 @@ When this policy is enabled and the hardware is capable of using Secure Boot for |--|--| | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating System Drives** | + +> [!NOTE] +> To prevent boot manger roll-back attacks, Windows updates released on and after July 2024 changed the default PCR Validation Profile for **UEFI with Secure Boot** from `7, 11` to `4, 7, 11`. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md index cb43d10a8c..fd61b353fa 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md @@ -26,6 +26,8 @@ A platform validation profile consists of a set of PCR indices ranging from 0 to > [!NOTE] > When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). +> +> To prevent boot manger roll-back attacks, Windows updates released on and after July 2024 changed the default PCR Validation Profile for **UEFI with Secure Boot** from `7, 11` to `4, 7, 11`. The following list identifies all of the available PCRs: From ea7233f0100a4ff848f7fbeafe825d468b9fb877 Mon Sep 17 00:00:00 2001 From: Sandeep Deo <38295759+SanDeo-MSFT@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:48:00 -0700 Subject: [PATCH 280/354] Update recovery-process.md --- .../data-protection/bitlocker/recovery-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md index 28cbcd8d4a..b2d83e651b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-process.md @@ -2,7 +2,7 @@ title: BitLocker recovery process description: Learn how to obtain BitLocker recovery information for Microsoft Entra joined, Microsoft Entra hybrid joined, and Active Directory joined devices, and how to restore access to a locked drive. ms.topic: how-to -ms.date: 07/08/2024 +ms.date: 07/18/2024 --- # BitLocker recovery process @@ -72,7 +72,7 @@ The following list can be used as a template for creating a recovery process for There are a few Microsoft Entra ID roles that allow a delegated administrator to read BitLocker recovery passwords from the devices in the tenant. While it's common for organizations to use the existing Microsoft Entra ID *[Cloud Device Administrator][ENTRA-2]* or *[Helpdesk Administrator][ENTRA-3]* built-in roles, you can also [create a custom role][ENTRA-5], delegating access to BitLocker keys using the `microsoft.directory/bitlockerKeys/key/read` permission. Roles can be delegated to access BitLocker recovery passwords for devices in specific Administrative Units. > [!NOTE] -> When devices including [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to join to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Custom role or administrative unit scoped administrators will lose access to BitLocker recovery keys for those devices that have undergone device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). +> When devices that utilize [Windows Autopilot](/mem/autopilot/windows-autopilot) are reused to join to Entra, **and there is a new device owner**, that new device owner must contact an administrator to acquire the BitLocker recovery key for that device. Custom role or administrative unit scoped administrators will lose access to BitLocker recovery keys for those devices that have undergone device ownership changes. These scoped administrators will need to contact a non-scoped administrator for the recovery keys. For more information, see the article [Find the primary user of an Intune device](/mem/intune/remote-actions/find-primary-user#change-a-devices-primary-user). The [Microsoft Entra admin center][ENTRA] allows administrators to retrieve BitLocker recovery passwords. To learn more about the process, see [View or copy BitLocker keys][ENTRA-4]. Another option to access BitLocker recovery passwords is to use the Microsoft Graph API, which might be useful for integrated or scripted solutions. For more information about this option, see [Get bitlockerRecoveryKey][GRAPH-1]. From 699d28803a6d5031c13bc90b14358f24ccbd4f6c Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 18 Jul 2024 10:28:50 -0700 Subject: [PATCH 281/354] editorial revision --- .../mdm/windowsadvancedthreatprotection-csp.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md b/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md index 171a60f503..c0d23cc517 100644 --- a/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md +++ b/windows/client-management/mdm/windowsadvancedthreatprotection-csp.md @@ -18,9 +18,11 @@ The table below shows the applicability of Windows: |Education|Yes|Yes| > [!IMPORTANT] -> Windows 11 Home devices that have been upgraded to one of the below mentioned applicable editions might require you to run the following command before onboarding: -> `DISM /online /Add-Capability /CapabilityName:Microsoft.Windows.Sense.Client~~~~`. -> For more information about edition upgrades and features, see [Features](/windows-hardware/manufacture/desktop/windows-features?view=windows-11&preserve-view=true)) +> Windows 11 Home devices that have been upgraded to one of the below mentioned applicable editions might require you to run the following command before onboarding: +> +> `DISM /online /Add-Capability /CapabilityName:Microsoft.Windows.Sense.Client~~~~` +> +> For more information about edition upgrades and features, see [Customize Windows features](/windows-hardware/manufacture/desktop/windows-features?view=windows-11&preserve-view=true). The Windows Defender Advanced Threat Protection (WDATP) configuration service provider (CSP) allows IT Admins to onboard, determine configuration and health status, and offboard endpoints for WDATP. From b874095fb555316cc49847b5d19fb4ecd4f9872b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:51:56 -0700 Subject: [PATCH 282/354] dep-apst1-9183716 --- windows/whats-new/deprecated-features.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 4c4a6712c3..a1f77a2b3c 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -47,6 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| +| Adobe Type1 fonts | Adobe PostScript Type1 fonts are deprecated and support will be removed in a future release of Window.

                In January 2023, Adobe announced the [end of support for PostScript Type1 fonts](https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end-of-support.html) for their latest software offerings. Remove any dependencies on this font type by selecting a supported font type. To display currently installed fonts, go to **Settings** > **Personalization** > **Fonts**. | July 2024 | | DirectAccess | DirectAccess is deprecated and will be removed in a future release of Windows. We recommend [migrating from DirectAccess to Always On VPN](/windows-server/remote/remote-access/da-always-on-vpn-migration/da-always-on-migration-overview). | June 2024 | | NTLM | All versions of [NTLM](/windows/win32/secauthn/microsoft-ntlm), including LANMAN, NTLMv1, and NTLMv2, are no longer under active feature development and are deprecated. Use of NTLM will continue to work in the next release of Windows Server and the next annual release of Windows. Calls to NTLM should be replaced by calls to Negotiate, which will try to authenticate with Kerberos and only fall back to NTLM when necessary. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | June 2024 | | Driver Verifier GUI (verifiergui.exe) | Driver Verifier GUI, verifiergui.exe, is deprecated and will be removed in a future version of Windows. You can use the [Verifier Command Line](/windows-hardware/drivers/devtest/verifier-command-line) (verifier.exe) instead of the Driver Verifier GUI.| May 2024 | From 3785213a39b6b505fe7d2b15282975d597ff3282 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:05:31 -0700 Subject: [PATCH 283/354] dep-apst1-9183716 --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index a1f77a2b3c..07a3077d7c 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -47,7 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| -| Adobe Type1 fonts | Adobe PostScript Type1 fonts are deprecated and support will be removed in a future release of Window.

                In January 2023, Adobe announced the [end of support for PostScript Type1 fonts](https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end-of-support.html) for their latest software offerings. Remove any dependencies on this font type by selecting a supported font type. To display currently installed fonts, go to **Settings** > **Personalization** > **Fonts**. | July 2024 | +| Adobe Type1 fonts | Adobe PostScript Type1 fonts are deprecated and support will be removed in a future release of Windows.

                In January 2023, Adobe announced the [end of support for PostScript Type1 fonts](https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end-of-support.html) for their latest software offerings. Remove any dependencies on this font type by selecting a supported font type. To display currently installed fonts, go to **Settings** > **Personalization** > **Fonts**. | July 2024 | | DirectAccess | DirectAccess is deprecated and will be removed in a future release of Windows. We recommend [migrating from DirectAccess to Always On VPN](/windows-server/remote/remote-access/da-always-on-vpn-migration/da-always-on-migration-overview). | June 2024 | | NTLM | All versions of [NTLM](/windows/win32/secauthn/microsoft-ntlm), including LANMAN, NTLMv1, and NTLMv2, are no longer under active feature development and are deprecated. Use of NTLM will continue to work in the next release of Windows Server and the next annual release of Windows. Calls to NTLM should be replaced by calls to Negotiate, which will try to authenticate with Kerberos and only fall back to NTLM when necessary. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | June 2024 | | Driver Verifier GUI (verifiergui.exe) | Driver Verifier GUI, verifiergui.exe, is deprecated and will be removed in a future version of Windows. You can use the [Verifier Command Line](/windows-hardware/drivers/devtest/verifier-command-line) (verifier.exe) instead of the Driver Verifier GUI.| May 2024 | From 1b4a528d9c382ce185c8e3fa151ee990ca9462e4 Mon Sep 17 00:00:00 2001 From: Zoe Liu <89218764+xinpli@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:59:17 -0700 Subject: [PATCH 284/354] Learn Editor: Update wds-boot-support.md --- windows/deployment/wds-boot-support.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/windows/deployment/wds-boot-support.md b/windows/deployment/wds-boot-support.md index 0b09a07b84..61403f154f 100644 --- a/windows/deployment/wds-boot-support.md +++ b/windows/deployment/wds-boot-support.md @@ -35,17 +35,16 @@ The following table provides support details for specific deployment scenarios. |--- |--- |--- |--- |--- |--- | |**Windows 11**|Not supported, blocked.|Not supported, blocked.|Not supported, blocked.|Not supported, blocked.|Not supported, blocked.| |**Windows 10**|Supported, using a boot image from matching or newer version.|Supported, using a boot image from Windows 10, version 1607 or later.|Supported, using a boot image from Windows 10, version 1809 or later.|Not supported.|Not supported.| +|**Windows Server 2025**|Not supported.|Not supported.|Not supported.|Not supported.|Not supported.| |**Windows Server 2022**|Deprecated, with a warning message.|Deprecated, with a warning message.|Deprecated, with a warning message.|Deprecated, with a warning message.|Not supported.| |**Windows Server 2019**|Supported, using a boot image from Windows 10, version 1809 or later.|Supported.|Supported.|Not supported.|Not supported.| |**Windows Server 2016**|Supported, using a boot image from Windows 10, version 1607 or later.|Supported.|Not supported.|Not supported.|Not supported.| +> [!NOTE] +> Since WS2025 does not support WDS **boot.wim** deployment scenarios anymore, you will see error message "A media driver your computer needs is missing. This could be a DVD, USB or Hard disk driver. If you have a CD, DVD, or USB flash drive with the driver on it, please insert it now.". ## Reason for the change -Alternatives to WDS, such as [Microsoft Configuration Manager](/mem/configmgr/) and [Microsoft Deployment Toolkit](/mem/configmgr/mdt/) (MDT) provide a better, more flexible, and feature-rich experience for deploying Windows images. - -> [!NOTE] -> -> [Microsoft Deployment Toolkit](/mem/configmgr/mdt/) (MDT) only supports deployment of Windows 10. It doesn't support deployment of Windows 11. For more information, see [Supported platforms](/mem/configmgr/mdt/release-notes#supported-platforms). +Alternatives to WDS, [Microsoft Configuration Manager](/mem/configmgr/) provide a better, more flexible, and feature-rich experience for deploying Windows images. ## Not affected From 4a0a64d760558014826e36e9df31244e09b55221 Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:39:48 -0400 Subject: [PATCH 286/354] Style changes Minor style and grammar corrections. Also took the opportunity to perform additional improvements to the article including running it through Acrolinx. --- windows/deployment/wds-boot-support.md | 49 +++++++++++++++----------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/windows/deployment/wds-boot-support.md b/windows/deployment/wds-boot-support.md index 61403f154f..a305d1969b 100644 --- a/windows/deployment/wds-boot-support.md +++ b/windows/deployment/wds-boot-support.md @@ -7,7 +7,7 @@ author: frankroj ms.author: frankroj manager: aaroncz ms.topic: conceptual -ms.date: 04/25/2024 +ms.date: 07/19/2024 ms.subservice: itpro-deploy appliesto: - ✅ Windows 11 @@ -21,47 +21,56 @@ appliesto: The operating system deployment functionality of [Windows Deployment Services](/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh831764(v=ws.11)) (WDS) is being partially deprecated. Starting with Windows 11, workflows that rely on **boot.wim** from installation media or on running Windows Setup in WDS mode is no longer supported. -When you PXE-boot from a WDS server that uses the **boot.wim** file from installation media as its boot image, Windows Setup automatically launches in WDS mode. This workflow is deprecated for Windows 11 and newer boot images. The following deprecation message is displayed: +When PXE booting from a WDS server that uses the **boot.wim** file from installation media as its boot image, Windows Setup automatically launches in WDS mode. This workflow is deprecated for Windows 11 and newer boot images. The following deprecation message is displayed: > Windows Setup > -> Windows Deployment Services client functionality is being partly deprecated. Please visit https://aka.ms/WDSSupport for more details on what is deprecated and what will continue to be supported. +> Windows Deployment Services client functionality is being partly deprecated. Please visit https://aka.ms/WDSSupport for more details on what is deprecated and what is still supported. ## Deployment scenarios affected The following table provides support details for specific deployment scenarios. Boot.wim is the `boot.wim` file obtained from the Windows source files for each specified version of Windows. -|Windows Version being deployed |Boot.wim from Windows 10|Boot.wim from Windows Server 2016|Boot.wim from Windows Server 2019|Boot.wim from Windows Server 2022|Boot.wim from Windows 11| -|--- |--- |--- |--- |--- |--- | -|**Windows 11**|Not supported, blocked.|Not supported, blocked.|Not supported, blocked.|Not supported, blocked.|Not supported, blocked.| -|**Windows 10**|Supported, using a boot image from matching or newer version.|Supported, using a boot image from Windows 10, version 1607 or later.|Supported, using a boot image from Windows 10, version 1809 or later.|Not supported.|Not supported.| -|**Windows Server 2025**|Not supported.|Not supported.|Not supported.|Not supported.|Not supported.| -|**Windows Server 2022**|Deprecated, with a warning message.|Deprecated, with a warning message.|Deprecated, with a warning message.|Deprecated, with a warning message.|Not supported.| -|**Windows Server 2019**|Supported, using a boot image from Windows 10, version 1809 or later.|Supported.|Supported.|Not supported.|Not supported.| -|**Windows Server 2016**|Supported, using a boot image from Windows 10, version 1607 or later.|Supported.|Not supported.|Not supported.|Not supported.| +| Windows Version being deployed | Boot.wim from Windows 10 | Boot.wim from Windows Server 2016 | Boot.wim from Windows Server 2019 | Boot.wim from Windows Server 2022 | Boot.wim from Windows 11 | +| --- | --- | --- | --- | --- | --- | +| **Windows 11** | Not supported, blocked. | Not supported, blocked. | Not supported, blocked. |Not supported, blocked. | Not supported, blocked. | +| **Windows 10** | Supported, using a boot image from matching or newer version. | Supported, using a boot image from a [currently supported version of Windows 10](/windows/release-health/supported-versions-windows-client#windows-10-supported-versions). | Supported, using a boot image from a [currently supported version of Windows 10](/windows/release-health/supported-versions-windows-client#windows-10-supported-versions).| Not supported. | Not supported. | +| **Windows Server 2025** | Not supported. | Not supported. | Not supported. | Not supported. | Not supported. | +| **Windows Server 2022** | Deprecated, with a warning message. | Deprecated, with a warning message. | Deprecated, with a warning message. | Deprecated, with a warning message. | Not supported. | +| **Windows Server 2019** | Supported, using a boot image from a [currently supported version of Windows 10](/windows/release-health/supported-versions-windows-client#windows-10-supported-versions). | Supported. | Supported. | Not supported. | Not supported. | +| **Windows Server 2016** | Supported, using a boot image from a [currently supported version of Windows 10](/windows/release-health/supported-versions-windows-client#windows-10-supported-versions). |Supported. | Not supported. | Not supported. | Not supported. | > [!NOTE] -> Since WS2025 does not support WDS **boot.wim** deployment scenarios anymore, you will see error message "A media driver your computer needs is missing. This could be a DVD, USB or Hard disk driver. If you have a CD, DVD, or USB flash drive with the driver on it, please insert it now.". +> +> The following error message might be displayed when attempting to use **boot.wim** on WDS running on Windows Server 2025: +> +> `A media driver your computer needs is missing. This could be a DVD, USB or Hard disk driver. If you have a CD, DVD, or USB flash drive with the driver on it, please insert it now.` +> +> An error message is expected since using **boot.wim** on WDS running on Windows Server 2025 isn't supported. + ## Reason for the change -Alternatives to WDS, [Microsoft Configuration Manager](/mem/configmgr/) provide a better, more flexible, and feature-rich experience for deploying Windows images. +Alternatives to WDS, [Microsoft Configuration Manager](/mem/configmgr/) provides a better, more flexible, and feature-rich experience for deploying Windows images. ## Not affected -This change doesn’t affect WDS PXE boot. You can still use WDS to PXE boot devices with custom boot images, but you can't use **boot.wim** as the boot image and run Windows Setup in WDS mode. +This change doesn't affect WDS PXE boot. WDS can still be used to PXE boot devices with custom boot images, but **boot.wim** can't be used as the boot image and run Windows Setup in WDS mode. -You can still run Windows Setup from a network share. This change doesn't change Workflows that use a custom boot.wim, such as MDT or Configuration Manager. +Windows Setup can still run from a network share. This change doesn't change Workflows that use a custom boot.wim, such as MDT or Configuration Manager. ## Summary -- Windows 11 workflows that rely on **boot.wim** from installation media are blocked. You can't perform an end to end deployment of Windows 11 using only WDS. +- Windows 11 workflows that rely on **boot.wim** from installation media are blocked. An end to end deployment of Windows 11 using only WDS can't be performed. + - This change doesn't affect Windows 10, Windows Server 2019, and previous operating system versions. + - Windows Server 2022 workflows that rely on **boot.wim** from installation media show a non-blocking deprecation notice. The notice can be dismissed, and currently the workflow isn't blocked. + - Windows Server workflows after Windows Server 2022 that rely on **boot.wim** from installation media are blocked. -If you currently use WDS with **boot.wim** from installation media for end-to-end operating system deployment, and your OS version isn't supported, deprecated, or blocked, it's recommended that you use deployment tools such as MDT, Configuration Manager, or a non-Microsoft solution with a custom boot.wim image. +If WDS is being used with **boot.wim** from installation media for end-to-end operating system deployment, and the OS version isn't supported, deprecated, or blocked, Microsoft recommends using deployment tools such as Microsoft Configuration Manager, or a non-Microsoft solution that uses a custom boot.wim image. -## Also see +## Related content -- [Features removed or no longer developed starting with Windows Server 2022](/windows-server/get-started/removed-deprecated-features-windows-server-2022#features-were-no-longer-developing) -- [Create a custom Windows PE boot image with Configuration Manager](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md) +- [Features removed or no longer developed starting with Windows Server 2022](/windows-server/get-started/removed-deprecated-features-windows-server-2022#features-were-no-longer-developing). +- [Create a custom Windows PE boot image with Configuration Manager](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md). From f8f1ed36c771b66219f12fb7d2fe5c267152e75b Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:43:46 -0400 Subject: [PATCH 287/354] Additional updates Additional corrections and updates --- windows/deployment/wds-boot-support.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/wds-boot-support.md b/windows/deployment/wds-boot-support.md index a305d1969b..1bd67de045 100644 --- a/windows/deployment/wds-boot-support.md +++ b/windows/deployment/wds-boot-support.md @@ -50,13 +50,13 @@ The following table provides support details for specific deployment scenarios. ## Reason for the change -Alternatives to WDS, [Microsoft Configuration Manager](/mem/configmgr/) provides a better, more flexible, and feature-rich experience for deploying Windows images. +Alternatives to WDS, such as [Microsoft Configuration Manager](/mem/configmgr/), provide a better, more flexible, and feature-rich experience for deploying Windows images. ## Not affected This change doesn't affect WDS PXE boot. WDS can still be used to PXE boot devices with custom boot images, but **boot.wim** can't be used as the boot image and run Windows Setup in WDS mode. -Windows Setup can still run from a network share. This change doesn't change Workflows that use a custom boot.wim, such as MDT or Configuration Manager. +Windows Setup can still run from a network share. This change doesn't change Workflows that use a custom boot.wim, such as Microsoft Deployment Toolkit (MDT) or Microsoft Configuration Manager. ## Summary @@ -73,4 +73,4 @@ If WDS is being used with **boot.wim** from installation media for end-to-end op ## Related content - [Features removed or no longer developed starting with Windows Server 2022](/windows-server/get-started/removed-deprecated-features-windows-server-2022#features-were-no-longer-developing). -- [Create a custom Windows PE boot image with Configuration Manager](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md). +- [Create a custom Windows PE boot image with ](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md). From a75c91823d123629f3ab24248e35f5ec1a973ee1 Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:49:38 -0400 Subject: [PATCH 288/354] Update related link Removed related link that is going to be taken down soon and replaced with a more relevant link from the Configuration Manager docs. --- windows/deployment/wds-boot-support.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/wds-boot-support.md b/windows/deployment/wds-boot-support.md index 1bd67de045..182f55c874 100644 --- a/windows/deployment/wds-boot-support.md +++ b/windows/deployment/wds-boot-support.md @@ -50,7 +50,7 @@ The following table provides support details for specific deployment scenarios. ## Reason for the change -Alternatives to WDS, such as [Microsoft Configuration Manager](/mem/configmgr/), provide a better, more flexible, and feature-rich experience for deploying Windows images. +Alternatives to WDS, such as [Microsoft Configuration Manager](/mem/configmgr/osd/understand/introduction-to-operating-system-deployment), provide a better, more flexible, and feature-rich experience for deploying Windows images. ## Not affected @@ -73,4 +73,4 @@ If WDS is being used with **boot.wim** from installation media for end-to-end op ## Related content - [Features removed or no longer developed starting with Windows Server 2022](/windows-server/get-started/removed-deprecated-features-windows-server-2022#features-were-no-longer-developing). -- [Create a custom Windows PE boot image with ](deploy-windows-cm/create-a-custom-windows-pe-boot-image-with-configuration-manager.md). +- [Customize boot images with Configuration Manager](/mem/configmgr/osd/get-started/customize-boot-images). From ff6ccaca876c4a1037db7a7f04a741b89437083e Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 19 Jul 2024 09:11:48 -0600 Subject: [PATCH 289/354] Update windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md --- .../windows-sandbox/windows-sandbox-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md index a59d65972c..8d8f873a38 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview.md @@ -36,7 +36,7 @@ Windows Sandbox has the following properties: > [!NOTE] > Windows Sandbox is currently not supported on Windows Home edition. -> Beginning in Windows 11 24H2, or build version 26100, all inbox store apps like calculator, photos, notepad and terminal will not be available inside Windows Sandbox. Ability to use the apps will be added soon. +> Beginning in Windows 11, version 24H2, all inbox store apps like calculator, photos, notepad and terminal are not available inside Windows Sandbox. Ability to use these apps will be added soon. ## Installation 1. Ensure that your machine is using Windows 10 Pro or Enterprise, build version 18305 or Windows 11. From 5cd9a01edf5481197cf82b34dbc4208047132c30 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:39:38 -0700 Subject: [PATCH 290/354] Retire "Enhanced diagnostic data" article --- ...ing.redirection.windows-configuration.json | 2 +- ...ublishing.redirection.windows-privacy.json | 5 + windows/configuration/wcd/wcd-policies.md | 2 +- ...ata-windows-analytics-events-and-fields.md | 424 ------------------ windows/privacy/toc.yml | 2 - 5 files changed, 7 insertions(+), 428 deletions(-) delete mode 100644 windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md diff --git a/.openpublishing.redirection.windows-configuration.json b/.openpublishing.redirection.windows-configuration.json index b5f046f434..abeb93b128 100644 --- a/.openpublishing.redirection.windows-configuration.json +++ b/.openpublishing.redirection.windows-configuration.json @@ -37,7 +37,7 @@ }, { "source_path": "windows/configuration/enhanced-diagnostic-data-windows-analytics-events-and-fields.md", - "redirect_url": "/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields", + "redirect_url": "https://techcommunity.microsoft.com/t5/windows-it-pro-blog/preview-app-and-driver-compatibility-insights-in-endpoint/ba-p/3482136", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-privacy.json b/.openpublishing.redirection.windows-privacy.json index 3bbff994f7..53cc97b7c2 100644 --- a/.openpublishing.redirection.windows-privacy.json +++ b/.openpublishing.redirection.windows-privacy.json @@ -54,6 +54,11 @@ "source_path": "windows/privacy/windows-personal-data-services-configuration.md", "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", "redirect_document_id": false + }, + { + "source_path": "/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md", + "redirect_url": "https://techcommunity.microsoft.com/t5/windows-it-pro-blog/preview-app-and-driver-compatibility-insights-in-endpoint/ba-p/3482136", + "redirect_document_id": false } ] } diff --git a/windows/configuration/wcd/wcd-policies.md b/windows/configuration/wcd/wcd-policies.md index 68c83b8121..dda5503d8b 100644 --- a/windows/configuration/wcd/wcd-policies.md +++ b/windows/configuration/wcd/wcd-policies.md @@ -455,7 +455,7 @@ ConfigureTelemetryOptInSettingsUx | This policy setting determines whether peopl | DisableDeviceDelete | Specify whether the delete diagnostic data is enabled in the Diagnostic & Feedback Settings page. | ✅ | | | | | DisableDataDiagnosticViewer | Configure whether users can enable and launch the Diagnostic Data Viewer from the Diagnostic & Feedback Settings page. | ✅ | | | | | [DisableOneDriveFileSync](/windows/client-management/mdm/policy-configuration-service-provider#system-disableonedrivefilesync) | Prevent apps and features from working with files on OneDrive. | ✅ | | | | -| [LimitEnhancedDiagnosticDataWindowsAnalytics](/windows/client-management/mdm/policy-csp-system#system-limitenhanceddiagnosticdatawindowsanalytics) | This policy setting, in combination with the System/AllowTelemetry policy setting, enables organizations to send Microsoft a specific set of diagnostic data for IT insights via Windows Analytics services. To enable this behavior you must enable this policy setting, and set Allow Telemetry to level 2 (Enhanced). When you configure these policy settings, a basic level of diagnostic data plus other events that are required for Windows Analytics are sent to Microsoft. These events are documented in [Windows 10, version 1703 basic level Windows diagnostic events and fields](/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields). Enabling enhanced diagnostic data in the System/AllowTelemetry policy in combination with not configuring this policy will also send the required events for Windows Analytics, plus other enhanced level diagnostic data. This setting has no effect on computers configured to send full, basic or security level diagnostic data to Microsoft. If you disable or don't configure this policy setting, then the level of diagnostic data sent to Microsoft is determined by the System/AllowTelemetry policy. | ✅ | | | | +| [LimitEnhancedDiagnosticDataWindowsAnalytics](/windows/client-management/mdm/policy-csp-system#limitenhanceddiagnosticdatawindowsanalytics) | This policy setting, in combination with the System/AllowTelemetry policy setting, enables organizations to send Microsoft a specific set of diagnostic data for IT insights via Windows Analytics services. To enable this behavior you must enable this policy setting, and set Allow Telemetry to level 2 (Enhanced). When you configure these policy settings, a basic level of diagnostic data plus other events that are required for Windows Analytics are sent to Microsoft. Enabling enhanced diagnostic data in the System/AllowTelemetry policy in combination with not configuring this policy will also send the required events for Windows Analytics, plus other enhanced level diagnostic data. This setting has no effect on computers configured to send full, basic or security level diagnostic data to Microsoft. If you disable or don't configure this policy setting, then the level of diagnostic data sent to Microsoft is determined by the System/AllowTelemetry policy. | ✅ | | | | ## TextInput diff --git a/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md b/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md deleted file mode 100644 index c31afd7cdc..0000000000 --- a/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md +++ /dev/null @@ -1,424 +0,0 @@ ---- -title: Enhanced diagnostic data required by Windows Analytics (Windows 10) -description: Use this article to learn more about the limit enhanced diagnostic data events policy used by Desktop Analytics -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 10/12/2017 -ms.topic: reference ---- - - -# Windows 10 diagnostic data events and fields collected through the limit enhanced diagnostic data policy - - **Applies to** - -- Windows 10, version 1709 and newer - -> [!IMPORTANT] -> - The Upgrade Readiness and Device Health solutions of Windows Analytics were retired on January 31, 2020. -> - Desktop Analytics is deprecated and was retired on November 30, 2022. - -Desktop Analytics reports are powered by diagnostic data not included in the Basic level. - -In Windows 10, version 1709, we introduced a new feature: "Limit Enhanced diagnostic data to the minimum required by Windows Analytics". When enabled, this feature limits the operating system diagnostic data events included in the Enhanced level to only the events described below. The Enhanced level also includes limited crash reports, which are not described below. For more information on the Enhanced level, see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). - -With the retirement of Windows Analytics, this policy will continue to be supported by Desktop Analytics, but will not include Office related diagnostic data. - -## KernelProcess.AppStateChangeSummary -This event summarizes application usage and performance characteristics to help Microsoft improve performance and reliability. Organizations can use this event with Desktop Analytics to gain insights into application reliability. - -The following fields are available: - -- **CommitChargeAtExit_Sum:** Total memory commit charge for a process when it exits -- **CommitChargePeakAtExit_Sum**: Total peak memory commit charge for a process when it exits -- **ContainerId:** Server Silo Container ID -- **CrashCount:** Number of crashes for a process instance -- **CycleCountAtExit_Sum:** Total processor cycles for a process when it exited -- **ExtraInfoFlags:** Flags indicating internal states of the logging -- **GhostCount_Sum:** Total number of instances where the application stopped responding -- **HandleCountAtExit_Sum:** Total handle count for a process when it exits -- **HangCount_Max:** Maximum number of hangs detected -- **HangCount_Sum:** Total number of application hangs that are detected -- **HardFaultCountAtExit_Sum:** Total number of hard page faults detected for a process when it exits -- **HeartbeatCount:** Heartbeats logged for this summary -- **HeartbeatSuspendedCount:** Heartbeats logged for this summary where the process was suspended -- **LaunchCount:** Number of process instances started -- **LicenseType:** Reserved for future use -- **ProcessDurationMS_Sum:** Total duration of wall clock process instances -- **ReadCountAtExit_Sum:** Total IO reads for a process when it exited -- **ReadSizeInKBAtExit_Sum:** Total IO read size for a process when it exited -- **ResumeCount:** Number of times a process instance has resumed -- **RunningDurationMS_Sum:** Total uptime -- **SuspendCount:** Number of times a process instance was suspended -- **TargetAppId:** Application identifier -- **TargetAppType:** Application type -- **TargetAppVer:** Application version -- **TerminateCount:** Number of times a process terminated -- **WriteCountAtExit_Sum:** Total number of IO writes for a process when it exited -- **WriteSizeInKBAtExit_Sum:** Total size of IO writes for a process when it exited - -## Microsoft.Office.TelemetryEngine.IsPreLaunch -Applicable for Office UWP applications. This event is fired when an Office application is initiated for the first-time post upgrade/install from the store. It's part of basic diagnostic data. It's used to track whether a particular session is a launch session or not. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **SessionID:** ID of the session - -## Microsoft.Office.SessionIdProvider.OfficeProcessSessionStart -This event sends basic information upon the start of a new Office session. It's used to count the number of unique sessions seen on a given device. The event is used as a heartbeat event to ensure that the application is running on a device. In addition, it serves as a critical signal for overall application reliability. - -- **AppSessionGuid:** ID of the session that maps to the process of the application -- **processSessionId:** ID of the session that maps to the process of the application - -## Microsoft.Office.TelemetryEngine.SessionHandOff -Applicable to Win32 Office applications. This event helps us understand whether there was a new session created to handle a user-initiated file open event. It is a critical diagnostic information that is used to derive reliability signal and ensure that the application is working as expected. - -- **appVersionBuild:** Third part Build version of the application *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **childSessionID:** ID of the session that was created to handle the user initiated file open -- **parentSessionId:** ID of the session that was already running - -## Microsoft.Office.CorrelationMetadata.UTCCorrelationMetadata -Collects Office metadata through UTC to compare with equivalent data collected through the Office telemetry pipeline to check correctness and completeness of data. - -- **abConfigs:** List of features enabled for this session -- **abFlights:** List of features enabled for this session -- **AppSessionGuid:** ID of the session -- **appVersionBuild:** Third part Build version of the application *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRevision:** Fourth part of the version *.*.*.XXXXX -- **audienceGroup:** Is this group part of the insiders or production? -- **audienceId:** ID of the audience setting -- **channel:** Are you part of Semi annual channel or Semi annual channel-Targeted? -- **deviceClass:** Is this device a desktop device or a mobile device? -- **impressionId:** What features were available to you in this session -- **languageTag:** Language of the app -- **officeUserID:** A unique identifier tied to the office installation on a particular device. -- **osArchitecture:** Is the machine 32 bit or 64 bit? -- **osEnvironment:** Is this app a win32 app or a UWP app? -- **osVersionString:** Version of the OS -- **sessionID:** ID of the session - -## Microsoft.Office.ClickToRun.UpdateStatus -Applicable to all Win32 applications. Helps us understand the status of the update process of the office suite (Success or failure with error details). - -- **build:** App version -- **channel:** Is this part of GA Channel? -- **errorCode:** What error occurred during the upgrade process? -- **errorMessage:** what was the error message during the upgrade process? -- **status:** Was the upgrade successful or not? -- **targetBuild:** What app version were we trying to upgrade to? - -## Microsoft.Office.TelemetryEngine.FirstIdle -This event is fired when the telemetry engine within an office application is ready to send telemetry. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.FirstProcessed -This event is fired when the telemetry engine within an office application has processed the rules or the list of events that we need to collect. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.FirstRuleRequest -This event is fired when the telemetry engine within an office application has received the first rule or list of events that need to be sent by the app. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.Init -This event is fired when the telemetry engine within an office application has been initialized or not. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.Resume -This event is fired when the application resumes from sleep state. Used for understanding whether there are issues in the application life cycle. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **maxSequenceIdSeen:** How many events from this session have seen so far? -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **rulesSubmittedBeforeResume:** How many events were submitted before the process was resumed? -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.RuleRequestFailed -This event is fired when the telemetry engine within an office application fails to retrieve the rules containing the list of telemetry events. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.RuleRequestFailedDueToClientOffline -This event is fired when the telemetry engine within an office application fails to retrieve the rules containing the list of telemetry events, when the device is offline. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.ShutdownComplete -This event is fired when the telemetry engine within an office application has processed the rules or the list of events that we need to collect. Useful for understanding whether a particular crash is happening during an app-shutdown, and could potentially lead in data loss or not. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **maxSequenceIdSeen:** How many events from this session have seen so far? -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **rulesSubmittedBeforeResume:** How many events were submitted before the process was resumed? -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.ShutdownStart -This event is fired when the telemetry engine within an office application has been uninitialized, and the application is shutting down. Useful for understanding whether a particular crash is happening during an app-shutdown, and could potentially lead in data loss or not. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **rulesSubmittedBeforeResume:** How many events were submitted before the process was resumed? -- **SessionID:** ID of the session - -## Microsoft.Office.TelemetryEngine.SuspendComplete -This event is fired when the telemetry engine within an office application has processed the rules or the list of events that we need to collect. Used for understanding whether there are issues in telemetry. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **maxSequenceIdSeen:** How many events from this session have seen so far? -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **rulesSubmittedBeforeResume:** How many events were submitted before the process was resumed? -- **SessionID:** ID of the session -- **SuspendType:** Type of suspend - -## Microsoft.Office.TelemetryEngine.SuspendStart -This event is fired when the office application suspends as per app life-cycle change. Used for understanding whether there are issues in the application life cycle. - -- **appVersionBuild:** Third part of the version *.*.XXXXX.* -- **appVersionMajor:** First part of the version X.*.*.* -- **appVersionMinor:** Second part of the version *.X.*.* -- **appVersionRev:** Fourth part of the version *.*.*.XXXXX -- **maxSequenceIdSeen:** How many events from this session have seen so far? -- **officeUserID:** ID of the installation tied to the device. It does not map to a particular user -- **rulesSubmittedBeforeResume:** How many events were submitted before the process was resumed? -- **SessionID:** ID of the session -- **SuspendType:** Type of suspend - -## Microsoft.OSG.OSS.CredProvFramework.ReportResultStop -This event indicates the result of an attempt to authenticate a user with a credential provider. It helps Microsoft to improve sign-in reliability. Using this event with Desktop Analytics can help organizations monitor and improve sign-in success for different methods (for example, biometric) on managed devices. - -The following fields are available: - -- **CredTileProviderId:** ID of the Credential Provider -- **IsConnectedUser:** Flag indicating whether a user is connected or not -- **IsPLAPTile:** Flag indicating whether this credential tile is a pre-logon access provider or not -- **IsRemoteSession:** Flag indicating whether the session is remote or not -- **IsV2CredProv:** Flag indicating whether the credential provider of V2 or not -- **OpitonalStatusText:** Status text -- **ProcessImage:** Image path to the process -- **ProviderId:** Credential provider ID -- **ProviderStatusIcon:** Indicates which status icon should be displayed -- **ReturnCode:** Output of the ReportResult function -- **SessionId:** Session identifier -- **Sign-in error status:** The sign-in error status -- **SubStatus:** Sign-in error substatus -- **UserTag:** Count of the number of times a user has selected a provider - -## Microsoft.Windows.Kernel.Power.OSStateChange -This event denotes the transition between operating system states (On, Off, Sleep, etc.). By using this event with Desktop Analytics, organizations can monitor reliability and performance of managed devices. - -The following fields are available: - -- **AcPowerOnline:** If "TRUE," the device is using AC power. If "FALSE," the device is using battery power. -- **ActualTransitions:** The number of transitions between operating system states since the last system boot -- **BatteryCapacity:** Maximum battery capacity in mWh -- **BatteryCharge:** Current battery charge as a percentage of total capacity -- **BatteryDischarging:** Flag indicating whether the battery is discharging or charging -- **BootId:** Total boot count since the operating system was installed -- **BootTimeUTC:** Date and time of a particular boot event (identified by BootId) -- **EnergyChangeV2:** A snapshot value in mWh reflecting a change in power usage -- **EnergyChangeV2Flags:** Flags for disambiguating EnergyChangeV2 context -- **EventSequence:** A sequential number used to evaluate the completeness of the data -- **LastStateTransition:** ID of the last operating system state transition -- **LastStateTransitionSub:** ID of the last operating system substate transition -- **StateDurationMS:** Number of milliseconds spent in the last operating system state -- **StateTransition:** ID of the operating system state the system is transitioning to -- **StateTransitionSub:** ID of the operating system substate the system is transitioning to -- **TotalDurationMS:** Total time (in milliseconds) spent in all states since the last boot -- **TotalUptimeMS:** Total time (in milliseconds) the device was in Up or Running states since the last boot -- **TransitionsToOn:** Number of transitions to the Powered On state since the last boot -- **UptimeDeltaMS:** Total time (in milliseconds) added to Uptime since the last event - -## Microsoft.Windows.LogonController.LogonAndUnlockSubmit -Sends details of the user attempting to sign into or unlock the device. - -The following fields are available: - -- **isSystemManagedAccount:** Indicates if the user's account is System Managed -- **isUnlockScenario:** Flag indicating whether the event is a Logon or an Unlock -- **userType:** Indicates the user type: 0 = unknown; 1 = local; 2 = Active Directory domain user; 3 = Microsoft Account; 4 = Azure Active Directory user - -## Microsoft.Windows.LogonController.SignInFailure -Sends details about any error codes detected during a failed sign-in. - -The following fields are available: - -- **ntsStatus:** The NTSTATUS error code status returned from an attempted sign-in -- **ntsSubstatus:** The NTSTATUS error code substatus returned from an attempted sign-in - -## Microsoft.Windows.Security.Biometrics.Service.BioServiceActivityCapture -Indicates that a biometric capture was compared to known templates - -The following fields are available: - -- **captureDetail:** Result of biometric capture, either matched to an enrollment or an error -- **captureSuccessful:** Indicates whether a biometric capture was successfully matched or not -- **hardwareId:** ID of the sensor that collected the biometric capture -- **isSecureSensor:** Flag indicating whether a biometric sensor was in enhanced security mode -- **isTrustletRunning:** Indicates whether an enhanced security component is currently running -- **isVsmCfg:** Flag indicating whether virtual secure mode is configured or not - -## Microsoft.Windows.Security.Winlogon.SystemBootStop -System boot has completed. - -The following field is available: - -- **ticksSinceBoot:** Duration of boot event (milliseconds) - -## Microsoft.Windows.Shell.Desktop.LogonFramework.AllLogonTasks -This event summarizes the logon procedure to help Microsoft improve performance and reliability. By using this event with Desktop Analytics, organizations can help identify logon problems on managed devices. - -The following fields are available: - -- **isAadUser:** Indicates whether the current logon is for an Azure Active Directory account -- **isDomainUser:** Indicates whether the current logon is for a domain account -- **isMSA:** Indicates whether the current logon is for a Microsoft Account -- **logonOptimizationFlags:** Flags indicating optimization settings for this logon session -- **logonTypeFlags:** Flags indicating logon type (first logon vs. a later logon) -- **systemManufacturer:** Device manufacturer -- **systemProductName:** Device product name -- **wilActivity:** Indicates errors in the task to help Microsoft improve reliability. - -## Microsoft.Windows.Shell.Desktop.LogonFramework.LogonTask -This event describes system tasks that are part of the user logon sequence and helps Microsoft to improve reliability. - -The following fields are available: - -- **isStartWaitTask:** Flag indicating whether the task starts a background task -- **isWaitMethod:** Flag indicating the task is waiting on a background task -- **logonTask:** Indicates which logon step is currently occurring -- **wilActivity:** Indicates errors in the task to help Microsoft improve reliability. - -## Microsoft.Windows.Shell.Explorer.DesktopReady -Initialization of Explorer is complete. - -## Microsoft-Windows-Security-EFS-EDPAudit-ApplicationLearning.EdpAuditLogApplicationLearning -For a device subject to Windows Information Protection policy, learning events are generated when an app encounters a policy boundary (for example, trying to open a work document from a personal app). These events help the Windows Information Protection administrator tune policy rules and prevent unnecessary user disruption. - -The following fields are available: - -- **actiontype:** Indicates what type of resource access the app was attempting (for example, opening a local document vs. a network resource) when it encountered a policy boundary. Useful for Windows Information Protection administrators to tune policy rules. -- **appIdType:** Based on the type of application, this field indicates what type of app rule a Windows Information Protection administrator would need to create for this app. -- **appname:** App that triggered the event -- **status:** Indicates whether errors occurred during Windows Information Protection learning events - -## Win32kTraceLogging.AppInteractivitySummary -Summarizes which app windows are being used (for example, have focus) to help Microsoft improve compatibility and user experience. Also helps organizations (by using Desktop Analytics) to understand and improve application reliability on managed devices. - -The following fields are available: - -- **AggregationDurationMS:** Actual duration of aggregation period (in milliseconds) -- **AggregationFlags:** Flags denoting aggregation settings -- **AggregationPeriodMS:** Intended duration of aggregation period (in milliseconds) -- **AggregationStartTime:** Start date and time of AppInteractivity aggregation -- **AppId:** Application ID for usage -- **AppSessionId:** GUID identifying the application's usage session -- **AppVersion:** Version of the application that produced this event -- **AudioInMS:** Audio capture duration (in milliseconds) -- **AudioOutMS:** Audio playback duration (in milliseconds) -- **BackgroundMouseSec:** Indicates that there was a mouse hover event while the app was in the background -- **BitPeriodMS:** Length of the period represented by InFocusBitmap -- **CommandLineHash:** A hash of the command line -- **CompositionDirtyGeneratedSec:** Represents the amount of time (in seconds) during which the active app reported that it had an update -- **CompositionDirtyPropagatedSec:** Total time (in seconds) that a separate process with visuals hosted in an app signaled updates -- **CompositionRenderedSec:** Time (in seconds) that an app's contents were rendered -- **EventSequence:** [need more info] -- **FocusLostCount:** Number of times that an app lost focus during the aggregation period -- **GameInputSec:** Time (in seconds) there was user input using a game controller -- **HidInputSec:** Time (in seconds) there was user input using devices other than a game controller -- **InFocusBitmap:** Series of bits representing application having and losing focus -- **InFocusDurationMS:** Total time (in milliseconds) the application had focus -- **InputSec:** Total number of seconds during which there was any user input -- **InteractiveTimeoutPeriodMS:** Total time (in milliseconds) that inactivity expired interactivity sessions -- **KeyboardInputSec:** Total number of seconds during which there was keyboard input -- **MonitorFlags:** Flags indicating app use of individual monitor(s) -- **MonitorHeight:** Number of vertical pixels in the application host monitor resolution -- **MonitorWidth:** Number of horizontal pixels in the application host monitor resolution -- **MouseInputSec:** Total number of seconds during which there was mouse input -- **NewProcessCount:** Number of new processes contributing to the aggregate -- **PartATransform_AppSessionGuidToUserSid:** Flag that influences how other parts of the event are constructed -- **PenInputSec:** Total number of seconds during which there was pen input -- **SpeechRecognitionSec:** Total number of seconds of speech recognition -- **SummaryRound:** Incrementing number indicating the round (batch) being summarized -- **TargetAsId:** Flag that influences how other parts of the event are constructed -- **TotalUserOrDisplayActiveDurationMS:** Total time the user or the display was active (in milliseconds) -- **TouchInputSec:** Total number of seconds during which there was touch input -- **UserActiveDurationMS:** Total time that the user was active including all input methods -- **UserActiveTransitionCount:** Number of transitions in and out of user activity -- **UserOrDisplayActiveDurationMS:** Total time the user was using the display -- **ViewFlags:** Flags denoting  properties of an app view (for example, special VR view or not) -- **WindowFlags:** Flags denoting runtime properties of an app window -- **WindowHeight:** Number of vertical pixels in the application window -- **WindowWidth:** Number of horizontal pixels in the application window - -## Revisions - -### PartA_UserSid removed -A previous revision of this list stated that a field named PartA_UserSid was a member of the event Microsoft.Windows.LogonController.LogonAndUnlockSubmit. This statement was incorrect. The list has been updated to reflect that no such field is present in the event. - -### Office events added -In Windows 10, version 1809 (also applies to versions 1709 and 1803 starting with [KB 4462932](https://support.microsoft.com/help/4462932/windows-10-update-kb4462932) and [KB 4462933](https://support.microsoft.com/help/4462933/windows-10-update-kb4462933) respectively), 16 events were added, describing Office app launch and availability. These events were added to improve the precision of Office data in Windows Analytics. - -> [!NOTE] -> Office data will no longer be provided through this policy in Desktop Analytics. - -### CertAnalytics events removed -In Windows 10, version 1809 (also applies to versions 1709 and 1803 starting with [KB 4462932](https://support.microsoft.com/help/4462932/windows-10-update-kb4462932) and [KB 4462933](https://support.microsoft.com/help/4462933/windows-10-update-kb4462933) respectively), 3 "CertAnalytics" events were removed, as they are no longer required for Desktop Analytics. - ->[!NOTE] ->You can use the Windows Diagnostic Data Viewer to observe and review events and their fields as described in this topic. diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index b6ad626c23..a90650c92d 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -37,8 +37,6 @@ href: windows-diagnostic-data.md - name: Windows 10, version 1703 optional diagnostic data href: windows-diagnostic-data-1703.md - - name: Windows 10 diagnostic data events and fields collected through the limit enhanced diagnostic data policy - href: enhanced-diagnostic-data-windows-analytics-events-and-fields.md - name: Manage Windows connected experiences items: - name: Manage connections from Windows operating system components to Microsoft services From fe428d42fef36a9f8d9f7ac3f42369dc1d3fea40 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:44:50 -0700 Subject: [PATCH 291/354] Fix formatting error in privacy redirection file --- .openpublishing.redirection.windows-privacy.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.openpublishing.redirection.windows-privacy.json b/.openpublishing.redirection.windows-privacy.json index 53cc97b7c2..e280e5a7ba 100644 --- a/.openpublishing.redirection.windows-privacy.json +++ b/.openpublishing.redirection.windows-privacy.json @@ -56,7 +56,7 @@ "redirect_document_id": false }, { - "source_path": "/windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md", + "source_path": "windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md", "redirect_url": "https://techcommunity.microsoft.com/t5/windows-it-pro-blog/preview-app-and-driver-compatibility-insights-in-endpoint/ba-p/3482136", "redirect_document_id": false } From add1d6dbb1d2de05c7638a7f8e3e270fb5b2f42d Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 22 Jul 2024 08:16:40 -0700 Subject: [PATCH 292/354] Replace second-level enumerators (a, b, c) with automatic numbering Second-level list items don't get proper hanging indentation unless they rely on automatic numbering (1, 1, 1). If we instead have a, b, c, etc. in Markdown, indentation is not correct. --- .../test-scenarios-md-app-guard.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md index 8e457f7603..db694768cc 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md @@ -47,17 +47,17 @@ Before you can use Application Guard in managed mode, you must install Windows 1 3. Set up the Network Isolation settings in Group Policy: - a. Select the **Windows** icon, type `Group Policy`, and then select **Edit Group Policy**. + 1. Select the **Windows** icon, type `Group Policy`, and then select **Edit Group Policy**. - b. Go to the **Administrative Templates\Network\Network Isolation\Enterprise resource domains hosted in the cloud** setting. + 1. Go to the **Administrative Templates\Network\Network Isolation\Enterprise resource domains hosted in the cloud** setting. - c. For the purposes of this scenario, type `.microsoft.com` into the **Enterprise cloud resources** box. + 1. For the purposes of this scenario, type `.microsoft.com` into the **Enterprise cloud resources** box. ![Group Policy editor with Enterprise cloud resources setting.](images/appguard-gp-network-isolation.png) - d. Go to the **Administrative Templates\Network\Network Isolation\Domains categorized as both work and personal** setting. + 1. Go to the **Administrative Templates\Network\Network Isolation\Domains categorized as both work and personal** setting. - e. For the purposes of this scenario, type `bing.com` into the **Neutral resources** box. + 1. For the purposes of this scenario, type `bing.com` into the **Neutral resources** box. ![Group Policy editor with Neutral resources setting.](images/appguard-gp-network-isolation-neutral.png) From 846d3b88d20892ccb014806f09813c520bd81c6f Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 22 Jul 2024 08:18:37 -0700 Subject: [PATCH 293/354] Correct indentation of images in list items --- .../test-scenarios-md-app-guard.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md index db694768cc..37a32b008c 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md @@ -26,8 +26,8 @@ You can see how an employee would use standalone mode with Application Guard. 3. Wait for Application Guard to set up the isolated environment. - >[!NOTE] - >Starting Application Guard too quickly after restarting the device might cause it to take a bit longer to load. However, subsequent starts should occur without any perceivable delays. + > [!NOTE] + > Starting Application Guard too quickly after restarting the device might cause it to take a bit longer to load. However, subsequent starts should occur without any perceivable delays. 4. Go to an untrusted, but safe URL (for this example, we used msn.com) and view the new Microsoft Edge window, making sure you see the Application Guard visual cues. @@ -53,13 +53,13 @@ Before you can use Application Guard in managed mode, you must install Windows 1 1. For the purposes of this scenario, type `.microsoft.com` into the **Enterprise cloud resources** box. - ![Group Policy editor with Enterprise cloud resources setting.](images/appguard-gp-network-isolation.png) + ![Group Policy editor with Enterprise cloud resources setting.](images/appguard-gp-network-isolation.png) 1. Go to the **Administrative Templates\Network\Network Isolation\Domains categorized as both work and personal** setting. 1. For the purposes of this scenario, type `bing.com` into the **Neutral resources** box. - ![Group Policy editor with Neutral resources setting.](images/appguard-gp-network-isolation-neutral.png) + ![Group Policy editor with Neutral resources setting.](images/appguard-gp-network-isolation-neutral.png) 4. Go to the **Computer Configuration\Administrative Templates\Windows Components\Microsoft Defender Application Guard\Turn on Microsoft Defender Application Guard in Managed Mode** setting. @@ -67,8 +67,8 @@ Before you can use Application Guard in managed mode, you must install Windows 1 ![Group Policy editor with Turn On/Off setting.](images/appguard-gp-turn-on.png) - >[!NOTE] - >Enabling this setting verifies that all the necessary settings are properly configured on your employee devices, including the network isolation settings set earlier in this scenario. + > [!NOTE] + > Enabling this setting verifies that all the necessary settings are properly configured on your employee devices, including the network isolation settings set earlier in this scenario. 6. Start Microsoft Edge and type `https://www.microsoft.com`. From deebe1925534a39de0686438eea3d607f4f5cb69 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 22 Jul 2024 08:20:58 -0700 Subject: [PATCH 294/354] Add blank lines between elements for consistent layout --- .../test-scenarios-md-app-guard.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md index 37a32b008c..275a28dd9e 100644 --- a/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md +++ b/windows/security/application-security/application-isolation/microsoft-defender-application-guard/test-scenarios-md-app-guard.md @@ -230,10 +230,13 @@ Once a user has the extension and its companion app installed on their enterpris 1. Open either Firefox or Chrome, whichever browser you have the extension installed on. 2. Navigate to an organizational website. In other words, an internal website maintained by your organization. You might see this evaluation page for an instant before the site is fully loaded. + ![The evaluation page displayed while the page is being loaded, explaining that the user must wait.](images/app-guard-chrome-extension-evaluation-page.png) 3. Navigate to a nonenterprise, external website site, such as [www.bing.com](https://www.bing.com). The site should be redirected to Microsoft Defender Application Guard Edge. + ![A non-enterprise website being redirected to an Application Guard container -- the text displayed explains that the page is being opened in Application Guard for Microsoft Edge.](images/app-guard-chrome-extension-launchIng-edge.png) -4. Open a new Application Guard window, by selecting the Microsoft Defender Application Guard icon, then **New Application Guard Window** +4. Open a new Application Guard window, by selecting the Microsoft Defender Application Guard icon, then **New Application Guard Window**. + ![The "New Application Guard Window" option is highlighted in red](images/app-guard-chrome-extension-new-app-guard-page.png) From 5cb22dcc7a2ab5b14bd7ca11517d0067678e47fb Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 22 Jul 2024 12:37:55 -0400 Subject: [PATCH 295/354] Update Universal Print data handling link --- .../book/cloud-services-protect-your-work-information.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/book/cloud-services-protect-your-work-information.md b/windows/security/book/cloud-services-protect-your-work-information.md index 789ac396b8..97aafdbec1 100644 --- a/windows/security/book/cloud-services-protect-your-work-information.md +++ b/windows/security/book/cloud-services-protect-your-work-information.md @@ -232,7 +232,7 @@ Universal Print has integrated with Administrative Units in Microsoft Entra ID t :::image type="icon" source="images/learn-more.svg" border="false"::: **Learn more:** - [Universal Print](https://www.microsoft.com/microsoft-365/windows/universal-print) -- [Data storage in Universal Print](/universal-print/fundamentals/universal-print-encryption) +- [Data handling in Universal Print](/universal-print/data-handling) - [Delegate Printer Administration with Administrative Units](/universal-print/portal/delegated-admin) For customers who want to stay on Print Servers, we recommend using the Microsoft IPP Print driver. For features beyond what's covered in the standard IPP driver, use Print Support Applications (PSA) for Windows from the respective printer OEM. From 6877f31032f768a55178bf889ccfc1fafa7ee15c Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Mon, 22 Jul 2024 10:45:38 -0700 Subject: [PATCH 296/354] Fix broken link to ESC content --- ...windows-operating-system-components-to-microsoft-services.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index 3566b7a050..ce375a294b 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -425,7 +425,7 @@ To turn off Insider Preview builds for Windows 10 and Windows 11: ### 8. Internet Explorer > [!NOTE] -> When attempting to use Internet Explorer on any edition of Windows Server be aware there are restrictions enforced by [Enhanced Security Configuration (ESC)](/troubleshoot/browsers/enhanced-security-configuration-faq). The following Group Policies and Registry Keys are for user interactive scenarios rather than the typical idle traffic scenario. Find the Internet Explorer Group Policy objects under **Computer Configuration > Administrative Templates > Windows Components > Internet Explorer** and make these settings: +> When attempting to use Internet Explorer on any edition of Windows Server be aware there are restrictions enforced by [Enhanced Security Configuration (ESC)](/previous-versions/troubleshoot/browsers/security-privacy/enhanced-security-configuration-faq). The following Group Policies and Registry Keys are for user interactive scenarios rather than the typical idle traffic scenario. Find the Internet Explorer Group Policy objects under **Computer Configuration > Administrative Templates > Windows Components > Internet Explorer** and make these settings: | Policy | Description | |------------------------------------------------------|-----------------------------------------------------------------------------------------------------| From e403e0bd0e351f63f9a83a993e03a5f22b72eb01 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:50:07 -0400 Subject: [PATCH 297/354] Update Windows security introduction --- windows/security/introduction.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/windows/security/introduction.md b/windows/security/introduction.md index 073a4309b9..53edc2cc2c 100644 --- a/windows/security/introduction.md +++ b/windows/security/introduction.md @@ -1,24 +1,17 @@ --- title: Introduction to Windows security description: System security book. -ms.date: 09/01/2023 -ms.topic: tutorial +ms.date: 07/22/2024 +ms.topic: overview ms.author: paoloma -ms.collection: - - essentials-security -content_well_notification: - - AI-contribution author: paolomatarazzo -appliesto: - - ✅ Windows 11 -ai-usage: ai-assisted --- # Introduction to Windows security The acceleration of digital transformation and the expansion of both remote and hybrid work brings new opportunities to organizations, communities, and individuals. This expansion introduces new threats and risks. -Organizations worldwide are adopting a **Zero Trust** security model based on the premise that no person or device anywhere can have access until safety and integrity is proven. Windows 11 is built on Zero Trust principles to enable hybrid productivity and new experiences anywhere, without compromising security. Windows 11 raises the [security baselines](operating-system-security/device-management/windows-security-configuration-framework/windows-security-baselines.md) with new requirements for advanced hardware and software protection that extends from chip to cloud. +Organizations worldwide are adopting a **Zero Trust** security model based on the premise that no person or device anywhere can have access until safety and integrity is proven. Windows 11 is built on Zero Trust principles to enable hybrid productivity and new experiences anywhere, without compromising security. Windows 11 raises the security baselines with new requirements for advanced hardware and software protection that extends from chip to cloud. ## How Windows 11 enables Zero Trust protection @@ -44,11 +37,11 @@ In Windows 11, hardware and software work together to protect the operating syst To help keep personal and business information protected and private, Windows 11 has multiple layers of application security that safeguard critical data and code integrity. Application isolation and controls, code integrity, privacy controls, and least-privilege principles enable developers to build in security and privacy from the ground up. This integrated security protects against breaches and malware, helps keep data private, and gives IT administrators the controls they need. -In Windows 11, [Microsoft Defender Application Guard](/windows-hardware/design/device-experiences/oem-app-guard) uses Hyper-V virtualization technology to isolate untrusted websites and Microsoft Office files in containers, separate from and unable to access the host operating system and enterprise data. To protect privacy, Windows 11 also provides more controls over which apps and features can collect and use data such as the device's location, or access resources like camera and microphone. +In Windows 11, [Microsoft Defender Application Guard](application-security/application-isolation/microsoft-defender-application-guard/md-app-guard-overview.md) uses Hyper-V virtualization technology to isolate untrusted websites and Microsoft Office files in containers, separate from and unable to access the host operating system and enterprise data. To protect privacy, Windows 11 also provides more controls over which apps and features can collect and use data such as the device's location, or access resources like camera and microphone. ### Secured identities -Passwords have been an important part of digital security for a long time, and they're also a top target for cybercriminals. Windows 11 provides powerful protection against credential theft with chip-level hardware security. Credentials are protected by layers of hardware and software security such as [TPM 2.0](information-protection/tpm/trusted-platform-module-overview.md), [VBS](/windows-hardware/design/device-experiences/oem-vbs), and/or [Credential Guard](identity-protection/credential-guard/index.md), making it harder for attackers to steal credentials from a device. With [Windows Hello for Business](identity-protection/hello-for-business/index.md), users can quickly sign in with face, fingerprint, or PIN for passwordless protection. Windows 11 also supports [FIDO2 security keys](/azure/active-directory/authentication/howto-authentication-passwordless-security-key) for passwordless authentication. +Passwords have been an important part of digital security for a long time, and they're also a top target for cybercriminals. Windows 11 provides powerful protection against credential theft with chip-level hardware security. Credentials are protected by layers of hardware and software security such as [TPM 2.0](information-protection/tpm/trusted-platform-module-overview.md), [VBS](/windows-hardware/design/device-experiences/oem-vbs), and/or [Credential Guard](identity-protection/credential-guard/index.md), making it harder for attackers to steal credentials from a device. With [Windows Hello for Business](identity-protection/hello-for-business/index.md), users can quickly sign in with face, fingerprint, or PIN for passwordless protection. Windows 11 also supports [FIDO2 security keys](/azure/active-directory/authentication/howto-authentication-passwordless-security-key) and [passkeys](identity-protection/passkeys/index.md) for passwordless authentication. ### Connecting to cloud services @@ -58,4 +51,4 @@ Microsoft offers comprehensive cloud services for identity, storage, and access To learn more about the security features included in Windows 11, read the [Windows 11 Security Book](book/index.md). - + From e2e86743558a5a846d2cfc68d77a2ca735d38b92 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:53:53 -0400 Subject: [PATCH 298/354] Update Windows 11 version in education/windows/index.yml and fix date in windows/security/operating-system-security/data-protection/encrypted-hard-drive.md --- education/windows/index.yml | 6 +++--- .../data-protection/encrypted-hard-drive.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/education/windows/index.yml b/education/windows/index.yml index 0cd20e659d..1c2008d3c9 100644 --- a/education/windows/index.yml +++ b/education/windows/index.yml @@ -12,16 +12,16 @@ metadata: author: paolomatarazzo ms.author: paoloma manager: aaroncz - ms.date: 10/30/2023 + ms.date: 07/22/2024 highlightedContent: items: - title: Get started with Windows 11 SE itemType: get-started url: windows-11-se-overview.md - - title: Windows 11, version 22H2 + - title: Windows 11, version 23H2 itemType: whats-new - url: /windows/whats-new/whats-new-windows-11-version-22H2 + url: /windows/whats-new/whats-new-windows-11-version-23h2 - title: Explore all Windows trainings and learning paths for IT pros itemType: learn url: https://learn.microsoft.com/en-us/training/browse/?products=windows&roles=administrator diff --git a/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md b/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md index 368b0d1c10..61a6b9a820 100644 --- a/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md +++ b/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md @@ -1,7 +1,7 @@ --- title: Encrypted hard drives description: Learn how encrypted hard drives use the rapid encryption that is provided by BitLocker to enhance data security and management. -ms.date: 10/18/2023 +ms.date: 07/22/2024 ms.topic: concept-article --- @@ -75,7 +75,7 @@ To configure encrypted hard drives as startup drives, use the same methods as st There are three policy settings to manage how BitLocker uses hardware-based encryption and which encryption algorithms to use. If these settings aren't configured or disabled on systems that are equipped with encrypted drives, BitLocker uses software-based encryption: -- [Configure use of hardware-based encryption for fixed data drives](bitlocker/configure.md?tabs=fixed#configure-use-of-hardware-based-encryption-for-fixed-data-drives) +- [Configure use of hardware-based encryption for fixed data drives](bitlocker/configure.md?tabs=fixed#configure-use-of-hardware-based-encryption-for-fixed-data-drives) - [Configure use of hardware-based encryption for removable data drives](bitlocker/configure.md?tabs=removable#configure-use-of-hardware-based-encryption-for-removable-data-drives) - [Configure use of hardware-based encryption for operating system drives](bitlocker/configure.md?tabs=os#configure-use-of-hardware-based-encryption-for-operating-system-drives) From 883b3902f6ae9db6fc4c7bd0f504a780dce3dd29 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:55:25 -0400 Subject: [PATCH 299/354] Update education index.yml with new date --- education/index.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/education/index.yml b/education/index.yml index adc8d30041..1da8d77fdb 100644 --- a/education/index.yml +++ b/education/index.yml @@ -8,7 +8,7 @@ metadata: title: Microsoft 365 Education Documentation description: Learn about product documentation and resources available for school IT administrators, teachers, students, and education app developers. ms.topic: hub-page - ms.date: 11/06/2023 + ms.date: 07/22/2024 productDirectory: title: For IT admins From dacc49244b1c9d603d7469c6444de6541a03a245 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Mon, 22 Jul 2024 13:37:40 -0600 Subject: [PATCH 300/354] PR feedback, re-organize and updates png --- .../do/delivery-optimization-configure.md | 249 +++++++++--------- .../images/do-setup-allow-communication.png | Bin 45549 -> 62330 bytes .../do/images/do-setup-connected-cache.png | Bin 17078 -> 24287 bytes .../do/images/do-setup-improve-efficiency.png | Bin 15132 -> 13029 bytes .../do/images/do-setup-network-topology.png | Bin 64030 -> 70538 bytes .../do/images/do-setup-org-size.png | Bin 34454 -> 33071 bytes .../do/images/do-setup-presence.png | Bin 21663 -> 27141 bytes .../do/images/do-setup-system-resources.png | Bin 30121 -> 31857 bytes 8 files changed, 128 insertions(+), 121 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 258bb90b68..8e359b9c3a 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -25,15 +25,18 @@ ms.date: 07/01/2024 Use this checklist to guide you through different aspects when modifying Delivery Optimization configurations for your environment. -1. Allow Delivery Optimization communication -2. Choose where to set Delivery Optimization policies -3. Network topology -4. Optimize P2P usage for your organization size -5. System resources -6. Improve efficiencies -7. Connected Cache +1. Pre-requisites to allow Delivery Optimization communication +1. Evaluate Delivery Optimization policies based on the following: -## 1. Allow Delivery Optimization communication + * Network topology + * Organization size + * System resources + * Improve P2P efficiencies + +1. Using Connected Cache? +1. Choose where to set Delivery Optimization policies + +## 1. Pre-requisites to allow Delivery Optimization communication :::image type="content" source="images/do-setup-allow-communication.png" alt-text="Screenshot of the considerations to allow Delivery Optimization communication." lightbox="images/do-setup-allow-communication.png"::: @@ -67,7 +70,123 @@ Delivery Optimization requires the use of certain ports to deliver content. Make | 3544 | TCP/IP | Use Teredo to discover and connect to peers across NATs | | 443 | HTTPS / TLS 1.2 | Use to communicate Delivery Optimization client and service | -## 2. DO presence +## 2. Evaluate Delivery Optimization policies + +There are a range of [Delivery Optimization settings](waas-delivery-optimization-reference.md) available to meet the needs of your environment. To fully leverage Delivery Optimization, you should focus on key areas to determine the most suitable settings for your unique environment. + +### 2a. Network topology + +:::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: + +Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings used will depend on your desired peer group(s) and your network topology.* + +#### Peering setup + +##### Define peer groups + +###### Local area network (LAN) + +To define a peer group limited to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This download mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. + +> [!NOTE] +> Consider using Group download mode and/or limiting peer selection to the subnet if your network topology is a Hub and Spoke. + +###### Wide area network (WAN) + +To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use download mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. + +###### GroupIDSource default behavior + +There are several options for identifying your Group ID using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [DOGroupID](waas-delivery-optimization-reference.md#group-id) or [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies aren't set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). [Learn more](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) about all DOGroupIDSource available options. + +> [!NOTE] +> If your peer group spans across NATs, the Teredo service will be used on port 3544. +> +> For Configuration Manager users, we recommend leveraging existing [boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization) to define the peer groups. + +###### Restrict peer selection + +If your environment requires a more granular approach, you can use the restrict peer discovery setting alongside the download mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection) (Subnet). This setting can be used with any of the peer-related download modes (1, 2, or 3). + +#### Non-peering options + +There are two valid download modes that don't use P2P functionality to deliver content; download modes (0) and (99). download mode (0) uses additional metadata provided by the Delivery Optimization services for a peerless, reliable, and efficient download experience. Download mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. + +#### Peering with VPN + +By default, if Delivery Optimization detects a VPN, peering is not used. To change this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN you use in your organization. + +> [!NOTE] +> The default keyword list is “VPN”, “Secure”, and “Virtual Private Network”. For example, “MYVPN” matches the “VPN” keyword and would be detected as a VPN connection. + +### 2b. Organization size + +:::image type="content" source="images/do-setup-org-size.png" alt-text="Screenshot of optimizing P2P usage for your organization." lightbox="images/do-setup-org-size.png"::: + +Delivery Optimization is designed to perform best in a large-scale environment with many devices. Depending on the size of the environment, you should evaluate the value of the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to optimize peering. + +#### Minimum file size to cache + +Content peering has a limited number of slots available at any given time. By default, only content files that are 50 MB or larger can be used for peering. In an environment with more than 30 devices, change the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to a lower value (10 MB), to have more content available for peering, which can be distributed among many devices. For an even larger number of devices (>100), you can raise this setting to (1 MB). + +#### Mobile devices + +By default, P2P capabilities aren't enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [DOMinBatteryPercentageAllowedToUpload](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. + +### 2c. System resources + +:::image type="content" source="images/do-setup-system-resources.png" alt-text="Screenshot of Delivery Optimization system resources considerations." lightbox="images/do-setup-system-resources.png"::: + +There are some Delivery Optimization configurations that can make an impact when various system resources are available. + +#### Disk size + +Alter the minimum disk size (default is 32 GB) a device must have to use peering with the [DOMinDiskSizeAllowedToPeer](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. + +#### Optimize cache size + +You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size) (default is 20%) and [DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size) (default is not configured). + +#### RAM size + +Control the minimum amount of RAM (inclusive) allowed to use peer caching (default is 4 GB), with [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). + +#### Large number of devices with idle system resources + +In an environment with devices that are plugged in and have ample free disk space try increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to seven or more (up to 30 days). You can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. + +### 2d. Improve P2P efficiency + +:::image type="content" source="images/do-setup-improve-efficiency.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiency.png"::: + +Looking to improve P2P efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: + +* Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. +* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of delay-related policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). To improve efficiencies from peers or a dedicated cache server, a good starting point is 60 seconds for background settings and 30 seconds for foreground settings. + +> [!NOTE] +> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. + +#### Bandwidth throttling options + +Regardless of P2P, consider setting the following policies to avoid network disruption. + +* Manage network usage as a percentage or absolute value. These policies include: [DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). +* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) and [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). + +> [!NOTE] +> The absolute policies are recommended in low bandwidth environments. + +## 3. Using Connected cache? + +:::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: + +* [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* +* [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. +* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#6-improve-p2p-efficiency) section above). +* [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. + +## 4. Choose where to set Delivery Optimization policies :::image type="content" source="images/do-setup-presence.png" alt-text="Screenshot of different product areas where you find Delivery Optimization." lightbox="images/do-setup-presence.png"::: @@ -88,118 +207,6 @@ Delivery Optimization is integrated with both Microsoft Endpoint Manager and Con * [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) * [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) -## 3. Network topology - -:::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: - -Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings used will depend on your desired peer group(s) and your network topology.* - -### Peering setup - -#### Define peer groups - -##### Local area network (LAN) - -To define a peer group limited to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This download mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. - -> [!NOTE] -> Consider using Group download mode and/or limiting peer selection to the subnet if your network topology is a Hub and Spoke. - -##### Wide area network (WAN) - -To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use download mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. - -##### GroupIDSource default behavior - -There are several options for identifying your Group ID using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [DOGroupID](waas-delivery-optimization-reference.md#group-id) or [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies aren't set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). [Learn more](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) about all DOGroupIDSource available options. - -> [!NOTE] -> If your peer group spans across NATs, the Teredo service will be used on port 3544. -> -> For Configuration Manager users, we recommend leveraging existing [boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization) to define the peer groups. - -##### Restrict peer selection - -If your environment requires a more granular approach, you can use the restrict peer discovery setting alongside the download mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection) (Subnet). This setting can be used with any of the peer-related download modes (1, 2, or 3). - -### Non-peering options - -There are two valid download modes that don't use P2P functionality to deliver content; download modes (0) and (99). download mode (0) uses additional metadata provided by the Delivery Optimization services for a peerless, reliable, and efficient download experience. Download mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. - -### Peering with VPN - -By default, if Delivery Optimization detects a VPN, peering is not used. To change this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN you use in your organization. - -> [!NOTE] -> The default keyword list is “VPN”, “Secure”, and “Virtual Private Network”. For example, “MYVPN” matches the “VPN” keyword and would be detected as a VPN connection. - -## 4. Optimize P2P usage for your organization size - -:::image type="content" source="images/do-setup-org-size.png" alt-text="Screenshot of optimizing P2P usage for your organization." lightbox="images/do-setup-org-size.png"::: - -Delivery Optimization is designed to perform best in a large-scale environment with many devices. Depending on the size of the environment, you should evaluate the value of the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to optimize peering. - -### Minimum file size to cache - -Content peering has a limited number of slots available at any given time. By default, only content files that are 50 MB or larger can be used for peering. In an environment with more than 30 devices, change the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to a lower value (10 MB), to have more content available for peering, which can be distributed among many devices. For an even larger number of devices (>100), you can raise this setting to (1 MB). - -### Mobile devices - -By default, P2P capabilities aren't enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [DOMinBatteryPercentageAllowedToUpload](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. - -## 5. System resources - -:::image type="content" source="images/do-setup-system-resources.png" alt-text="Screenshot of Delivery Optimization system resources considerations." lightbox="images/do-setup-system-resources.png"::: - -There are some Delivery Optimization configurations that can make an impact when various system resources are available. - -### Disk size - -Alter the minimum disk size (default is 32 GB) a device must have to use peering with the [DOMinDiskSizeAllowedToPeer](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. - -### Optimize cache size - -You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size) (default is 20%) and [DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size) (default is not configured). - -### RAM size - -Control the minimum amount of RAM (inclusive) allowed to use peer caching (default is 4 GB), with [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). - -### Large number of devices with idle system resources - -In an environment with devices that are plugged in and have ample free disk space try increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to seven or more (up to 30 days). You can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. - -## 6. Improve P2P efficiency - -:::image type="content" source="images/do-setup-improve-efficiency.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiency.png"::: - -Looking to improve P2P efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: - -* Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. -* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of delay-related policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). To improve efficiencies from peers or a dedicated cache server, a good starting point is 60 seconds for background settings and 30 seconds for foreground settings. - -> [!NOTE] -> Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. - -### Bandwidth throttling options - -Regardless of P2P, consider setting the following policies to avoid network disruption. - -* Manage network usage as a percentage or absolute value. These policies include: [DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). -* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) and [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). - -> [!NOTE] -> The absolute policies are recommended in low bandwidth environments. - -## 7. Connected cache - -:::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: - -* [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* -* [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. -* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#6-improve-p2p-efficiency) section above). -* [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. - ## Summary of basic configuration recommendations | Use case | Policy | Recommended value | diff --git a/windows/deployment/do/images/do-setup-allow-communication.png b/windows/deployment/do/images/do-setup-allow-communication.png index ae9a61ec798e441e6190a4ef80300bf89493faad..6a8d97ba812f8cb6a7db5c252aec76f4e3c6ed82 100644 GIT binary patch literal 62330 zcmag`2UJsC(*_I&QHn|t1e6+)UR8Q8q7V>JklvIkz1I+mU;&g~l&%nvF1>>dX#z@z z0HI0=AyNa03Ev6c-tY4~|NpHoYq2;ahkf>*nLTsO%(WA9S5K4XEbCbi2t)(X(l7vl zC}=^TQ*2Zez&jGb4k^GdGG7Btbx`FX`#SK)X(u&ZH4vye;oR?sXMn${y|m1HK_J?X zq#v@TBv&*Dv`YukP`e*wy*W!AdVgi?a65&b3Ob2ZdPtoQ=Jv?1p*|&41~x@mRJd() zzFjnS9kaFi(Gp?mULks_#)V9+LFhU6^Zd7pjx9{WP?VTko;%;naaSoxD`%8XSM;BsUQhVq)Wy9HXRV zoo;dGDE<8y6hr>^(knhq$ozKzFGN>2{rPhN!MpEX`BMM=aM{R7pG$v;#&Y-B?4ViR z7qY(}^w@}H%6_Myy45ceAolm&h_;O{9ZbMayWm2Wsvvp|0SAK zTn;bh@i-o2W|Cy9`zWX5YybDN`6vH3zLw_V-?u@9SH1te9!`?|_j+B6{qJ>z9}l3o zKQC2z2FkzJV2=M=Xkz?-53d?;-VxgD9z5{wUI7m`_osuozEnXwwm<($UkMCO)uar= zP38yR&dL(_4jU=bb?BCpWPV9A@A2C4FcWJVI1thz(e$qo-87!^D`t<0-bvH zg)AaMA@uM)I!ne=47j!Ff$+Vz(N+_%^Ke;)uI|X#z!%BDj(5WJN4kfxUtY4w$T$A-;u^v#86#Ox;}xzGd&(iR zNVMga|C|gNsHqN%3`fpoy#|B8#fh?@#Dcw>iLH_&E7BK;B70VQ0?fgj<*_ke4mTb+e<|Gr(E;sB^#e2>YcS##bz7HFc3O)3Ka*bm(MCH~x zoWc$lo;6_iv7N`W2cqV6?}5G8Bpc3nI#r=Wx60MPS_bAh;TtlL)lsZ@`}VYyQUGQt z%yZn;oB=YBEjMC|L1}Xts+csT;AT*BdFMdOY9-ELA)R^~ZxESW|-Ohq7OZm>deFJMsR*19!pe{64;oRZdWFjpd+_%Cc1l&4 zvAI1ZS#Ivd$G|24EeGN{O0vXZHe!ZFFRXTnoTZpqxK2jHZcAXNYimLQ27^C9`+A^{ zh?^ahDD*78X{ZFVy@l`WNN_FB!a7mG?zC4nj<}N4or6C>c;;AudIlu<^P9;AE(F>JOx!rr%=*F8!?d$#WzBZPAx%|Y9?&clTa z+-t$2QhOiB=_ZfDiMx3XflAw77#k+A8+91gfbt@}92f72N~;_R5D0u#{`0YZI4-4v zViaqG!Mu^*wJ|}{vCG~aud>OTV^Ql&*>K;79(HquZ_eP@t)6hPv1NsEVPWRTB|w0# z-7TzY$o~Co{AKn2;|;rwUFRd7c4@cCYxuCu%KM;18NjL1OYW`?HPT(3%L@C|TQ2QB zEvvaYLMNb2dBv|8j{V8U)RrY*?}?l{m|KaR;dz|(>KCWqk8UHY7QgCt83L#nLWx;D z4FX?mW89X%me0Gp*Wc-BfbjoJBLfWd=!PmKv*g0}8V8-#O}R`(uapgiz^%G=9Y&hW z`(8Ti>$`a6+e5iZ?ifV3svS%Zt8^Iz${xyLpVy=Rjw$V6JiQ0ARH0luVzCL`Zj14g zzpTnXA=s#xFVmjDcRrLK>5%S8#{&xH0=#{5Jgu=nj&sR=db^BLv38n}0~F4c?-y~4 zQhO$Ipk+sGsCi=V`mA|kh_1?g|BcaJ+YCPHI_km$<6mKVAdvbMUS3|M3sn%m9CXH* z__4>0c^};QN6D&439Ga76xiM z4C{BObuTu-pU=3~Iu6u)c^uZWBZ|(C;>_gv4$lFCj{>F{1nLo;;p^M_aMO4V`lcg% z1Nvqddn+6hg`I;|p*s&3&mmfckNn`LK%iekcm>DXjHeqsW?k@(1DRHdZFGEACHXPu zE5P{Oz28dM89QOzj1e@X^%o#okqU$GrryZc7%;H;8hcYuV263VAJB~ti@mLeCj6S<(5yV!-SRSJmh3!-#t&Ed_t(RI z2Pv#(v45w#?E*OEhQOmrH(Moji6IK^I~dZgfl9A_J)&G^NbV?6i0I`RDJ5iC)seO{uDAuJN2&Nk2<*vPlwA zYm`hJiQnmTS~Lut7}^1r=*`H9wKAwhY~`$Tgp?t!Q_N=gdYE1a*TfGJWcGo zvIc%y2DrY#q-R-|?s~X8dg6j`O}Il3Lr3`Pj5YP#4cz75gfkazyGYRBK7AIiz z@<*tlxVg%j%zRK{t43jwnLM{~a!R~buZxU!lyxqjBMESMHT&@uW~~ivfB@ir^u&VM zgpJNAJ)Jsq>7`7$Uu7lHF!OyUrUNe)G&HtMG%~SrU|bh7b}{k9lH9M0n(iIN{ZYdk zertCvf)583FojrE1Ds_`OC&K|b?*KD0%^zz?4-Je&bZqV8f-zxe|fRpg+D?>`Z(Ykb>b#ZGeOLHIQ2&7-5Q{|TsbCL7gB64B5|{STO~dMzz3CY7LR zkWB@s?%PytFz5?c_0!REqWv zFR_mkncIQdiwBrPB{GoLwS9s^Lm3@(_iza@@WRmGOwPbC-ec_+~&Sucrh+O*b9r2 zNtwW#fAWNgYfF`~C!+K@^$+C#bVtKJ6>T`ghu{RBkor%uK<~(Xq97moe{TyZ;U+yW zf?f6h9uR7!ue-eoKos@o|6~mhpBmf(#^L`b0Rhj*!egUP-l7D6Dd`3N_MSArGS5Hx zNAzXV#ee+A-BLgo%iw=MHUDB)+8!CwlsY0hfAi4kd`Nxo7A=#eK-(>L9d3Y>fsd_;6L3*h+ zJ?sJm(4+S6h#m=1ssB5@JNA(R2*ZZpZK1$=@BSVB zRm}6fa@qX*7l3C_|9ytc|4f<>)W1U$i;te zk?~GUb~_Q;iKc*iFU5+?^U)f(kyI`8cS1M+$m4JNywC$-ry>cB-uB-+E+l!BaFfOb z*Zmb_yy=PdPwoWN{fS=bWLf_{>FtST1pf}9`R5_ge}(@1L~^90jPwGZzs2muK0}H#DcE;9pir|DlqIEpRG>XG||j|?VVouzo!xFWz2r^kT$XEVO|JuccR3U9RNxJ`7Lz74h z;-`WpDB{8M=f6T7^mTQsNtXI&Mylx?mNK`-@2ojOL8^&OO0)*a?*FI#L|$n4kp@GN z(u3|6Wb1D(pa?)!-gD|+L-EP@e+1N1m!s0bo3*OArNNoCN}I-^(zc}micpQoKQZh- z>PZwt{8SM~bh0^i-}`ahV5vw&=YG-+X3QbcXzB*WS%Cs{`ng5vi8uK>?LysJV&10t zP6vl(M!DcV^iHz2i3$(R@WHLVFH=WK{X{XgB9%wopoq=5=YG(Cv7F9MNa>4d7N(&O&^%@m)x|vg9MzXVi8TLdfxqQ_ zZ9B_ff7hjTf92tQXTSm&p_hTfaKzT+&0-o{txC|KR8KRGv5}}hUNnmtUC?DF2Z<#h zmLg8sPPJvm>4aouK%gDO_n z>mcy%{~rr}a8N~@p*S*3);F_UDq<;|emOMlZEWO0OdM_A=iq0UlHI*BMHr#tKLxUn zwJ2S4t3i_j+8;Mzj~yzoUwWaY$0NOFv%c|B&o8)7YD3r`bC{rU`<6x9K0>9p;f(my zbGL(dxL@dCgio0|51_KhoIwg8Ll+ucPDcHTbtUcxWy`)Pu|rIXd}4WczD3 z$+NG5p>rV^@>Kyv-inZ$dR3faPZpnP`F-xrsqJyL_^BicO%G<}(qt0l_g6SJ)V|+3 zx2P)b|0s&*4n8M)a@D!XQobSOi~rFi0}}{z93U2~FFg=!P%6nKQjh5PnSCbF;(W-0 zA;dpEa`V#B@Akn9^g%kBU$lLOFZ^3Bg|ORG13u|veoT~uPPh;E{Eno1fK&{*{nXPc zik?U*#?2FJty?9 zIxKB=!*|BW3-wxMa%w?7=XBYB*SXX(l4TT|eKzNzrN93Vc6`Xq&8`0S?b-L$4$dQ; zY~ZrNT)8W*{8)%S>&2>J^+l*2t;?|LEhaHhnvgrmH}+f2LjAhwY68?{{8lVE$7wO+!sousJ=shA`r1A_ zX2$H`5x^D&sSU&Vy8}e4o9^dWz&$d;wKd4}$(Qa<-M~VoYJb})h?y3a1Co7~s)c`X z1|;i*tx0hB{7tjaU<3(qdlq=Iw7{-N+EXkq1yR{&ZmfPuBKMJ&i(#Uqk|za4(6TT8 zK~<_0V@okVP2X1}@BY?rk!1+EQSCsP!G6n|fY6`IWM)boW$c#6@GcN2;W^bG2dqYN z9AK{RMk$$+vi<@e7h_HKGbZD&Zps$lZx4Gn>PFC>PD-EAu1})}eBzf%GSDy(&8PlG z^OLxi*v(<7Vgxu-zFvMhQ_FoEKm4cYXJ7;)H(bP*IqAL_4e6m^%K)*rWC9?8KQa8o zvxDgnjf*PD*Y=f@?hm<*WmX&u8C5|)#ecpvMKKEx!%`c7<-abX&m9X{5V7SPsm zfiV4Fu6pO4mCjrW;4rm7c`8Mm#u^KK{qJT=GMjM zJM4ugu;x#2j8J@pc${I6_^pEQw*UCnpbB9s$buYM^fD^{#KeH~jlEbkGqXtU%GcA< z+rF~7Ucd~@;${gqDH?GbjEID_8cb6r*$bMXZ##cSom*uHC6(f(n3u7q!HJx(M-d_x zxD<_BOo_I)Vr88ozsZH|6!P%rr4*vKghA={{H~_)1Ql`ZrUTO@}|AtFc|Sx z_Nx>I!OKJkX$+F}A)o4yy$dgGEG)}yN9ytx>|(^sMr@a9VRP)lC4<)!IhHt4OYAEu zl;bc#S3abu18P=`rUj@sp6U^$X#Z70+8r04$ELr%?vPWf`ZHVBM|F^oA5#0Y-hO!( zEAJHf!Q!7>@V?)RKfQ!SunyqYsVEpIduSObf2CbRhsiY!?#jV|lu3Hty6Jv-SM$Kv zDz0>baQCFQUoY!H?ZvX7v@WXfOj*+=k1Sv_uHr(*cKsLUAAFKDQ`#02WSoF3LSF=u zCZ)v=RseqP-_T}10pMUd*(^WP@jIKjxsn2A?QqF8Il&1&8ercb)A|M|5#9!i#wUh6 zrHHUy=Dcv>0)yGL%$K4%S;W~tQE2u3BKRBt!@!qJy(2asbdlX3P8z5Q+c@rxY40?* zl&_3S9!TzFDGC)5tFZ4`8k%{o>G{WUI^Iy0FaG}#}Lhcpp*_w8+j;WfIZOP zxihQ^1divUF4%O&7`N=}S^?r5>l&cMz*`z2L{WWR$bTS`9(cT4u5cNDK*~r=uKZ3~ zmI~li^Vl8?=?GcAp-$50<*v!^vgi!fYY3P57EcDQ^3h?UK1nV9Al;rPw3Rs`uKY+| z!Quon%l4JL!jQ66v}~0S#{`6RFI(hHoKaoSYJz7kU|gG*Ks!7kBvi@%XCr1z0Wc@| z8Ud@vV^B8hRT4UIRWG$M?OjOD7i>27tv;!`Aiy5AKaC!zj9#P|11&3ENXq@9);IMh zuR2S@nGu%ut8Zl-c4yw`@r<8t{={@tW@f%{!(TM`ZcT_z99`vcRe8>&ZnFMnBk*`Y z0|G;2C$RLN1@M+v9)Ieb_P)O`Y}`M+^LJk%&BSbOoHc7@I2e3H4l zbw=rgl1I0b-e$_!QfuFv=n}vURQ~*L#QbpM+je`6qivvE-GXqOol8S?8pRLZGK&|! zrPjx(qfHL4__dUTQOD4{O~SrS?j?|q;C}#Y@cA6Y_r@eAsu}qEf%g=SF0!1Nfnt=09=*`rEXg+0McMZbI65r@3;aWLDVJ z+u7^g5fxpRy!F=3#jFige4)ns=K}?bh#8)Cxf}nH3Vr%QG_rG;Wg+maY&yre&iqck z-@4$eaC`h>*`x*#S<`LPGR@k;$7Ic9;0cAqI4V?P>Y1e{&y(wnLKzBo>qZW zbm~qza~9IBpsCaR6ee=}K!aICXul<17Y{pVI6T~frz^^KI5l^H=m)vaX#~@rWNhj$ zPRxLI`UVCv)x4&wAa=j}E#Q01w8z#TTt8K;_Y4c*jHpf7^&Vz3i8p2JQ;HL|ASw$< zO~8iaPVzTZ+No;oII}}R%kffS@(c8c7J8!=mb&;6?LTRX! zYQV8#A7BCBG=|xMn*Q?nldS4WYHE}2i2*eP^)08yqXkG%=5d#h`HT57uda5IOB&XR za3dgVYnJdPfDiZt(TH9ZhPt@K{vU=_eVz@Jz5p8%>&E_e^FF#As57fTyn5lxS+f`4 z1vw^eEkbpZ9^dM>Xj^(FW4}AYPa5aUpBl#r8lXP~OEjOK2rqjN= z$80)PzGL+wDaHa`1ka5QFRM%r-H8CUF@U}R=j-#w|A43QsA2$31d^QCfUCjEbayt@ z0=V>%TnW-HIkg1Z+7*Lf?s2i=@bMz~0K5OrBEeb#qG6iSL!65m+}=4vF{aFH9d2-_ zh6ZzDlh|?Uj>(Mcb}ymKem}a>2f&7a2he-|{Q3LvJfQH%o908RV@2;+ED1&k5&Y~(K#e}8rOG)?X`{wm7yyO(;6Z!K(cOIj20_VJe z8as%dJKATDq}VbmM=>0>Vfrj0r<7`Wm?bUE|EFu zfbjkt_{ps~~KmfWc=O0u6q_0*CjRTEM zciI);Y6%bna7${}o3|-~emBQwVc6O6=us?|#jp&BY?<6YcwJ4~Tzl~~+o)&gOCa^f zoRq4jlWnW{Jh`$fK%~a5#C%ap6Ebq^4BmA-DIxY%&#IV_&obhTO)ZJBP~OVj?to4A z(RcTxuT|jVejrF4mzW#+lx_7BDIN=nirf&e3uyyFmlhV;gOms*)+% z`HIn5=566Cm&~xYY#O}YZM-Gv8|QWe<4PL~MP1`W zK~{(K{vcyuVP5Nv%H$mKL|8Dl_uXPW4wUOPpJgq_DWFD}DAyL;zzg{D*@xaMuEe}i z51E;G7>AtCavPzG9iUjq^|dkZYMWN^&+f?lYt*Sia#Iy#GI*LE3Rd1r9!+Ttx`PPmO9#B0jpp_ev`6`zn#d&FTZ-LYWEoD zTeYX=gVgn0!nC!vSR8Nug!a&6(#SS)II0tHhlK(f$R z?r1Ekwgau-;kIC3=h>EefIu96K$<_kEKGls9a_)M7;*7pwNva+Fl2pzIhrR8}a@}1H>vu z3sHrr9!gQYbTE`yrFw|Y>qdZ@J>>H{?JyUdF<)l$4g+ygvkVFRy`O9v3T?s<_r-HG zFTCFAG+J*Q>HZ~?Uqz1Gt{3i^;bjxaJ)HKmANbk6j#WrLI3!Z6iSM(Dn^^AG9N_bI zI@59)olDabs`GXyqGtzRfB&A>iV~$6VPtMu$7rW0;#l_svEzwitAyM#d3!)eL?|%{156xs3H;q#u0;uUZ3pEW>H2CIKi&kO3aCm4Gm4KDwzF z-6nR>Kv%eEL_o`~|KhXo_p$Fk7NLkx_0?g5XX`d7MP!e>`+DTyCHav48xz%=ov-0P zb$V@oti!`C+o!FrXeRJaeG7v(nzgRX3?25MZ2F*i;(l-EM|dKub{t~mG&wU>zpLRM zbc(^Ok=}N#vGH*$uEwrAem&t0 zjOvE@%aWmqx3}W<5IB#>!YVcXz%|!EE*qQG$!fbCi);))l!MNgWSWUS3b z7+6Cr0;M}Sp;ggdc*#TMA{iti$dl;N>4w&WT4RIvq+8xT_`PXUVQDZB3m??sd6ze` zRZyvgZ$H(nrs0y=UI{LpkCP4R!M>0m7cc1gU+m|XJ#2d#PFlaelKu41Zlva}8 zy*p)4u61EmBvGzgKR0!Gxpug2YHVj5$|dXc*>Jd2W_fR8!9XDFxrR*Wj9gZ$+YtZ@ zR-N>Hm)>zZkaEsVUp2=yRcwmBvLGoaoCnwya?mRrGsezbKisPP=xt2yfBpKk5AeT_ zR@23-T%eeb{^3~vya_ZVT!~)t%CDsam1%8V*tc78%#f*?)sAZ|SnoW2{Eao({y{qw zn@;MV?>XI-|E1#l^UiCP@QymSsbSy|gsB$4b=xYlJblU|sq6W|khG4i3s-MXRu8-4 zCPQWkW^JAr;$|j$)9#>x=(xRFg?YXG?$3b(UjgKVKf=AS_r+xiv7-H=>-;Gt7=CrRto=kV&Cw~M_&4ap&LPm3P=j;d9KjV2;?j&2+(cJ>_75N|-GOt@9Ph+rn<(c37@e!S4 zPM{U#T<4*q5zZ}$BSQRM`LE!FD)NOWsFnE5r}}9&*=GCZVNQpMV$!lzQHz(Asv2Kd z7j#e%)=J@FGiG>sDw|G6Ig8%>#<3ce>5+WGe8RBuNRBYw@>lI}CwY1dVcP$_jn3)y zp;aRLG>e*v-rCSF_2Yvnq1VekT!i z(hw3THJ$PVIEN5Dd2XP7J?!?q8B4=JX$JK4KENL>=8wd2^%Kw*Js8h+X+vtDPxNsY z|1qIQx3Mk_xz{oxmx4`{rOKg^py-Vp%R_iC3|FU13Yc$wn$o=7tGD=pV|4EQ!_T+y zES4hP`F`}oE*6_Qh6MS^Fn|^}Z5IzPs3<0^wo0D>jr1w^G}Dv6`=r1dLw4)#QZGh|+KN7Fli7lO=Nh_VOQLIkpN|aR% zNR*XzTGt#{UXGL+-i*wHYfa&R+JK#K!)CfBQMt?U<5ef7m$AtVnnPNCk>B`fLn%L| z(dMHzk5&0-vlCw4P6174d_Z(@BA_2;IP!;jx)>ckAO zP~mEw*RPz9T;Gd>dA$flLR9B}?E z&%p;8ciW&U)@gnqPnCz3s6;#`c(10AgG=|$`3=>hGS5zNqf+B@hrWL6(^j094&O88 z?EdHpbl6Dk7e2nQ_C@XUSChVePoi!SOwNo*Bq|I}W#3u^9~unt_2Np7`2jHC?!DbN zAnJVgT@X{8gfM+fln#xHjfnTW=LaN*1~yFBUgvCx z-zlw~27xE1rAu6)ISY0#Yn~EDHY{D1${$?XP6+S+Q4lj+f72CVTxEG>=y&idUny+x z&+6k0V(nT$GbGCE&9TMW@$H_RL3X5Q8NZ*tKI@lJ7k;4D(C0G@ZsiP{Ou0Wo=2VAUE>-!9Ja&BTL?V%Bw7HHGE1F6$ahQtb`( z#aU(iro^iDgS7WCyoQB9(S#XeMy%$!bKDNpP6ISFf-q2rl+1|rI%8@V^oDzENUGZ#({l~|HX*0Jd*I;aTobTEi zWL4mrWN-d79j=F!9TfosKU!Qgki4EhwC=g9%PQbLx;cBS=3LI3Cux`z#J&FbbdS+~ z*(7G)Bo9xvAOvI`dvW=LT88okdQOAuMLOeBuk$75B!fYqkK;{0k6y-0K72qOouNXl zT~H3-)V_lXiyW=x6%`d%i}#90&prmX>{so`$G1dj;d(jpQ+I+yhYF-{vyclJDXPD^IbNA;Z*NOqBk@)9WY*Q4Hp(nK z+s6(f=as9nJ~XA~C@9ga)Kz_iueow52EB*TjvCQyMKd&Zt6jS&$R@rI)H8raMD5}H zbT6sc15x(xu?01W0OhdA!bI5*U9ei)0uj@Ch){;0VAZh=%c{sJXUu}#qNhuz=cjpF z;X&UhS61Wp2X`%<`cWv#z~YbFNfDJ-5)QohbQ&IanxiYCpsRn~5RRsM|EQHYcnSY6Y;XUNSbg-yv+6 ziRD)L&jhpC0jv~C4t9QJZXByDMzC5tmNuV;47DcsS0C%rbH;ldTN~?d@)groHa6Lg zAayp~BL&a+S5FbP=G*wFLYfq@cEfV@YS5VZ#yMK zk%d`&4<47?t&TlOZ#WRWi(e{`eVITRY4l2_;i)FYa#>YJw0!C#yaj8wc4UvD(F1Nb z5ybNAFY|q_)a3AiDF1vIfX#9wIOS2qo^77jQj285X9^L6FikPDQv$+ubdk!9c=kxs zANf@l{mjlWV66W!6lbuyvC@ipvYpQ3#bqe-a^LBDTLiw%+`PBF<5!004u4+FJyqF$ zMhuTULNB8NmGLON{ruj!_m#?bw~~WEJ+XN*TZz5MV;6E_#`Nv*+WWCAV#_nT>K)Y4 zUs5+kZ8-K6hTNzzkk5;;&P5&OVAj%! zwHy8~Ve8G_1;-AJKZw-w?=gf+(@ttbtyN}>5*?i;Htl$VG~ocZ+frq5+<3H&f3n_5 z9ti(>^Jeb*-7T0O6XmDw1sa=R$C$idJlMJ)?gQiD^-G)IA?LOEuiM{O-Y%=^s38Ef zb~|YJUTr+>bJQv);deoM&M8O=i@dN6<&4z5{MtQ#qvA@*S2CW~s<_+DlG|^>j#gL@ zc%N`C6B}4PdUkcZ@GG2wZ>#SVdW61bBKz`%q%-g>jy&z7uesrQ`kNMlfSXM#PzbNP z1ghcwWaSNDmyGvI5l%m`MeP||x1#$c!dGsy?a>&2QiWbPM6u*Y4G;%W`RxjK(Ft?i zNY(lSs-Ab}?+pc*ObR`=A&kz4^PrE~bPnzLoD+Yzep{0YQt9Xjm~AD1_6}H~^}9QG zg%L!MN&{3SaMvVc&1Y?Bh0w$b-6ic@pmYkdR+}bW4~PWkDFIO~f59=AQLlJ_)lFYTKNoK7UzWKsc$OgYR+!rFy-ol5qcFZ7x4S&1y1KcBLU-3T#>x~lBNqmV z6KXK4h55nJiD=Dy%6UYirzezS8EeHP55w*4A-f4!q$d5-bdkGLN0Qo#N5S^^C2(Z)kGusX+Fbt&2c+sHYHxn(&LK*UG}O zr*chr)<%C!b=vBe5Izq$pf_D*0kRh&ev9Z=SSk4MEVZ~u-lj-2%9Lz6TEDQfKZGh& zzvI0gMqu)>ipo4t+cvO>;m+{rSROQRHam>CsF*_FedR%baa;=2Vd+X0O0(wco)t45 z@7dqgj}tY^_ml3R?Xf9`Y~NOKxG7YuRJ9Z4ku$)h)x!D#u2L45ZHB829$})Ho5`!t zv&=?|J0Lrh2Jd}sGl^LXs4hIM?u6C9YQHqmg8L%zq(ra#g28$zF@Rlw3$~XuusE?3 zV-B@pq-t3QVK^qzG%+huByx(MKsfd?VC~}q%L>^uv)(H?2B9_==25^OvyZ8 zV0KSxW7p;JRbfup-jBV!5vU=~cVnn5p$bN|I80O+ac#i>MTOa~SnL}J6M-Y1O-7G| zx*I2$SaJBhEt_BSQFPNwE-}2K^@W`>u$j9V73Fg~awXm)aRJ%M**vJu-!FOJfxxvh z2DbzSFU#1Up=VWTBfjT7ugxsFncWKwIZtRrrUCTYJW?$qvlDm5pi{KwVj!^h}Z z_!h`Z@UwEBJ3jeV!Ae#qZE_&zrVwLp+k~=!wHqqXS3)jeqi%MB3+Yh7dsRsyi@Xau zZ%+Af_J-UX0-nj%T6^F>_QA-+#;)w5*jHpeuCi{`sAH%ii%;&h&W%leVjXt;K7l}?E3cU-^_BKhMF|sTf$}NetcX?q zA^uNaE5r>!OB6u%8c^0r?I?pThaYUm;)cRhmeZ+s`a=%S-sZTIQ?g|dZbONaGRqG$ zJ4mUJ{k3J1Xl7oc+0Qf;`-FNayLQ#LpVc{rD=|U(*^i6(+KoAz1ad3y z1z1+;SZQ&_Lmw0KpyQ4`r;)tt3cc}hX=1|~37AsK=<%O&3H^gy$eJbfE@7Rh+?2xm z?)ua@557l+af}{_kr$HhOgDlH3{>S&)}BjHD5fxSm@II%Z6AX~ZWTanjG zqil{{@=7{>@902twu*)tAN}BNeQBY-W(youm_T{%hM{rtZJt#sQC~ymxO6$!P(Kh> zn+Ld-S!5QJjlhAb=Cf*B$C!Gutohuj^r69uWLpiIt5O#df1IV`&NfBMTfIh`0udX}R8EoSsbKvi@`z zrAATaoj&~0&5CB;idL%`?&bH(nvLKR1I8fi9k1C?j`-6P45EJGEak6lDL0I71)7Mg zy$IoWhYi~*m(&~|aJLK<#MN$W!mv(bPrGon_+iAFRQt<0V?4MCLJOOnOL&vDgRW0x znojwMR$AZ-p6MRfO<|i;VxTu?D>}A5AnwF)u!v6FCH059gd5+>cFJ#-&&4DpG`7oF zz0BY9Wvn{N%9LE1)HSc`EP=DxJ|L|N| zY&;i`sDSVm6k7hxx?_%kf>c#Oi?Uitn*9O@O!ia5c|1a;5f_D%+xdE%WI389G~y5s zQ{ZnFVhA;+rB7A37#dQbmo5?WU1P6`mT^D{-HVjFCuO zo18IoC4w*MOaYuk9hmwhxs#h!=pI#SfJv|e&VSjcOyAOG666uJR_+`cS|uQKO5XnP zL0K50rL_|zmgZ2XUM>Y2QJ6}msE#zocQ980DUSZl$dRc%vT^y?LxxLMsJ;&;Ugm$O zk=$+#v+8I(>aWXN9>Gk=-3wBH1?3fHLy}P_qYUo^E7MP+DrQn|TG^+s-DEw;7J=I- z0L+tf&B%v-!^wK4>Vs^1pNe-zN(cTFs;_IOj*;%7Fep3H5lmAz^!=4WLMx*OUW(_ypmFzIV!{*x-Z-_AxSu#`8n z)6PLhA_H~lC9C|y7HRs%aOU z0_xTDSoiWgN5YwxZ|E(mlE{=1^nGbDQNRhq$s4$p{tN{tMcqV++GgF9NH4FAYvBpO zx`0F1x)favl-nfq(*)JW0jAt-Quh`TVI3U9*9<-#iH?v~8$6Fy z&WPfqq$(tL-~{#VejZ!OK~Ar4*yj$7tdDujxf2*w=eMfOO6NoI{7pkC7tr4CC(E#r zbH^L3D`IQ4^EVDQy)!lLz5r{m+%&RwKIr5fF; zh}V@6_GqpUfVi~g9dWnUP>GgR#={L?R&@|MUugi3lXQPVFi*1k-igt z*FcY}mN4#_>stwQKHZVA;dvR70u%WeK--s+|J0|OW2juMJgsX1L-ji!AGb>%GI}83 z$rOE7k?%wL^@M%XEShwqjz_z8Id0-F-La{bBK-EO+%0GQzKisnbcaN}_`Ukfe?4k9 z#9{?up-TB{mPp>>ytJq~LealfN(mH*c9)+Pl7;>`;t*l^TK4dE;(A~jHr0*)m=`Eq}%oe9SdC)MC~#e6pMSK|ahV6Q$I;>$1o#GV+9 zgR0Bot?6y68md8)`%8!h)_eOUO%8@@au}4lkRX#t4ok)NtZtB z)Y6jgJ$9o(=tC=eQZB~FVPG%$rpJvd62@qGzaKm|uLa9!j?*-!Sd+Lx?6CXNJ-9q8BGein8QQhU-iH||xRPI>{;tAX9N-EHPp8jQu=d>)}u7p=)I zjjKF@_us~LDX`FF4EW~N*@27QGWRI~elb3Pox@N9?dezZWwfnp(W@49_ibU3rEK7w z%)`4?+H$MfTLti#I-7`ti>B2}`M$=>OJ~Y>zYYb1d9n>|m7MT`setD7$H5$h3bUFm z3E(iIT_cH;;7dXE*EiR=_O>#!2$(d}(IeU4rWpriIp$IPzW{UjNuGu~uI;v%gjONr8&?3#Gg znG=GqKb)`V>QDJCeW61-YB%s@CU0Yh)L6`Ln2K{_u=hsu?d}jf&Kf&Hq#|;5D|Jq; z{{CRKguwPOe~>>EN83_782)ArP#IBC=MD<>sbg<>c+8v`68R%v}HZ9wtZ9iW&3 zK91lcz5c$7scJ)fJ5V=`+d+|L|AxUkdm2EdZTFi4o_Cc9_8NbBu$$dYvX9#zZJ7$g z5@HNW0~F%uJaN;;&vWF|&^ul?0ya(8M~V}qCdWj@#Pld=Snc!3eaj4=Nf#0-{8PTT zBh4(0@t%bQQRe6I)v}hP24R?G=KuqRVQ#ayKHvEWFDA7U1}nLb`{D!Odkc(1v>KDH zYEH||wyuUYzLs#(2EI`NPC7Jc0lt*X(AYN(X}6zP>@;IH1DkL71=+aF-T1cntu)}X zgaI~QAO7IS4l@SmwpqZuLg|#`LEyXG1!r~IEA8NJQJl=KDL5&{*8Y;uY$AiAZIt8f zjqw}`(;uK7@D*O*_@KvS8INqgweKGrXxOADSKC|sQ9t{ZKW@*e^a5uHhIK9&H|;bs zAdapo4AO)J5gzJXN)<7mlp_aU?uv+6H$RcwkkRau+I06ePK!tLyu=MA8Pp>z zLPIe=W=CcgQ&?1|2uTy0?gfRP(tx4@Kej4aiZP@In4Cp68@uwR+3Yy*g$H|N2a}Vg zS(0zaG4eN68aIH0%$vwg8{lN}!z`fFu&U^{mZ*rG@g1!2dG?7E6NGoHeVbdqXlL^>>=Xx~o?vFg?uLp_yu(vThq`_{*@4ICFbRcwrya0i>@ zD7RRR>up?#vFNOpZ45$HG!9cvGBPl@4Mz`O#+_ppdA~HHVG^?uON|-wH1{zG*GtPX zHe@%Ixc6UVis_f(b#|bpKeNqFcrV zO20ih$1<%f{%EQOj`kl@^LXzxrCGC3<_o{!+8C}QBop2PaNrmLcc)IWW_opi36n4J zV^4=i_$<9Ppz8k8>*(d4pK{DBRWp{X`#HQTtaI+(`Odv>zY>0GuQ%y2=K)kV^0L0nt?)=WLSpkK0WK zvnM^hpYV02JcT)G{qT7yLd)!)ZVAx&DuQctD0!p@FNp~DLIy8`R0Hle?I_2f_X2@~ zDw3#sQ~SU{l|HMVgE_(_B_%)zSjxTt(14z!Re(kjDl$KY49%9`=&uXVXK*}^USDmm zgfZ?(6LEZxAXgfTA7fWVVCNgFs{z_W@-x~46nakr_+AO6jiM}%8rW^VJFgz#Pg*An zE-0DsR1RdPOZUB7ecGWzy#_@dEC5MU7&zqOrhlRx?O;Cd`LK^1*B(SD9xbO__5cWM zF}`$Q6mUF(7gaPPs=zE)d++L5tsIMEzWV8G6&;DmQcDF5RzEKB6P8x^zAUgQ*-n}~ zz~LuB(zzm(yfJq{tZ5q>p<*^HEAylGqP$jB)IJ&kWko|r3M0~Q42Mz0v4}U!QE5Bv zA$^CG0?HeIph9##3*cAww?pxKO?g$4Z}PDd=p;?fYTv83vvpb?olhhS1wX+ zfU#*Vy+Coohxl_DrB_da&zJ|Pyeu+&G@YBgI0Z0} zqE&Mt>`gX$dBHy~2k(!Wh{oh+aiWTBuK5>bV>3*^!T{e^P*}4u4PdpJS+*HSIL~;- zr@D>~E#4J2tF4#Rh7xb=Z`B25|8q@<-`hLmzZX$A()df5B-p7%ZH ze2#yBALf~7?t86kUDtPgI#%iMy!M9tq9@@@*0%Rb^}PAc@2Qf9UrG1Q{3ML8%=jWO z6^}(1Zj=h~K#iLXg3zg3Yvn40V~1ZQi|F+a!tM zw_ij3x_W6yYpkc`$%f+<5rqN++bge6CK-&rK1%zzm0!N zVnUHdExIA}u996NVc3%}o|TF<2L8oM9K!VQHnV4$1%sGj2@8D`DJ1112B>RB6p3l> z<>s?doQnDQ^g5Ao0eR)W_Gje8aokwAJBD@qN>Q<`Z24vJlFoL=U*T6Q->w$FXne~! zuB~`pyLQ58UZm>`8F>0_1E~!u6&T<=)qQKv5h?hwVsc62k~3cd`6#Zy^D}u-j@qTZlB9EL+oUBWcelvUD$5mS{RI>vwr5Kp%Bay=s z?CE^6|ClXxKotTj^yfJq{k+Jg?RVy-tpo2V%-Ry5@cQ0Hd~u!)e?>LlxVmpEJ~Oo# zJfTvpha3G`M%thCj^HGs+U^|}WOgP4;Q{JJEIkc!bOm><^=jorzIocGo>{-(`p&2e z$Nc604K*XDeCgsw$Lx=sd&xp6hE+9ZFm~hF9aCncu(8qP}24YENWf-w_ zGJT)=KHAT{Z{T!81Ad8T%nWEh6&}`)&H1=Cj&KH2m!)^UlxRvuqyrSl9VQfugZc)k zEgGCV>7DWA>UXPp+fLxc(s(ZDfTKPRQUqX9CBIyG|NN2ho_sF;XDgz>b~?LIpTN)E zi#j=aTPu+SC^0{}Ja9|9C1-b{d?1dww#Mkq^~ZN^`;>L#72+hd+BBjkQF zl=vE5s&a9tZcacO7nBXo@8gg_1K%?T%u54AvHdkQD7urSbiE7L@w7F^bhe^?aJDkJn~}*O zK}Ha9^eG>0uqIeU&tr$KMpoH1G*>56PKJRm=xw<{aqP)HmCHx-iR7W>6?t?lXJ3gT zKE4A08S{Ucc&1(ToQ*iGdePch!J&{MIfk89@I%xMSGVW(_GY-1XaYDADncPu!1OT;T*!>qtfvQ9w6VK>)B$$alioCP6ndvxg({5*0oOP)EHwJ`T2 zpQWOFY4K>s0^3I)t1K>0q-e##)$D@7FeY2QPfc|_5fJP5L*+6)UiGoes?7PXd}3o%CF)%Kh$jw6}SHRgTBJ71z*j zd$@x+k$%wfYc7`@q?E?i?oTtZ;9uUeY&g~ssdY6R%8PE&eiMHRU4yq(sII?L+&G7%^#WoQwswy*o)L=w_YRwrCB$KhC=o>oV~1?$@oFM;qFy{TtP8wfYk2cZQ|6 zRh9!YPF>7p0s~C6wwok`A{wa{A>;Q?ru-Dt48OtjsiLU(VqkbvIc~_t&KR4y)`~8} z9JY6lW_ME#C~PWubVt9|@UwI>y;tY#g50C|S$AOkS3=q&<>yFN2fy%}Sg}VAQro+a z`-j5xx#*0?6CE0?z4=~cq)vUA2r9&PKsP&9ymjtrk4s6+2@?M_7uA2mRq!iqYUC-b zd!(@=m>{zqhu&|F?cFot4%@ecER|6`Dqk(XU2KUbbgvU)E(I0hh2R}68MshB>h(nJ z6LQg=e9_Mt0V}DjO&d_WjcN>51nn-B%FWTG&3odI7ilVCYV}YB4gKP+8?F2KkzM^f{oZ*dQA?t}BXcBIx`?>H2 zr$If-0Xe8uPXZjj2I-}}bQ|wjU#hhj)OjzGfkyJx{f$cy1zqezvlos|kFclIXz9lw zB|bOpZNxJB_wkot(G7oplovmSxZg8XX~w#frG~Z+7Cw>ae7esy#)29tpEZG$J93gg za)Og3(+Mk~U8j0FWL=2QXx5sP!QxNXt*;iLdRI7z1|mX8PJMaAi|ElvQb$9@EaA*@NuVd!?iPnHsr5!D7_+{w7(xgiF>LTH%G~ zq^$|U&o+9MaaA@$1r^E%j-p(5MZtn)3u=^$QU)>(hXGyu^@Uq>>|#q&W3-&Pigxre zHFo%=Gw`Qe;5Kd6z1sA{*6z>y7uMh~+AiB>)0GXX4P4G{M;gc7S-+56)5DA(RlCN) zH;Kqa{t1zVTdLC31DsDA5KvbnoHL?%^fafZr!&AIt(~QQ1*zpkCT%cv)fs^c_i4c|uLwOE7Mb-0{ZIh$XJmX$ozfDFdvF8TcVJt_o}+^nvuDe zg3+VvC!-PC*VO%RHYbWvr|M19#DUhHdO%Vop%&c=qtJ?(*5|j5qQLj_-7n6pZF;)o z@fuh1;XG*hUaH1Gls4W4|65i?B8qirD3^ccY6mv=+gZB=zFb)}3%tY?eIK_`$)&qd z2epw)^fNb%wy%cUd7o9?JY|ug^s=POU`I$4hm9eh7k~GknD7%KfEzsrt1FD7WFGT8 zOccpuV@X91Nt`CZ{0m6^@ZoU=!WJ5lP7+4~!c(|~t(PU%TjwN@DEXJn8QZj4^Kv@g zZ*wE~PL~qz#oHWxq!Gk?SE7a@#O3W3rkOlOc4r*n-0DbS`r!Ygo#OQ^owq%hJ*a*D2Eq%m0O`;q zL2Y1T!Z|4YZJC_>A9T0`6Wcwb2W`lrBZxmlbDGI#@pA>GW38*M4{pmL)Augl&m;wR z4&<>mLtAqpmt4u@6u$S%U@O8lemj~v_{ZY!lxUmVXS0%uU}oX` zVB&%lzhOZH^agQn%P)^8PZNzOOiv~?*{#nFbxYoETgsn(-5`WK_q|nB^$06#{d!4rJ(d~#EUDY5FEjCJ}P+BD3RpdtszuWQ>MU6yJw*u27@6--> zR{I&OsnHsxS7RVPC~m3vbbRB({Ti=u>T7p288B9Dflc}Ae1liX6QntZdiwQP3$Ho( zk3VlxSSdqo&X+iStKR;UP+7-IQ|Q$be9qRgU-m*_D!#UCyUc-?-+-VLyu5!lnEQso zEBSx@x0=&iFV~hA+$$pSul-8@{S2IBei0tOw~2`kETY9*g*qc54y|y6nDntM4tNFy z&<$%|vpxrhc_zURQfTd+j1}UWwvo`V=~wKpT8A7Xir3>m;796{VBR~e(|m{CO78o= zYZzFnKxk}*1FkQMG;>B$jc_&UHZ24!&!5+HnZ17mE9hy1S=a$#uVa6AeU7j#LqVD- zY#q6Eja%g2*j$0A{Ie0lI;R1_^OA(8V{)^_vPTq@2C0uU*rr?YZ6o*w+SoM{bYF_FmtjcKtA@(B$5$DvSgaS2+c=jUQOj8kMA8y zqAzz9Gu9pM|3`RqZ&v7t<-0kGC7Qa%HX_vFyL_19*7c0E0wx?%qEuN2nr~NkN2Uec9O59{SoYW)`@iRKgl}@H za~DyL%p|8}D8m^x#Kq@#Qq0UpIEGY;U+by%@A)}){nYyLQQ3XA3469P;ykCYveI93 zIX_!3rH4j_U6tYH(JP1sqOZ7RxAk~cu`BQ(gG+*%6uNqy#WCd@YD4umpH?!aY>}C? zO9UplT77jLk>0y5;qoXIlGnn}<^*N?R$D)EvWIkR^@-rXx*1#T53K40If>~Xn6MnD zQns`DcjIIbNRMc@#P)Vpo1KO;%g#S2fg~3ntg69Qm`#TMu2SEIM+m&R)Ibm$?|mR6tN< z$$VN_33t(4$y#Ye$?6cw0D2Z-jdKwF?bW5@)L_bsAD+-1&l4x-%TFvU9iGUl1)1!2zPm%#(7;&_GD`aJfm}T@oP(?} zZs$N`z#)Fu2ocs;3Ib6hjjsb;G#Ly9v~1lDxBgI>1)|Ic8ZN^ zM5AX>dJ_(MH-3U&%-X+a6nF$MdurLpP*|+u@B4`T<rzb5ZZ`;m;%=P$F)UtLk!-J@}YPM24b9EzVNe!oF(uwZVVKMDtVk|6rq#ZMKQ zeap0B?(j}cwfa|g7T1!CK;om!RuInP4MJIVXAS>y60OLy#d`$S<$Ti+P#suKEt{E* zA~VNjTy=hyK3__+ucom_UwnW@muHl78&0WO_qb>mtW*;dod>7DVJIk${Ltn*Him|Xh}#xtqy))dfrhW*x`(00u}X>k`Qk6&DgBivy7q)LD! zWPABd-Yz?&@ZOq|9oX8v+xTHFa|M@bINefifw>1)$O9D>P3Nx9i3jyoZCC#D7w0ay zY2EHLGS!rNUDP1A+_1p0r-xdp{(GG@RhrX=!#(ci$$q$DW}XDEN~nBL8w91)Isf+2 zQPy)>H7u~IN?hXE@3a_-waVl2dbIGEes(5yOgF<1cO-o-%$4nHiA6_-O4Q_c?(`Og z-@gcRQR@kpmee;5?Ov(DpO_>Rkj?h@k7m+|vilLD1Ad^k=KrAK*P4#?gi-{8-&F(C zAh4<7+`nc%i?QLORDQqWL_~62hH|X{M2&x;1D%6~x0|!hil5hH7-fP`N}TC*k!^he z)mXfay+r6gW`!gd{4l@4zF!^`=>`Q?d7hf&<>`fkF%5xe01{-G@ZcxS|&>!0sm zGd%*Ks`{`&=)UcJ;BptC^4@<+-wUQtpAfB`rXm}0vHGf40!i@9dMD2(NxHRvuH^JF zdla;v&X}o1m1HRN^)g)4gGn7sP!b{T4?wb`N=T?>yFF}m0KpL44tce<&F%dUMyAyc zfxg_p&`U&L3D*Jtat1~TuBy!z5qL*&ARAu0Z^w*vY4|GH->vP_gKC;2RA zhp(u z+w-d&tgPadaF+;LeUR5XWmU~T;cD^Ri?BIlx9YW8zioR6xZNx{EF@lSV*+J^zQq~d zO0P^5wM&o*!(e>R5FCC#I?N}%3C07Yy2y0o>b8+Bdh#KUenN?=lCKD;Y1fT5Kf3Kb zmUi3oINWHkO(A?_m>0tz6x%y9sz|tenO@32;2p5vPlxD`>5YH7{pXS5&wdrR*kWrv z91{6(8f2VqS>=6#Tmfl;Ss03U0u_t?T+V|(N5b0J3l-je8af-}KRx5uz60kK%9fTU^YX`%<j*l!YbqGssW z9ht(R@(Rhduo-VuOiXHdTs``rV;a#szN9U=RrAF6ms)DkO%4gl;XP!0@vif#gF80U z`E5irc{D@`t^ExYE3q*;Q~?(aK2|lk<9qP*RiHLElA_BP!L0DOW?EkFYINR;3b)PS zJIEW)h4eWfR;P;Z-tE+iimJwOS{Xhw-qHX_xuu!&;r>x;f9{lF7;*B{ufaz{2EB%q zx3(oGB^@W_6A6s3gYwAF?&-r8J)pL*dRDKk#+Vb3u9$PqdNyBgPH7%ibFojmq z<Fse|eg!K!Xlf?1DJ;!vCca!6B zBbKRdD=z_z=J64nFt0Wel1BIS6Pav;W*r?NECibf%6(_Ph1#w5%{D@`8|Pp|ZI1WI zKlwtQ{j4$kvQu&8*GdlvOR52|en7Oo`%C6Rw@0_k_OK1T(33ZCDazqcA@|3Gxz1Cn z-mlk0inux2tqO52r`*n@31ntX3Ig}A_o_~W8q zrb~-t8NSZ68}B&TK22D`mu0OPM*O}7A(6gMW2ZEhZ2h!3A|xb)ccz!|`tiii^2zB} zR|a>R+Xy@s1H*4iEO+I2`Sr_^e$>ujwQ;1`b@G(`G{mZj40|)8e{?Bmg^TJ12xEgJ z@lyVWi`l88vUfH_KwD~6^`7ur&R>IJ+L-Dw6YI3jx8=OUncow@^?0VHPuYR7fX5ec zUcks*t<&gWDe3%3!*2_N!@2rM7$mrm5>09$(|8yk{Mz~Pp2W!0(RQ9W#HIG%v7Y(i zk`v6zUCXVad~uup&M;;PIcxWhAN|&z?;i@}q*-XXx=Z8@7i_tB`yyzZhrN!-BJv zkn0WmJviT4{G~_W_`~tX0r8HpiF`gX?6~zmSE{FiS*Xq%^hhKgE}(f%57|W_j^tu% z)TI;$UHPBTEOw_|l8s5#wTp$0M_V{ZHnlb3e;AK3Lc28NL76O%*d!MJR=m}6yHsKR z)8_2$X?aVRW&b=%{UC0qw7~4S_L$OG-Im!2d)t-6iR>ib!WdIijC&eA_*gbz9GR;3 zR!#5vzXes``c-AUF;1MsWQPX5mE1XBUPA4F3$V){eKV19oNYbtUGHUjXw*kTeknco z^Z|Yd-CpICB6!v-)wJGgWM{Tq$;9}j9ec7rXwN#V09&EkWP>}SSDen|F@hWd&nkK_}V*@y1lakMly%RA4{ zk3G` zzkBwU-LNgaV|!|}oW7>@VSD0Dr_?PNf~1j0-B~{ zwnZ?Ql_OGwKRV-PSSg77N!wtY*mR?hek87|XE6S76@A#?!oE{B9)e7$ap%R24!83V zHAy=%inqY0^DqhzZqN5r1AO1+`eROfa+*0!C%^QR#N(wRg6&Dwqsi}4q}@z>tU{7m zUORNSZEBNphUj;ptFa}tP?1M+P{j#Ugx$JX(Trm`YCzxSMUwO2di;l|IgOccst%SM8!*xp7bPQi;)E)uKk!Zqm>W720;Rm zv$QkOrPk068$OD|#sVQP#Dkxf--dlNGNUQ~B3a+IP33Tk;4LEOQlumT$%?hcoFc>n ziDh(qeg{Xy){|lJ_3`;KNd`>RYds1_W};RsGqVg2Ow|6toUw57P?pL1gwm!6e0*Qz zGOw9?I<+?|Ft?`t;rDmfADTq6iH)GW>hkv0)u;&%oYX@T^OMx$YdrMdeC|Q(;pEaR z>dUeNVu|`SIw-BpUV`7kVC2I-QnX~;1+yj$;D8SNJqoEA0I6U|&l#f@S45ayMU~4C z&FVIDix$U_-RkhxEd)A;8NBkxq$n?qU22HL^hlJ*m;I=9DFb;`=swZydB8bq`~#6L zIsvts+o+qn>qiho#wM4VMNQ_;wGTzd*%5w9z?GZ^!f08Q^ZKhy@Jk-yib-P8SI>Cm z&BJhecAOj4+gOOqGn=zg0t#pEy<&w!?YQo97Rc`G+HXFQD$wce|4s`}b>W@imZ`~y z1WUFtki*PzvzSQdpD&svtbuc80dT`#RS$|!ZAq#jOgN&?EPVz}iK=1Hd!J*L=$m2c zDVvR;EHJgbxs@y#&1CZpd#yI^ZCRDPs|w=CLKMi5fIGP(c$%F4Dc@kub9TkCllnsM zjYhFcb7Bf|UVB&n0k1N#|hc(rw*)?m$iETb|HlepF;#98rY z;^O=Z3bW0)`VP5@8Kl2O>U@}_L!I`_=|AJkzh{F%Szi4-s#5aE)ktN$p=TQ29Mzcy zmke8i{Y7GlOyjSZzAEhaMnD#b))sS?cC%gc*yxl(pM*u+CT^wQ>Tx)6nu8`N96e@dO$gNR(L z#xVEajKlJgbYeU7C?pWK(aTUFsjer@$)|P!>k@f^TelbdDld=n6?ZydLGalaIDv|DZO=3x=%&rmt1|YZ;ugOYC)Ln=bm1JD>6O}Hq*4hWYO-Wd>XG= zgYlEDBrZg+1WRu#C^;72-dypk1a(hx`-UzJKLZDamv8*mEmT^wWfYagS8&Z&>ANt}OC7Nl~+OfhOUDy18xQ;5=jI=+7iNbAOiFG{D6)*Bp2Wv1RZ z5gxi(4YF-Fw$G56MYf#v6+dqAXFGco(9TZrQeFB{y?^Ycxn^jhS)?R`va0$0^GByG z+*#LDlq>YlkR-;|=!;aOBNL+LyD!z$j!t>qZlffV1Zk@)tBX^`p4|##&_e4r{E^vO z{b&R3Zi}I5k0eg-t^A!ZR`q%kVV)P+k-PK<^Hq>N4JK#G3?L-C039|dY zZ_Y0y0r5{8gh*C+S8qH6*A8YjeP{He|S_}D1;HJas>?H zl`3QY@zeIgNTG{zmiwJ!TAL(pcPg=|Uq{Z%bQ`nbktQRL=&D0*h1&xyCpjdE%GXNW zonc4;mU&ygP<&^EpxbJZ_#OAFs$~QvAWg2FBzTl5z(Gr6(l>2)+B6!6wQ$h+T)?*4 zmSq4_gNWfVC6yy74RXK#&;a>3gNgYr{m3&A;*iu+y-iIDVsDYg9)%AG8eM!P*|sAk zYtT8gwnnhn{ic3@H^bJ~df5BZ{hCi`cta@FzWl%<+;oGasBwk$H=?VJ8_3R~8QY0@ zwiVT+udmLIVcbBTUEfkgnc<~+4ugO?h(l{-`rb?swWAe1G+8{O&)|>TCsiPFW+-g` zp)x56Y7TJqB_wp6Cz@qsvl-{ztksGJDb%2Dy`{4M09Ri(a4f-fSoE;logTb%KbA#x zp)3Y=DN_i9nJr~f1EJr0&c_Pb`S?!4o;T^c7*Vc4lACE~t_U`%UYl@gVHmurKqg7B zn-cYw6!_@W@z>G0|K@eYGw{;4fv0{JL7BQdm$EAG6{t&mT$||eNR6z$etS3OV7nBa z$;Q=d%R_~g=BYK{lebO1r}@i-A3UQPh1DiSR-QTDd)Z*avP3NEn#HPmDsTY+H9ZKi z;-?}$>C`E~$MCxGE~b4@yB~vq8pkVtJ1X=t)zmu6hHg>Q%Zwlt&29S4p zj@^cwS7*3ek*VeN*9hfd{t=*74{g7l2?e5d`udYhe~d2-D(2$(HK|h>`40r z-X1~ymTj*T^nKhGNc_ft7j1h)BtJ>RucM6Icx<0c9sU3m-eMwJHZszueL4g(m;q&| z+Cz($TOA^ic}!1`&onpe$->rZjXO2k3CuC1?it57 zJ|_Ee(_`X6cSP@UHzi@jc0p)l^f|!ULRIv{D!l*Ov#Qrlt$7om zKsLpNr7Fti8l#)U%USxyCHPS5?Nr{EYV)f!zC`EFY34Ai0A+P@8Yqc6qZIho3a&#V zHV2ADW&uj8RpZTffEdhp`tsez*kT26Mnvxvo+L+YT&Eo@V8W4k+aDh6tj-mCOF#Cj z)&QhmiN*G=Me;FYPR`&!u(7nkuEM^KFAGjE&rHs}DtEAxo_~X!B>5zcox7~A9pn}} zrD}9%RVpUf~AJeDXS76>e0-$c9xS9IyONMKcK|D5D-Qze#wjT|#4Nz;PR0@79-P|m*^)9}mMs+@qiLG~zA{`w!ih6+e zsD;wIwt#pO&}JF}&6zxgWgPwhQ?cXp*&IlrqQHw|Hbn8#s!`S$04)uE6jXs~*k;l+>+7r#dqTJ{^r z(EOLhJ*ZCsC_}=5Erhbd2DI7FtgNg_9-5FRjq~sDwa+|xeARrkv|E-(0KLBkWImqL zPX|7^VV3WE`HojP%})#x7I(_Kza%mS^8@z;VPxrvEhPl;`NYK%*%lQmT952Zp2was^p5n3|pmX-x zbmY1qr}%*`h396__|1;9OR6_$42s^}*Vq&Dnh!%om1a}pj1gx*XrgJ+V>mMN_V+0h z-wZ4i2*8Q5KW5v|o%q;ds>aUQw|+@*t5|k1FjD@>|E0jNS5cd|O?o>PF6ZBmSmpKQ z(d#8}%pr zzGm{vqac^uc*Vw37AIR1u0Zy4%$S--Cg{MZ2IG8S)0+{%&cBhseq(%1%?pdll8K|7 zs^VeVFq|1yy_EOKaaXo*&&6h!%|zw>#%3I^sW{>K#(e*L>w*XM8IHH~;iYXVeK4@U zf~*uVVEPS9&0uvJ3l$9mODCzFV;8AYvjQiG7z`u>3ghzmkK`wR*sdo)?Aaa98xLOa zaJPFav0%Y8pjVe%$VXjj7^|=wOENMZg|)Mu3VrfqLz_;*=O>ee?|2z8}JOFOxh#zd#t>}Jhnd144iqZq?TR9HG ztRSp_P2-?=yRy@$n^C0_2vI{wE&P#)6>dGbCwB1tTWmfB`3a2$U5Cx1RW!yGe9yRK ztnYx|B2t*hp9!%AxE?SX-H>=Qo6lgH92%D;(R_Ks@$!$&a z0vTuS*I#?$UQ3T>_lCuz!%PK~?n~-+$vQZPL|NY&7l9X%v3yp;P;3!E`M`=BRGY+})bLV>6gnT+hzFPe`ujp{S!fReLhXpj6r+1MiU= zOah{IqHOHmc24lg`Ycqx+tRaGYOnqmFZ@2crfMaIlC@8LO(9iC_^U@T37skz4*L|i za^+T;InL&lAMu`Hnnrc6w7hv&#e5VU@bWaxgU20xStv1i&Z7-J_S>-xVG}O-IGb|c zo7|N$WTWFpZJB{8z-$Q=Q07uEnU44XJcp%{!8@*Ps1@d zNH59DhLqeTy$DlWLD5VI8{c?Skl41H)yZqvdG`)Viy#NVW{ukmGsL?(ca-Qbs6$^H z=G?Yp4D@b^tjhq+(@R$llU+@)k7I#O3F9bKYHjB|n+H(}_0*h?z!*qiJJ&_uJ)U?^ z+zPx(IFS*UmNa^-^E+kC`IQ+*7(KUI`jJzC2GdD@p>^ukY&M1LLau3?MSTzHhIYkAfw$ucPf8F;@WtZ$C1G zto&oy?muZ{7&J)W&&IBgYgfMiP>(alwET8hPYH~CHXThpM+qBC;}1`xMj~aI3T4Pt zFNA6e2+cZslS{9Ci|dMCw>BeM4f+hB4&r4=@j{hgs^$+Cj)ip6mrCX71Z}FB?MCxj zuJpbL+LCj;WW3y+Rewe|gJ2xo5;@ywe`%}oJFl-P-^(K>XG zCGm+7{mLiZ{HJ?)gCBl4-?CR>)&MkQBf&v&?<8z1w)9#+Ni|r!-nf}z)NuPSHn3b! zo^ecU@%(KV=JFsu^LwvkN*SQbx(0106dZv@R40Kf(VEZ9oGuOf3EN#((1(8Wtx?kQ z&uUkKJ?1*OurJ(>H`bbmu~WFRH#o4En_Ri`L4OL$-z*j4>!7jL@sg6oX{ZS1lE(uPTS7stUZyP$3~yZ_GXYYF>}t zcCq=uQo7+OQvHD@~ydfWLtP*L%-YNzUggmxf<-^hN$6+?u?*Cd+WRF zkNfCEZQ3l8g|jw>eSIqBQq>$*{j`2)q?&o-=ENY29C6Vtx5LQHhsVV1poxln*?q;M z;HPx*?yAuz<;pitzT2c8UmdgdxqfgJE7g|P-H(~Cq1^H|>-gvzZZzGRxaWf@Jgh`* z30n?!Zf`!BoA0%;?`zB~-X?5T*A*_?)agGWZVh>^ds#wAsMzhN+g}TbhDvm9dtcN? zUs3WIWoXctNL_4ThKxXAlEisghtCJO?kF|DtBGPAL) zYb(pWA6{A-BujNPRnEU+pWaA1@JOEv-KZ`*{|sV)eDUWvS8T>=+;VZSowGyQK%yp} z9+Fedx7r8eg6gx8KovypVdd?4VdbvUx)#o-KR!;;doFxNYwGu_#9^?z@FW*SP}B`a z2!FnS+$hnB)pvLkZS=fOj&^f{QH@1L%++Oyi3AawpGli_q#E2+xzn39u~~zr-YXfE z`x$moHM%L50J2FT`BH=mBAg;2sxpRO+d`s>l2CC>SJU9Kefq3?kK)V3V?$!)Zz}e8 zzQxj6-D?i=K=FZM?nMTB5>~iO$~@mT8^pxm_pe`1`6;=A$y7NuA^0Jea%1(`a;-I^ZvZN_`4-GsC(M$E?QL5F}qp2ETb z< z8?@#r+N^l??7)N-bz2Wncd&-w@JQpeC%-UMXogp}URAGN{b@o=I+gh>^U0Akiru*y z0(~j6=q)x`F2yDz$v|?UfborBzhmtY-eAJJ|ExkBo+*Q|N(sC-!Nl7)ll#l3wER|v$ELNKTiHK9PzA~Si{7ZuE-12wlXY+WOylOtuN&-7!pD0lSBTOZB+U4!ARtH2&(qX?L-ARMeB%g_}i@MWM~E@m)o= zP?1YcqH^rMS9WCFQOGu^W<&s}LY7G|7uh4pZwY9S$Tve{sK{$xXi$THXUam5pG9eB^bf(N#J+vP`R6cyh}((a z0#+{5U1Nee@`c4KBVQQVtlI;q>US$%k4s6U5w4g3I=HL%<@j2~l^E_m(-Q}glm_n$ zH5S{+afR72tj;d0tq?)buD@}`bE7MfwZPfaNX8MbUZTGH@Fm5L*;DU%^g7$3YstFR z6&Gr9xs?%~wvoM5*kGgHLq*o!>A%d2(zvi-8rOQl%Mt6#GEwJQii;3ikazhCX-VUo zS|-Z*5omX9ff3jPd6A_KB8dG|q*8w3m4?7p60sRy6vhO?)rG&`zvN2k1?g5dOFQ?9|+Vu zw8F$I$??i7mkiRvAu3Vuqi(Jca;qQ`N4~J$R$I&Y+I3~N>?WObXI{Bt1UC$KgqNh0 zp_ViPp$1+fVjjvhKEBSRh!`F{N#(}OxsT;&47fk@@*?~G#Ese4cD{AVUAx|F(d2)1 zZE7-Q&3M%viQNcPPx$uhI7>>*(2)Iy;=^|OqAN@YR;bIG8Uu*Qc!^CQ24zH>?HxzC zvb4~p-NwW~DTav+6BJTu<8If0W{Z$=-SL=5^!O=v3^4DSeOWn0`hg z=#E{reip`T^RHVG*%ed%YNe*Jdis6wwwtdlQ{ic7cWQCVL=B=h2F1kfUjKqpY$0)S zwk;}IXk;i|`D||Gyy)e=`Hjj6Xs5em!s%`)-8wQdg&K8<3}GrJPpG`x@|H-9UPw|X zT6`Tw1CbN4+(Ew!HSO|r*N}UOoHv1GUJiAzo@$3|l&IcYsqM~9Nz=J#50+Uvk6u4w z8SgDPRU5#9)cwuDmHFeIal*TW;bI^sof?1fvM>1kZrgqgon51Xc)?$n1${o1(QQQ7 z>9n^D%Rlq`%M;VSkvcYkVLYrip_AJi+Bm^1IgAFm#Cp}O){M%1OoU*flYfo{N0wTP z8Zx3a)V^WeC;xccBX7u|s^sU1wi8T+C*dhz6%oqgHOmaWLenkM%jEbhC{=yG8l(N{ zWzeFJKwp2%IO~UOeEWwIv}EApIALxek(JD9pWbq-$S$!km=bJHkr1sq$+{!K+;Vd zw=Gqi_{(sbi-P9v=TiLFS|<_sy#7qE#QM%B&h6mf;Np79HOrVS>UZFA*7&~BfYx>F zd3{RKsn2XAO*>OnLOE`0Iz+&54KUcr;fuOYd$g5S)&cL{6G@&>)bkAL707m1s}k)t zpDmR8W$k5LR^-Ai9V2k>yM$y*?f171!S7+FknAzxUH;tYR4d zVZiBj(rTeC6ECyX<(l2Z@>L`4)`<;?dbP8=>2e|L8d*N2?Gh|~;uVp$Bfi7I{24>4((iE+3B40-N_PW(1ZAV=6RWE?)iu)5o1QVYFa4S@~kdC-L=v0InHs2Ff*fbbc)r7InEf18Q<-H(pu|!2Q?*N)Tg$Q zLFj&$Lf_N4RvF|P0mF$HKNGTcUz?rEYW6|ZU02jJwk!TL#fn?K^iuTtESwHUvb3<*l(w$p}$fxxbS(vtVP2r1h#s!!artBHc`lO=e^Z~(^vORZ=<$aX7~N4P?NP)U z_6yx|!#3rCd+SfX+@hvfmG)a4ppZAc6y4MaMo7E4*MP?7>z3WK#jE-cnR<6Vk}153 z_>C;%L|3a3Ur}`meDwLA`L#-G>T9zaU{GZOu2pQwX04IW(w*md2m9_vFqzhbD6+vU z!a+^O;Q@4!{Kd(#(hhC_b0G4cRC9Q1oB8_P@zawxFr5+gQ6x0&7fJ&h#d6XTMe%Nn zll29E{cb1-MV0bA91B=KDDN8}-Ly$rKKY(_|JB`I%`cMC zMxhZ~Rj91SX`L5*LZiy+(R&5lskP_bpH4HOku%Zemvz0=Ciq&j#S{ifrD$!m72>)U zBP-=W4J#K}Mi$gHlWS#kH&VA)1AeY|3|BSjHm#n^OW{1gs<8#9TYyOapMv-}lhGM@H5!X2-m?+P zN#554askbWtX4(bE_JBQXK=oo;N`^yD~^ITKOd;bB$_+@mwSIv@~HD7zYg#aAkLZh zim8dI20!ZcOFYNJ$CbfD=|gvgEJ60w*x_f5<0O#>J_$tc{@T-<|1L4QKdgIKoaGQx z>88e0ZhbW|<#Lbtje*zK7kQY=T%$bJ&EeKkt1W0Fg~Qo!THbo~n8rD)Yyy(cHl-sT z$e|uScH8%=9X=|aPfqlATcPTG2d>b)F7Sre8vKgIjI6J}x;W#*v6UZ=%$`y#QVhuc zyAR?FJbNZfMJ1&XSvIzjEuwG($-fFL-jqp4IE*l6YP`V0bt)pb)vz)~FHzgD^CU*( z;g%oewg|~{QHQ|;5_{&)i3PSjHlwVDsd}hOc%j4Tab4;w36~ucIhL3A4`7u-T`BX8 zRWvv5z@G6W!DNvDQ43xve)RYyV%lZ|2HVbLc3da4gPL zQdRW3*L`lWWdXO*vszL!CV#OUF0B95H-II|N2{rP^R#3Me3Q;||EH5SE6+vruou>j zEfkzQ!l0Woyxean*#h zJn^24fLQkSlXPPC(O~0A9y;d1ggX2+;YDvlVz5sQq|WNZR9~n#f5^t_4Cz6D$h@02C(~ z<%=!31K7|snBon-n|TpM`_ZzT{O9DG%L>o9ASQ-bSfX>54NiHieST^nQ*h7AI%WT7 z6QnGiU5!TeIyf#~;x#l~!W`tlnptGR3$!gV2ne@!y54H^K-;Pa+?_R9X)&|D28mpl zYzI?wjLJp_Zq}4cLTIL922<~yEp~G-=zD^CkIp%~S2()bZ7+9X=YO&F)nQRZ-Pc17 zii82kkfJD(N;iXoGy;M&sC0MdfEXYkEz+HWbeBp?BSVAK&_g%OcLv}0_r>%5!9PAT z*SY7OyU*Thuf3KGa7Uot$_A?G!_hpw@%7KaM9AFSkwKqjB2WcX0MZp%&a`6i%R9aK z7u%`XUdLgK8}P-kH8OU~kh)Gj9q=-Lc|_MPhFKw27T``c&C@g4p;36ip2eW#9Mmz! z>!T$rJ)bM??1I6aLg&av`UXO*0&E^yBg_m4su;H}yE=LwKBq)!=!D63->~pt(){mO zqsn&IKPchvy?;dfU)cO$2M(qo%I2TGC)H+ZnOT~?UswJfA>Ie7{2bQ3Q5g>T@H2RN^MjzL9o>VaJALsL~&Eb7o_y zItIuRwOlEU5SN!1U5|BYm(4<)3ZfUlEaE>Q)g+!ba*?%e-mI$9-B^tkuoZYNhh|hj zrrC@PARsREaQJS1Bi(srklS&gPx&I%B{X zb_8u51#9a;{N~}@Ef&Linz}@?Puz7!D=iyIA0kG zSO^xzEGi}O#H!R} z8M|Bn2i!5YOM5j-j|V%l!t;4$8=Lx`A`N0d2bqaU)Nty>i+@5z)*hT-q7;ZYzt_P{ zdo^(NQVms`Z|S8_iCs{u5c8!zk89I^C185El?6J(ey_$#O_XoZjzhG)V4q-oT|!QcU}zRt*?poFv~L!|GY*Yq zA0+&#^Fx+yqCp+2pnIwrRw+1qqw05ABQX@|^V$KN*MO>Ip$0sALBu4w=T|`LT`~>` zY`-3ANMWb@$XV~m(VAlrSjv~GJy!N_q%RdmZ0r1ju1j`bq<8sv%QGdJ+!=g5TcylI}b9 z4nJH*uwMbOg8jybBFOFkC{O|^x7{}!Y~{dc4W;<%*RNk7>K2i`PE0qLE_H4yayIMF4ir=;KoB=I$fz{P?t%DCnN{_n>@$qTIa_HU%CutS_55QvmW<1#X z5)MJAH!M0~8}1LuH&*gWP$<<))%BfO;Se52VTXdkq+tah>0#?2WgH#Dod4&51p69O ziLI^2T@AWn1A<1;9tCKT;zA&IZbbi*EH-GcK4@z4#e=PR(DfrH2ttbBSRq~JoBoL^ z+0#iQ&43u5z%C9dCGCA}5uxv<0j-Vy)!zn;&N3|;hBa0^o421PjsDw?#(_^e+fUsZ z2N*D_1rAS+5**TaF}<6XMH=VEWU?9_!1F=00g#>>lhuV24Tx#rQ}i#b1>@L((s z4$FH8hT2ZBSsB1hX#3u5Y9dGN5= z4eCcvu7bQ%*i5v1rWt!A%|NmOKO3ss?brWuIjOt#fzx8UDCJql>b6_Q-=1CLo?o_D zO>|fBbTEsuvek&iuPN^W5#W+f<+;GSBe5DkoIs+e zW-i%7ttc(0Mc~KJGYuMG!C^I#S+s%N7)8l3UOP2YdCACIjlTO(Co7HJukOW3HZSOb zp3ow^MHfk{*Dlmw;#6U?tvq|AR3AZM~ZjiBPS4M37T|QI=gU^_)bq<^Vw9)l|%1ufFbM+Y^U6b;BUINHD8`)MZNWepVm9?GoTeE=TM}l z1MDxp<%Dqkb4Dypg0raZS_+j|h2At#v^p_UUzO>G)g*XL)eT3qeNAN1M%5A*trU73 zir0D!p`1^zR3oPx#cRXY7UkI242t!YkJA(yT(kNX4TgH+nvg4XwLcCYdutLe3!zhb zd=w84V0C+qCw0R!d53&6rHTlHzc|Lo)=0vl!ICPu1`!#Nh>kW;e)zEUGT($i#^#Fz zW##_&2$cPD|D81xa!YKTMnFtCT8TZm*vXT-MlhI-DQKelpZ(@-o;n3|w^}AL>x1NV zmFxFl6l~0@IH4Cx=>b-X=_Toeq2_O{Jcdc8KW?j)y3suPIQ-v& zL=QJ=Q?t|F_2290Q%rrm*Gzq$KPKL5S_suXxE6e96TZCn%jIsSWRlKKaX6LE&v{+U zcCFq{|8C{7;pD;Kd*V#rjjz)gw$3K4SRv!q1M3>J&1)a|xFfSOOnfOX zG<7iczaJCtyM(XVhG$e+X)`9(1=)+mR(M6NYwy>D@+C;tv^pJDdwR{{*2u5;lvtmi zQPk%I>)A_I%}Srn8Pqk(_$d3>y4Cdt5;XRPGANb=oj1e% zr#B69Y)@*SO<{1k3K|`i_M~Dx`1~oVsH9I`;zdJ`Nl3Y%i*w7`aOkJ&Qc;8WB#CWF z?_{g~p3LC-%{uQFCKykoqin80a&H?39Qs6DW)e?++z`Z~>%UVZ35jyK9s=izKBF5BVygShM|71}q*B}00-tky z?T1(DXCZ4GV9YNAsReLS05^dwJQTF$N1s%cYIQM z_gS2pi<32zz2$+CwPq6>d^?JstNqPy35o7MPqx-3O;bz~{)2l3rU&sah4p6yX3m_v z@K~wR?8uO4(z1oQKFj0pQD^xW`()6`ZmmT3>wWsYuvq2ZG@nTIoDum&_(XEIp#R zW4{a=Wd#^vv^~6AhjR~=`kO6=|H?!PpHXZxpYRlqoS`YlPWETO17~4K>B9_(aTV_^ z@&JT^m5CjJ*Dz>EwfkqIYR2F*0eSsOx}S%|tR&t|tT50HVA(DBee4o3J;lnCq`jvv zEtLZn$hB*nA`Fl&OZ#GFZp;3UI}?8c6();rPs$w739nC;J)(N#&bo0!q)92M6q(;M zUehbTdrPJa5)hO9OVxqY*3ja#SrJl2q3Osn*mX)DScVr+#%0O3ZAPQ+`ba7edO~eE z6Fgh`9G)4IC90|ltB@EXraubIwKALG)NS$|Z-e+dZh3+x2@wP$C9j1Gt^F)v-0}H_ zfLL+;rF=UWa_ZtH3LW4HzfpO{?#k~S-kTLC+ALdzb<HJ`V*>-UQ@i`*m4!V9fY@hcwkbQ6~H;2K$0Ij&t9Hj(PF9=Z_0h@s5-KMT< zxA6xHhFv1YVyYcXZ1tx6kdH>EmSE?xiUP$TLCA^`d4R+G3)-jLI$M+2S+r3utb< zZju$A*FpmZ$$#^*{H50wAW_FZbc8T5J7>2L*}W7enIMfG{<{*XHN@~p_q0X7^jHDo z#tnf}e|CWUs;t-R?CgE>-&N(ko>kk;aS~Y#BsXKvp*We7UnM6sc6{0>{ij3 zwC5LRy7ov}#OU>j1ltb-QSC0O6bDMo)4 zvyIgev)c}1f~i0ANS|AuI;vq$@TgfZK0f_WPUoCLi##L*@j)IH^?uLmO>&}do#}&j zi?HTgfz{_LJ1eF8jyjgQa+nR4ZI5=uU~X`egvFs4+T{~2tLe^BLH%`=V@kzU_A%}F zNcDnJO9m3UX88$LHzN+X`qiYevKpv}Xdy&7e7bI31WlN_ zv$@0z$BmjC*`Ku)4Z6Y4W>YQ61wV-5LI)mBO5&N#EY*}c*AkMQiOG(W!noS^8wSA3 z5((tho_2Qk#Nt$$26Lsob1V0}WA7h4izb7-eW^a1I>`B=zw{}v;1f)0qB8E5su0J??Y5~mR$&##$86B(UBhd$iiyzD=JkT7ShWUIOh?Q$ z94{p}{tcpv&8t^^#7zo$i$@L3CE_MkF^ISZ!ym6QL9nNI)X)lj|G8vC_$lgTPIQwS z5k#FT<+=5JA(?~jJOR6?U$Bem$A3cW-qfom=?s?HIH6foghP;aQNIJVjcGxn>w7FK z40r^A2(3}nba4`J|CdhXa& z3*y2Zdk7;f5p60H_!G@%HJ_y&tyGCsX5f$^wJ!5Wz;Tl;cyT0x18F^G!nk?4j?fG3 z3nVZ<#=Q4&S-^#|=-4V(-n)0-gXis&SqLPIVx(Ep(Xn*HZFADXtDW!O=0sKT?*xH9 z5gnm&{K(j+YS@xd1YOT#{G6bN_qK#@Jpl>pi7<8#KykssfGZZ{lfnd{l^mt-I^Q4K zRC=rp*+z}z#5TH7K-2{c&$42S8OAws&O9^j{jr^+`)0sv56>7&|27eOXRT@@y0RxK zOMkcP+X=aydDthdr%uLiUufY$Tlwfl*v@Cb{hzfLpJCK34TH+ddD%WLEU&4+%KKj- zGMJ-G`;zt3-u2*P9})sj9Up-g9VB6HZ*$RsX(-GOAnZkK%ygB;Yj*r?ps^{^hJN*d zKv=9d=WP}{TCS~N3S87Ol!M)F39dfp5s#MWJCg;c;=6slr+x}}+E z`qPzvX0J7)^luatoO48xvwSkWSwh_8PTp4{zo>_Vep3YUZaDdBie|Lqpl+Noi#$c2pT=LX?da@dLd%8DZNUqFwj?$-)>XG(_c~~}aHdP- zDy?*ziS}a3O|&a=iUR6kWYAT^+$O~c?DB(-p(q87pPR#OcTYJ02*Vv zwef8L6R#H8_s_26UWMffcTTbIrn=6D@z3xcJ|5fJMuXqJwR?O<4fXH1M_@cqbSBWiYAo4>iGfsqXn)LkHk_n)bm0(cK12iz$*Iof09Jj-q6i8?wj0UYwo(Dz_TMkcq z(hn=GSnP5TCr4J4q01k?dHyC;DsQHolSVh5|J*Cki22^VF>!$h69-^B{=HR34F$2E3i*Nf1YRC$DABF8c*2&_1Ka3D z9UXyI?2mqen)|!W<6g`yuf~P zzhNhdr%@njwZi`XmvbVV3EF)KVGuWF%O<%6j zu20n=4}gJ0iH}9~j?_2}_;+vxr^_qUNVxY8Vy5g)(@`d%AORWBpCDpdA_V9XkmEeo z#in+twFRV-csb9eZmsY$>95iukxLUzK9Vo{PAWoiQgyZf5fE%#kOD%m-}1k$o)kc+ zthQmi!Y`^1D;I9Xep>EjlUGJ44&(H{PpTL(2=7ykpkHA<5JT^1BxQ-bA6raezNBhym6G-1?5Wz50_-PfAhqQPlU-llH`0CYSbAOj5Hau(j2=DnM15Oe3rpp`ah3@Mam<6XX`i+ zn)Ghe`mn3Yc>V7#9LQyU*^o<=@H=dHm_$Mdz3Ff%7d z;n}lyZnwYZij2zS0~PEN1S=~+4J^jlA4f}6~-tPHHupick5Q87%bxPHo)=pak2c|XCTDvfnSci` z+&Vs!m~raFI*(o_7Z4-mb>C{nBkKsJU^51z0XxGlo_7K@0pb9n2g&Z(?q6#cHMp)+ z2=>`5HQoDk6}^wp!BnWGF?aAI@hxIf@O48hPM|0}12x{*`*U!S$m7{^`1H zr!|kyKIT>6$9%nxy}^iEnh3lNqphu{)_Ge|e;paB~XM?ak&0PF&a^wugRSe9a@-7E^zyhGvIsGui^dCu$}R z8D6_-QMTuMKuuL^sih9x$cB|==Y9s7Hzo8Sph6;~`Wb6o1lO)x3`}59WquO^rOqd^ zo#S;aOAvC7uvpeEpnJ4FmcoqZ+dmzE%UrX!e$%*f)n@R!0SEQP&x{uTri--~LLwW~ z6UpBDJR+_`zmUXXN-5__bWXmG6T}2nHltrH!dI3sZs>w(ZOELY9-oXWV9%Js6uQWor|-W%6`9>GriNQ5EdOhLel8i`-AHNzUL>M zK~x6jBvBez=|wUSVr=nA-YA^%U>G@0KUHia=t4}!J`F_1)Ql`aRQ~9-N!r?0Zs5Rs zj_gbJmPhs8L1S)R&0Ks3c32sd*F6>WK7{S#EiK&6fl~R+FSeX7o^*2(#0d?aT4^&s zIBG;NM<>(xMG_0hKJ+?DvYc_rdN0xJ{CEG9N}xs#8gAD9E_xoUc)fra^SiAtmfoxFG@ji{tf za-!)x$eg+dS2FH_Os)qfmGv@T2?qfk*ZdJ&fslk@a!5pNG~P!Fe#qy7q7B-bdzjMx6aomeFCax zBbDKzA3~ZD7ahuSawWfUZ9Ww;f8^EL0`YAO*w2F370_9{uxA=k%4}*&TCZF8RCt3G zmB2D?z3o?uJSx%U^!hRouO|SyGjUMTK_C$z;DbK#)%>Qjm_*$$p0w>{;jzPI<86*~ zT=TFuN6Lf96(hH0MoR>kX86ZL3Qn0CyU(Nz_NOzRI(75f#}IgjPH~a?cF^&;5^Q+e6p~m?L|e@;25P+W><&(?MeJQADEBtNq4*Y8b`SOH@ZXsDH;9n-WIffbrF{%3PM@lIX-wj;Tl8~ywwLw5@T9CclhkL z4kqj-vgd`ImPUifwsS$hodB&-MJM8_)&B}vr2kTxo3fnxNW|g~Mu1VAcXwK&=6|;ji>#6L@!@1xt`90qu_J z9R82&wx6LXOOW{}Xru2GZ{QuqyfktW`ehFRCGRPD>M8p%h?h4>y7{xWUbH^?|G9+; zY&VTD@=P+&sv%x>XT>jeV$*M=4P?%W9j`pMpSr9x4VPQIz-9xXpeUxBXb<4enc?_$ zGGjgeG~TKZh2U2v^q1ZB$O_&8gc0?RSbQcK?|r@Y-ax^w#JTClW6eI@&XhBcSMf|T zRNWg_F+|d&`+te+&NdeVOIL zxfOpyBQaQu2 z^uPu51h2OKzZjvSpE4x9FR^KgMdYQ=Vvqlh+=??$mfgH!NBRH2e&-?Iw;8KNBM3<% zU%a1iBW?KM3j{HCKnCVsMfsfStOA8N!0+D?593U&Wm&_mzv`V> zHSO6=*@3qrdL%TNeh&ORh?9)~%r%k#XD|$x*z14lIAK%eaY*zn_b_$R=Hy5xzf%tM zNTZ&MkF}kMdIIr8R2LBVHPxmz@xj2>Z;N@B6WHvD3Bt_#+mZeO;zg%CSNG`##M-bK zNz{F%QX?7(KP`UWgYThMBNEDL?;F@%5>6A2(!P7ODSwvUrBXQ0cFF3tu&K|0uM{3x z2d;MuGBzl0KD?Pdxk2}By3+f+u+SS7H@NdFMFDlkZ$AuIW+mVt#mx6!j;kHlkZn_! zNN|_)zR}9g^pC~J@!EL3(W>`)lNfh7o0z#N9j$SnzHR{B$i7kI$eUOmWt&1o0{HrK z;yU}vP+6cNeP5Hs+r9v~BxVt|7m=2Hk>VCIJkcQiOqFonZ_gOH(zx3zl7+Py)bqm! zny)=!E8$A#+q%>AL|Bw5kdV~B3qH%Za}`RG9J?@lo!@mvsmt;26V;GSREl3?kIVH_ z;0wy7#fT(u0kVzuLT*pT%*-<>fuuZD)%09AD1uC4i0-WQdPE7)`b|(#-ll68W|WO@JFTZZepQ3 zo087itmTShBc{m+o~kK+B5!-%zQ%p>DQY1iMSp=#+QjqqK^*tyu>djWJ3Fna%Ksv~ zqk^~pfowoO8w${*&ykU8%lW17&Gt7IzFU+*%^+1=q_RTZ)dglyId z7A-o$1Z>%Xzbls(uiLcuu2Kz{G7UebR|ktD{@&o#^?H?}t{t&1F}GKy{=S++tv(dA zUsO2l$ydt;4~x-C48`SW!A4i<+E`!JrKXZ-I+s=tws9t!tb9`4o{>=r(PkK@3yJN<+ zge~i|clFXHjO2oFY4DeMi$d^22!^W^44q9Fx=p!Mk}XCmaF(0{QlcFeeYyogkyKH!U^P)u(&*f~}q}Zn*WE&qo#D_;ax5#Sa}N&OI%)=-mX^S^XLvnD>oWnDO2uoJ8Mwjnsr)&eR`w>{FYa}dB@(e!b0RcU=5G6*A|lXKW{t6_H6^walQHu6Rm)76cM4&KLI zd>P*pCq?6Tdd(tTs*fPa-S8vJi>um=-gl{?EL7a2QFdHKxyQ-7gj5d3|9Y9oCEJ3=0j0M_ACwCz7p$AtdT zGl7y$rX*cVT$L`nQqJ(9%y~s^?ePt7y&A}`qwV>PnH=J0)oNmxqjm}7jqwUfBKz_3 z?WXs0^7m?*5vEVy3QMSOJ)J?G?5}N9)XqMeT_X{f_zp!l7Hbg9Ea5Us`|u<7fPQZw zuHj)Q=s74>D$iOCqJ|+!UVUFFu-bv6HUP&={Z2Q7(T(k`S5vFSNY#>fwTN83b+9qc zu~U#^_Q8N4JYPfLp&Sg1tySE(LYulyM9Zj_ujFK`gkZq735TCI?X7~L^6%^fHe=hiMGt`+i!1}GVl08UrR*Tp_aM@P2I)f6jOwKPq)}JN5Mq3^7 zFo3E}{~M-j)j>rY5vW3qgLu;5msLFfiKiEPerabbCs|fe9bWJXI-!yP5W$n>fMOv5!3`NA$w`ur1CdGCv2-Z z$kit?ow8j)c!q#-(#oxPLM$b@U~^dgDGC|-9YTkfMVZQcS}6v z2J1XLkdXC=udZ)|fQ^;yGT5*itz0|yZCe~HpRivMKQjTHp>ohA?O2zlU^Dq(w79U; z6pT~5f0Z96&y}9`gpaNX~A@xzA{-!RCl+5p0YghHJ8HA$}Fp3 zy5b)LwAus)Vra@@7aV;8PCY2sV4Q$Gxt^yiRTq$pqT$|6%iImbBk)YP5F_>uMYNDo ze2F0c&9S$3K50eP*fiMQ?{~<|u?~fj1{fA+wBQ4brk!nb7u$vk+R(c&)ZR&nh@9Mi zv$8#(2a4;6a^H4aYWsmfgVPbV{OHlo2KuxnRR&9E|a+sUHhxWtN zDWd)6etmS+lfaA9Po>TSdHywZ5+?k?J_Ut4D=AT4_06U1Sp##Kj|VS)ONmSG$ESnnV97h@%^7^#p8*@H!>bUzNcoa<+=^&QxwYKu|o9rbZ$ETw|OoScik$tCy9cU@@uTCdM>N~Z+6VK^a1v2W2y zs_&YEMg|7~vf&bIEGs1-p>23#&=kJ>qkJ&P zV`}dWR6lium|^lw;|NmIbJ2@Y|7?W7P7Iv*E=9yAC!+|>zapUJhkn9&J2hlZ7+FxT zul2}>q|B_3Qw#1^tlG`KaxPzxd#FO|BbH_m^&tlrr=w}J=O03 z6KtV54&-R@xg(#^`VlFA%5$EgVW1q#p72MuA3iey&WV<81TH%5zb{{PAWEe%lqmP(6!S2g=~sK@ESEYke%1%qI^$Qa`?#_yCk+MphJh0 zxAh$Mv@EF3_22#KPm`f4+Ut8VGoLO!Q1U_j+dX%HU^|_AL9Pp+>NE~|9??=0K5({p zXm+s1Zk8ivG@*3UFm97Bfl6l-vzJgofLcDN%Q2;p59lxW8NdM3hMqqEF4>c2Ee3%^)3}DOq8QD?`}QyTmZNa6PBsc6UO#bl_bdJwYa*|{OX6Ljv$kwbCpIV2}4)~ z1AD_W3d6ap@WmlOaR{s({BGN+xhg_o5mu;qN``s;yj#>>^UO*p*-q28ggr35dgqy6 zg1F{|_pbELLO}|J-bPV*x$0?b=*FrK$2QM=VCxRj@0e#IfMBLbvwOyV#iG6bzE6_b z{u;YP%?821Jz<}-=15UQA9_0K=4uIDPa(^S4}YPiLQ$_DLkl&P&S0*~ZblX^-`$q@ z{RKYm-Jh)l#XkX&u1`XoG2v;Mpz`4~GWlHl05vNvBZKkY;}c2~KQ&0wrSyKu3P?4`#M57P zI~3V?d*Jx=!s_M8IOww5BCSJbeF-qWNAhe*3!BAgX@;Q&i3%Ikg%K_>ygUSCu_HJm z_X8HEp74=@`_KKIO!$FAXO3AwK)`tBeXzXHh2skELh-bs@v)U=XAy;+d)eq*OFQ^{Uz`B%biAJ!YztpBfOp z*mRwWHqb}Q&rI$NNxEiv+kbBvDA=pe>;2?kFso4N=<`m1wV}o5s^N!$Dw#DSgM>|& zG_mi_&#Mk7*v>N%Ay{ZOgR6Ht?1Q40T?EGnlyi11-FMb3v-r-DlXj_TLX4%_N$p-m z?F8TLbet)g^`|E4p4 z)SC%_dnR&Avjq2b3zFkP;T5UG6Se(CSvJ8t7xgh0k)p>Kv^G_n3vIr3spA-t&X3$% z8jfAkhGpIN`acnoSPG7R5_+Wjq^jBRiB6*oYLnmaZ!sR@Fa$Dq~6`-g(UoF54( z_sZfIr(~*|pf#s{Z1sDl z%js@gPUfk1s$~M`6TbMde}5a<_^z2AiYWK)%if50Wp0cm*Qs)G%abP;^IcQ17^+u| zKD#ADSP^3dvaP{bC1E>7KcBt9A`M{&EZG?7$2KAUPJmt z?S0GXXsS$Jr3-z&zl))EIr9zTwNVLd#_9Uh3~sxMGrBlML}|5Rnd5=Mc|7*E*%W5s zR52CzlwZ}*=r3GYM>NTOH@#&pm()D5-{sCxa?`R!WcY{QqXxfMfpf3YY{|TpHidY% z$XV^lZ?oI?1O-wdpI*_6=8{+KiNFh_NPBygwwl0)M9}*t(=54nU4j+7t>Kx^BpPYW z=5F8?X8Nj{kq{Wte#0VXl7XOS=uuWWlJl7UN&ZA1>+X? zBiTk>N+z!~im903la>#ECM3Y6`a2a+oe}Q0NZ@1r`0SlRcms$1YyFiU9`-L@H(-MI zsbe3KyRRtAX)aPx2&%NCym<9YI=2~d)z^@9t89RsNVBoS#NM0?|L|fGMaS~UJarPK zt#11C5iayYboCY5LY)fv!NI|L?Xe`65$#KKv<%C*1K5VN)hyhi;h3TrGnrtq^(r!R zuljca4n>vC0CDM3LqdJLEHVW1P^ngLx#!K#SbeW73~;uYoa~oy(Qlpw6i@{~>#Z?c z$Jgdf0Z;Nhc#=?8_K4yO-%>#Ax%1$BP65s0Z~k&XOBQ)8(QE6C!M zBX98u=QGfw_cD{p;UK=>JwE0(E_f#|3`+reM%P>E!Txo3inX9!p_%bS-@b*wSf~9? zN*{w@NB3Poopdax_frjhr|Nk^P5CDr_rpsE3PIWD&*QKiZ!8IC!4=fe9%g{_aw}Ui z(2XY9K;_08KnOB9O<%rBk0p$O7MO9!%HPjm5JA`AG2M#ufC1Ik&wUu~l>JWOI|*eqXRUZN|B#SCFVUNN!)J7p2W9* z-*)4}2_zc&6sT$7(VCDp?uZEdANCEO3}^6#`yYmIW@=z^MsT|;5X*##HslqMA!T;z z!C=WOS1HZMQ}#cUFQ4$Y&}B! z6zFj|{oXZiYwb^aY699|m8tnCsSqVY#b}Zgar61i@yD zbtgpBO0_@^g?V>!C~<<~0d!iA-5vp(!bJq&s2I10(G7mn6%fg$egyElx1liyyn>js z-G+F~#ff`SUke{n&&cafb|}V)$oCTv+UoA}bzS!}#67*YJafLkhMbsjaog0jYjF9! zdoj;|`CMUz9N(=$IZPT6h?{O%ec_O8<=g1%zvBygDEPkwClZX=_mt&f3|2sWIH)T=#r zxBLwyQGZX_X>t|z>nas*zqFgaI4^oLt39{prlni>)imC7u)^KbD#yhrCHoXv-(i< znpNhcFh<@>@{w#XXj2q&qp zWF2zhnbkPhVDQoJ$CU@8dMmi~oNXeYw74-0+$`-*o4KESy+W>tzUdw&o)e4r0+r|# zHnmww3lQlGSO)^<)2kEFqQp^9;APrQ)k>QZ32h2p&-m9%#S)1$#Yh8QIO4eg$8yWL z-ej=}5in4x!u?I5Sjpz5<#0s}f8A8+>_Zw&3Xbj!;((RqKjlf}HOXQ~~HCN#517%&F> zJxS*CIwTVcRo7S4s*VR*LHGb8{90F-+$b7tJ-5Li2)*cXs1zV(8zX{ByMF)Pd*+J> z&(mYf$VAR9H`PU&Zy5nKOagRSbt-;(6j#f>AS0Ft_JfNP7m6LDZOEP$hOzYDnu4DM z3F{Qef*4Yg0i=5o#i@IP15bXqUVRO3FZ4j&+vuiuzu7 z_zkV{^ob4~XqZgN%$p3=x7+B|$(hN~MR2-&J@_t^p1?T@jiq+fef3V#Apj4Om4)*j z4r?aLTntgSz{NF5Lo3XrTqqB!$!vO%)9B?f0SYn%e(#s`EIbhZB;%+Cl?=w75*^y8 zUp98=SMY-{d^%8w0uL-&<0n7fI_u7_uOv2&n;A2mv0NF&ZjrHO!)R%&H9f#VCn%Tn zH=NGJ7vvM(2Ac9MAAVaaZkm>twKNQX(z`c%a+|Nn%Jg|{wLm$Vw_B+UM}<6#l5>jp zv3lH%glWq@EhjlIre9wtCO48zaKa=Qs0b>4PsqDZG0gAn9c{ zB#UM~ta*?t@<8$CZD<#ieT!Di?f?H z;$Y_D(uGwD>DL+x57j+9SdOt6M>XpYWJ~Dq?N8~4W=kmJ6)!w2KpWEC_u}`yv6})W zAvNw;ZD%;TcS_}r&70=^*`-9ATaQoi@_bM;J zQc8zx)9|^-i3c~m3>x+7pWTSEl$&~%wWfU*A0J#2)QSF9+!OS}If3=9&8ZsP4 zXtm3(;SSC2%ZrfQHfm#fsfYELp`un z5jH?xGKgjKkaPEl>A`vPV~IxGLxtb>;zQ`Xv;*_|X`sJ8ak%=Y`ykAe%DfM^$GTsQ zUB^)x4|n_;7)4OYqQ2>gkjdpx569E=eWA)(MWi)__6uv@0kDn`ViX>KWHg8sEd_X zo2qlG@_9tUXwJV3UOg+PIJwmFPZ8r~X5ky%>A9&-?iISv!#a=HUccVpnk!9#ORu5Dxa6IlvW zXxW8A_jAj!n%^_uYgA8pvL?3jBDFG-0i#EaMHAo#OqcCyIKdw|q3Hl<1+22_xQ&ZG z<}&Zm%JfO&Wl3!dqq8F3hq3o(x4|I)tFdd3hidKqyHrw#uIH3SD7S7Z9Y*BZk#VUG zy&a;WVnW89+=g-MGmnZp6){NOg_A zjI9hQQ1+ewC^cxOO93wQUw0sU;S{skPPK^gOJqDr{I@OA3^HQaCr+UL%YH2ioZjAbl zV=IkhY+;lm0U6HGg`rEdX+Q(vTqV8t+P*G&X(hc&4o$3NSHFwRX#~?YiQ*|G(V6(Qb~r_UveZHS`IF*?oJEM?|=+xRy|^ti|fY-T+X+FEsQ!0nvMCy9xb7< z)nuPG(a@WrQ`Wji{EO?_BD;U5ix;SiqVoTs0oLv4@SZTLguX<0Ku(q&n)sj2HXv2^Odg zmEY^tuTEBCQ#;k08&fA;D^v>V>!Nc@C^JSHWnNXx;~CWOGJ;kebRV+}ip8!*r>gHj zFZ`C>f9|!5BFY&EW+b}QxV)Mu31GQVqMvI*-j)^7E=j7Rx`TITMrhcP?vWX@K-T)l zMG{yF^l3w^eb~9zPUplEhh^HDQ96aWMJ@mKta%1=RWQF&IVrc5WX#I=Omy>kq1?jz z>mjh0%$4i-Vwq{fJ%Gj{#IW_d)U>esX_%_K=k)G-uw>ed>>X#M;r41hUzX9{u zPX8RTFXxb82~r#q4b4_=#Uxjtcjk^EN@8|;Iis33cI?{D?L9S|`lYc!X*wz7R#IcU z$UX|^e6M!P%-YnWB2k-cdP6Y2LKns@I2sQ)sqnOCI5DqN%dYWu$@m==qTxVCslaYp zpev`a&$*J>De>Uf%fpk-1T^zr0V}a#uml_Pwj{IcyNg$Bs31@#qQ`{F+k5D&`dd<0 zogEk@l5z@@&x6w{g?%EPCwd4dsUZTR034zEPxG`{dxV!r6{-}k2i~>bH+|QH1qp|C zvrGHd=qN!P{(sy2#PQvAo?a4+@vAAOyp9!=jBA<)ADo!-C1lU;v8+`xb+9ovV`a}> zU15A_4ehjDM4Psq((@bBmvVz!AG8dV5jo~r-WJpf{V!yxI3PqNiT%sbW|TVdHr9Tu zzPUeQJBJ}WsrhK%GFj`~?nyee$}i^Ta^o{+#8HBzh6YLX*}?zI3Zo1(NUn}}n#!8U zGUu04YP{G7tv<~(Q=-S&<>Sg$ns!I^UuHdFuMyjTL^+B5jt6$_#yu5)2RBc-TP-O{ z)`K!8$N;Hcf9rry?-;6`s{@h`rFmDGJ+PTQA$acKmDF^1KzL=KNT@|ia+o+gsIzlx zgRQHb!4jMfx}U#uZXvt+i^zMmp+iou1(9&v{L18KiP;{5kc*qRNZ-+;kaZuv2lWv2 zrdRFVl12tnRrhU9xd->~pz+YXbuQ5frPj1KXirKaAE8btILXm3uMitPGrWrdsDcYyZ^EC>a`2byIBle8VBvsd5$P2jp$Y zu2;2_0hQ20#ByxOZDD`N1gjljHPv+21DPnNGs@fP z^(P9bsIKc+RRoA;qvF|5m?Mq|))2<5CgXuIc*HYS>Yl$(nZF>hj2wx~ zZ8060PF_e93Fjc8Tv$Z*-`+a3i>f0Y`M~O!0u7-NIoUziMA^h8!A*Vyr8nnxbknpT zanvdtgGBLR<)$Tgshmtl+ zoJQ@4cf0RrqvjImt!yczU^(U^=3q8B%41^_P(x_$tYbMiqg76BwNsU*yHy@-9JZ-0mXQJP(Hsw8GuJ`YQ;8L8h$ zksbk#pyIydSw_9Mb$WuZ!!`~Actp|%_fQd(D=y{C6!m4)?@~00lsO#7%Io@o^`yH{ z^hyW{i3UiJ*UD;^+?6&Mc<4f!cl_(V4O&s70tDEAhxgP7V`B(qlCt@bR|#f}a=HCR zXgFQVZQ)TQG(4LXyw`?E6-1Sx9Du+M7tn=p2q5QfCWdFmEs`jxpV63X1d!H#--3JD zqT<&1#Jj{;;&vNh)rS*;)EGiJVaLhHnk`~#LqIH&Eg9wV$#Y7yxbq@o@fCSJ?{TTz zSSSj0Pl4-Y=OP-D!li4rTRpTyPtp5N)gMVCC6bFy`l~v=>?5(3Ud>v7NHP8sF-Cd0 zh;roa(5>68t~#S^8qeK!zcX)J+t?fy3|E~vUqof_V)lv0yUN`}D-$rG+7!$cQ6azK_laJS!|0I`jpc!b4D^uZ| z?j=PT1nQ2_4$Wf9bVe#>N6r&uIF(k(%=HRzAXMg`gOcnSH)E5uhk5OEcnL%f<3e-$ zdc^DpoU(}Rb2Da{&SwiJubI6B*rdM!>2NEsxyTdl44pqt*Ile8=vMlhG@G|f&o%;8 zdu_9Aff0s$A74gSh@RT(0wEKFRo8;tBNwmu;*#Mu;jTe21wywR=A$0=UViUkz+lF!F84xx(LSZGrARTI%uT`bpMq{~kq}7CuGvDG_qkwcDcaqqoL2n2Xg@DJoiHn-|y{fJ#!S8$ktk)DrnrFjf79eD< zsnPg~?+_V^X0$CkhsVaeUKnES*0&#dC0TUPI z1tQC!KqN}L=7QOSHL(R-6S?KIVaw@B!q&)1*D|cg0x>VPR0YXeNasDrtQc-bkOs$B z{Bm ziKCl{c@O?oY(a0`&?LoXt;?-K$z|-w^Bwe&tWPaNNojzrZ!NOP-;9~wugZLBKF|;G zIdplNuOE8yHmBHs_sE5N;21PEcGyjv4=5jS?pU!S( zIM{4@Xi+o3oGpuf1wALoWI0k7*ck1>avOj$1`XMGsEnZ39nr;c|Ypeu4!o<&Bqvby=ir3o5 z>ieK;Iw5ny1s$HLkx@wyMz5PU?}&*)ZUedHJv|Q?n7nCH=}J|(>(gSE0Y4*pd#9*^ z%#R%?D_8a!hW4{w15b7H$(?>3Y12M{D#-G1ADk7uAODAg2@hl9cCOR0v+Gtz@rnrY z_!8zW9Ko;u36u|0I8t;9MD!x=N8?o4Kk;iPQoXBQ5*8qvugh}rx{vq;m_?EAd{vNe zG46ukeWI6fJ}HKGK&Pzl{i;&Gt{wCn)4xO|JiXA4LOxKNjL+k<3fxbgG1Rke> zKU5y2^uqQ^`=u8?M65#>Ec~1a*|n)r7h6gZlJnmo7*iJqCul!Yt6_uuV{AX6`Rd4K z42r-XDq)@gtz}owcfK7D5@CiByNtPkV%P=&F|5KKRDS+REC5h(=K&RVBmiQFb_an} zu`A%A&`K$A7ZBT0+x-bNJq&^ve!E%CqM`4b*YFo z^G|7@UyloPJqEjB^cH@hA{Z{)JO7O#?m;e`ZxaD3O7feEnjdK)KDWrXL0T4UnXe-; zKY;b|adGy1E$sH|r$t0{_&rpAj`XJKF41R$5Kn_p%tE|20p?l3XO+jGhZ%TmEAkPT z5BMn#!{oRC6Q4o9^s!7~E!+i^XC(L!FHwzvKj6w$8lAe$Lfgzr5ZnN;{6IF}r2nJN zm;=@3E)6BfF8L-f9LLX(_ZUP@;KfV}0O8Ir;b^G-`1h6${W>HSyvX-=GyfYJ9{m5# zJif%SdJi!8Gf!Vdho8U-CO|Lw>8P_Q~YA%hf(r=RoS^Ee6%W^sM zpUY)2_L2thE(IH#?+1F)!E2qrRGkNC^FlM-~YTXXu7s%*fb{f zGhBeFNK7nO7pCmbn4%iDjHw@|XX``Joy)suT!(cCLT37WXCQJyh2iH-9dZdNN;MJk?Orrsf{Tv;ss80Lpm#xTZCkGBQ!zekT)x3Lv+N4T97@?^7eLJ+Usn-) j)?4s(8^GU>^OJwvH4R*6#4e>FaE*x>H|Q(^xD?~+*j literal 45549 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�Ai>XYl@Pm>y1UUbal5D)uCrbSjUH;ykaAWYvF zip8I;6h1Ss@g>`rQB6`9eRm9)!x4lyA_=j1 zrj=nDipLSne&KePkxzHhS*1pNx78qgS@ZrVdLY#{6lpLf%|wIS`G_#-kNP9P;O1+3 z%;7y4zsWE4l<a*;DlaWTU) zVoBUBjDN$tMR0>%T#$hCG}>t)jgE>Neit;Ea4yA}9$R}i=jHvhuOF0zj4(i^Z=eVt z7#MRSu!^M7PL`RvK-nRkIAQ%uCdiHYiE@)S)HHF;b z;`)=6^E;BQwa^vqxtT$!@=L|&HA}Ul`(4rU-4N&JQNS^K(9niQMG#K-56EG{F7^ zECnc297K8QpBFV);3mVN9AGY*ri46%>603EK4V)0qKpPrL1bjlKr;@)4)Vl;P7!?O z0D=YrIl<16XKQ-UeF)?T#ZY!iD+ydDu~vorhxS{^X8vcv0P1x~yAJ69zWR^C-#~Pw zf<*@e68r&7i9!3Owe<8bwGKsk9f5RS+BfN`PQ>5Xha~&}E>#BaZcwGz7z5<=L8Cet z)_=G9MMnMKLcJg`{?_}>|L@>K_-qN>f9=siTIPW@Ch!5oI|KQzN)rmzN(B4F^&rZ| z2d+4QWt)OgD`O7+l7#hT(#mumr*!Eyo#Kol@^HfJejPppf;RG3lh|Qze(>-EUs0kM zc*ncm!e%gwVh#A+i@zYJRKKjThC=Mgiyi_IQ0}V=}ZetG8&abvd*0>B6J*IAZhx z2$8Rn&SEm`d3B>=u>XHD=8{o$!E|5$!6<p7{J9M7I&@ diff --git a/windows/deployment/do/images/do-setup-connected-cache.png b/windows/deployment/do/images/do-setup-connected-cache.png index 0be545ead164efa5d39c846b46a2a366f8f05566..a2182de0b4fce5206462a817e8fa6fa771ccf7b0 100644 GIT binary patch literal 24287 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

                >q6=q68Uw-~Ua4Z4K-2)I{ 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 diff --git a/windows/deployment/do/images/do-setup-org-size.png b/windows/deployment/do/images/do-setup-org-size.png index 73515e689bfa57eb1702b1b029a207a28217c24b..0205340dc8d5264109dd8401a0156ecf46156ccd 100644 GIT binary patch literal 33071 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%0DHdJqX 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 literal 21663 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 Sk{y(PWn=ln(Gv3u5&r-d7Z{8H diff --git a/windows/deployment/do/images/do-setup-system-resources.png b/windows/deployment/do/images/do-setup-system-resources.png index 0af983fcb8c5e770b9355d8da73b06368e19e004..97c028a4bf0cfdd1e1d3869de74ded94099d719e 100644 GIT binary patch literal 31857 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 uRE6Ibq50vE8WQ$~;y!u~M=PPFb literal 30121 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 From a617837a642b51cb635b507610df68eda6631b8f Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Mon, 22 Jul 2024 13:48:17 -0600 Subject: [PATCH 301/354] Small tweak to link --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 8e359b9c3a..85aebc8d5c 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -183,7 +183,7 @@ Regardless of P2P, consider setting the following policies to avoid network disr * [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* * [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. -* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#6-improve-p2p-efficiency) section above). +* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#2d-improve-p2p-efficiency) section above). * [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. ## 4. Choose where to set Delivery Optimization policies From 8015731b94ee2761205d8130931630954ee749cc Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Mon, 22 Jul 2024 13:55:40 -0600 Subject: [PATCH 302/354] Small changes to MCC section --- .../do/delivery-optimization-configure.md | 4 ++-- .../do/images/do-setup-connected-cache.png | Bin 24287 -> 26142 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 85aebc8d5c..21bf94bf8a 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -33,7 +33,7 @@ Use this checklist to guide you through different aspects when modifying Deliver * System resources * Improve P2P efficiencies -1. Using Connected Cache? +1. Using Connected Cache (MCC) 1. Choose where to set Delivery Optimization policies ## 1. Pre-requisites to allow Delivery Optimization communication @@ -177,7 +177,7 @@ Regardless of P2P, consider setting the following policies to avoid network disr > [!NOTE] > The absolute policies are recommended in low bandwidth environments. -## 3. Using Connected cache? +## 3. Using Connected Cache (MCC) :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: diff --git a/windows/deployment/do/images/do-setup-connected-cache.png b/windows/deployment/do/images/do-setup-connected-cache.png index a2182de0b4fce5206462a817e8fa6fa771ccf7b0..081d065753031f5b7d72a2dafc5d335ef54fe464 100644 GIT binary patch literal 26142 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 Y{6K`}G{n{CKyNr>X!duhzH`if01kQMYLNh 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 Date: Tue, 23 Jul 2024 17:54:26 +0530 Subject: [PATCH 303/354] Pencil edit --- .../start/includes/hide-entry-points-for-fast-user-switching.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md index ec07566ed5..a914eb1c31 100644 --- a/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md +++ b/windows/configuration/start/includes/hide-entry-points-for-fast-user-switching.md @@ -10,7 +10,7 @@ ms.topic: include With this policy setting you can prevent multiple users to sign in at the same time, using the Fast User Switching feature. - If enabled, only one user can sign in at a time. The Fast User Switching entry points are hidden from the sign-in screen, the Start menu, and the Task Manager. If multiple users want to sign in, the current user must sign out first -- If disabled or not configured, multiple users can sign in at the same time. The Fast User Switching entry points are availabe from the sign-in screen, the Start menu, and the Task Manager. The current user doesn't have to sign out to allow another user to sign in +- If disabled or not configured, multiple users can sign in at the same time. The Fast User Switching entry points are available from the sign-in screen, the Start menu, and the Task Manager. The current user doesn't have to sign out to allow another user to sign in | | Path | |--|--| From 7b15ee888dc03fc1c2cabbf6dc2d726525026a6b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:33:00 -0700 Subject: [PATCH 304/354] formatting and wording tweaks --- .../do/delivery-optimization-configure.md | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 21bf94bf8a..7e71933140 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -16,17 +16,19 @@ appliesto: - ✅ Windows 11 - ✅ Windows 10 - ✅ Delivery Optimization -ms.date: 07/01/2024 +ms.date: 07/23/2024 --- # Configure Delivery Optimization (DO) for Windows +This article describes the different configuration considerations to optimize Delivery Optimization (DO) in your environment. + ## Delivery Optimization set up considerations Use this checklist to guide you through different aspects when modifying Delivery Optimization configurations for your environment. -1. Pre-requisites to allow Delivery Optimization communication -1. Evaluate Delivery Optimization policies based on the following: +1. Prerequisites to allow Delivery Optimization communication +1. Evaluate Delivery Optimization policies based on the follwoing items: * Network topology * Organization size @@ -36,7 +38,7 @@ Use this checklist to guide you through different aspects when modifying Deliver 1. Using Connected Cache (MCC) 1. Choose where to set Delivery Optimization policies -## 1. Pre-requisites to allow Delivery Optimization communication +## 1. Prerequisites to allow Delivery Optimization communication :::image type="content" source="images/do-setup-allow-communication.png" alt-text="Screenshot of the considerations to allow Delivery Optimization communication." lightbox="images/do-setup-allow-communication.png"::: @@ -50,11 +52,11 @@ There are service endpoints that you need to permit through your Firewall to com ### Proxy -To allow peer-to-peer (P2P) to work properly you need to allow direct calls to the Delivery Optimization service from your devices. When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com). +To allow peer-to-peer (P2P) to work properly, you need to allow direct calls to the Delivery Optimization service from your devices. When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com). #### Local proxy -For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It’s important to know, Delivery Optimization uses byte range requests, so you’ll want to make sure your proxy allows this capability. [Learn more](delivery-optimization-proxy.md) about using Delivery Optimization with a proxy server. +For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It's important to know that Delivery Optimization uses byte range requests, so you'll want to make sure your proxy allows this capability. [Learn more](delivery-optimization-proxy.md) about using Delivery Optimization with a proxy server. #### Cloud proxy @@ -78,7 +80,7 @@ There are a range of [Delivery Optimization settings](waas-delivery-optimization :::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: -Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings used will depend on your desired peer group(s) and your network topology.* +Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings used depends on your desired peer group(s) and your network topology.* #### Peering setup @@ -93,7 +95,7 @@ To define a peer group limited to your LAN, choose [DODownloadMode](waas-deliver ###### Wide area network (WAN) -To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use download mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. +To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use download mode '2', Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (for example, AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. ###### GroupIDSource default behavior @@ -108,16 +110,16 @@ There are several options for identifying your Group ID using the [DOGroupIDSour If your environment requires a more granular approach, you can use the restrict peer discovery setting alongside the download mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection) (Subnet). This setting can be used with any of the peer-related download modes (1, 2, or 3). -#### Non-peering options +#### Nonpeering options -There are two valid download modes that don't use P2P functionality to deliver content; download modes (0) and (99). download mode (0) uses additional metadata provided by the Delivery Optimization services for a peerless, reliable, and efficient download experience. Download mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. +There are two valid download modes that don't use P2P functionality to deliver content; download modes (0) and (99). Download mode (0) uses additional metadata provided by the Delivery Optimization services for a peerless, reliable, and efficient download experience. Download mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. #### Peering with VPN -By default, if Delivery Optimization detects a VPN, peering is not used. To change this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN you use in your organization. +By default, if Delivery Optimization detects a VPN, peering isn't used. To change this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization client looks in the network adapter's 'Description' and 'FriendlyName' strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN you use in your organization. > [!NOTE] -> The default keyword list is “VPN”, “Secure”, and “Virtual Private Network”. For example, “MYVPN” matches the “VPN” keyword and would be detected as a VPN connection. +> The default keyword list is "VPN", "Secure", and "Virtual Private Network". For example, "MYVPN" matches the "VPN" keyword and would be detected as a VPN connection. ### 2b. Organization size @@ -145,7 +147,7 @@ Alter the minimum disk size (default is 32 GB) a device must have to use peering #### Optimize cache size -You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size) (default is 20%) and [DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size) (default is not configured). +You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size) (default is 20%) and [DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size) (default isn't configured). #### RAM size @@ -161,8 +163,12 @@ In an environment with devices that are plugged in and have ample free disk spac Looking to improve P2P efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: -* Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. -* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of delay-related policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs). To improve efficiencies from peers or a dedicated cache server, a good starting point is 60 seconds for background settings and 30 seconds for foreground settings. +- Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. +- Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of delay-related policies include: + - [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs) + - [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs) + + To improve efficiencies from peers or a dedicated cache server, a good starting point is 60 seconds for background settings and 30 seconds for foreground settings. > [!NOTE] > Not all content types are eligible for P2P. Refer to the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. @@ -171,8 +177,14 @@ Looking to improve P2P efficiency? Some of the most powerful settings you can ch Regardless of P2P, consider setting the following policies to avoid network disruption. -* Manage network usage as a percentage or absolute value. These policies include: [DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). -* Reduce disruptions by throttling differently at different times of day, using the business hours policies, [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) and [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). +- Manage network usage as a percentage or absolute value. These policies include: + - [DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth) + - [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth) + - [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs) + - [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs) +- Reduce disruptions by throttling differently at different times of day, using the following business hours policies: + - [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth) + - [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth). > [!NOTE] > The absolute policies are recommended in low bandwidth environments. @@ -181,10 +193,10 @@ Regardless of P2P, consider setting the following policies to avoid network disr :::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: -* [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* -* [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. -* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#2d-improve-p2p-efficiency) section above). -* [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. +- [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. *Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed.* +- [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. +- [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in [Improve P2P efficiency](#2d-improve-p2p-efficiency) section above). +- [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. ## 4. Choose where to set Delivery Optimization policies @@ -204,15 +216,15 @@ Use MDM to manage Delivery Optimization settings here, Delivery Optimization is integrated with both Microsoft Endpoint Manager and Configuration Manager. -* [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) -* [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) +- [Microsoft Endpoint Manager (MEM)](/mem/intune/configuration/delivery-optimization-windows) +- [Microsoft Endpoint Configuration Manager (MECM)](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) ## Summary of basic configuration recommendations | Use case | Policy | Recommended value | | ----- | ----- | ----------------- | | Use P2P | DownloadMode | 1 or 2 | -| Do not use P2P | DownloadMode | 0 | +| Don't use P2P | DownloadMode | 0 | | Number of devices in the organization | MinFileSizeToCache | 1 MB for peer group > 100 devices | | Idle system resources | MaxCacheAge | 7 days (604800 seconds) | | Improve P2P efficiency | MinBackgroundQoS and DelayBackgroundDownloadFromHttp / DelayForegroundDownloadFromHttp | 500 KB/s and 60/30 seconds | @@ -220,11 +232,11 @@ Delivery Optimization is integrated with both Microsoft Endpoint Manager and Con ## Monitor Delivery Optimization -Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you will want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. +Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you'll want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. ## Troubleshoot Delivery Optimization -There could be many different reasons why Delivery Optimization is not working in your environment. [Learn more](delivery-optimization-troubleshoot.md) about the DO Troubleshooter and common problems and solutions to help improve the experience of using Delivery Optimization. +There could be many different reasons why Delivery Optimization isn't working in your environment. [Learn more](delivery-optimization-troubleshoot.md) about the DO Troubleshooter and common problems and solutions to help improve the experience of using Delivery Optimization. ## Test Delivery Optimization From 20da276fa120de2a1d408fe5a7d8b36184d13e0c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:55:10 -0700 Subject: [PATCH 305/354] formatting and wording tweaks --- .../deployment/do/delivery-optimization-troubleshoot.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-troubleshoot.md b/windows/deployment/do/delivery-optimization-troubleshoot.md index 1c9186808c..5ade7e311f 100644 --- a/windows/deployment/do/delivery-optimization-troubleshoot.md +++ b/windows/deployment/do/delivery-optimization-troubleshoot.md @@ -16,14 +16,16 @@ appliesto: - ✅ Windows 11 - ✅ Windows 10 - ✅ Delivery Optimization -ms.date: 07/01/2024 +ms.date: 07/23/2024 --- # Troubleshoot Delivery Optimization +This article discusses how to troubleshoot Delivery Optimization. + ## DO Troubleshooter -[Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: +[Check out](https://aka.ms/do-fix) for the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: - -HealthCheck: Provides an overall check of the device setup to ensure Delivery Optimization communication is possible on the device. - -P2P: Provides output specific to P2P settings, efficiency, and errors. @@ -35,7 +37,7 @@ 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: +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. From 10ae1ff6b089e62b985bedb5e09e1e8ca760ab5c Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Tue, 23 Jul 2024 13:32:55 -0600 Subject: [PATCH 306/354] Remove a heading and add details under another. --- .../deployment/do/delivery-optimization-configure.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 21bf94bf8a..e3546abb50 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -80,22 +80,22 @@ There are a range of [Delivery Optimization settings](waas-delivery-optimization Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings used will depend on your desired peer group(s) and your network topology.* -#### Peering setup +#### Peering setup options -##### Define peer groups +Delivery Optimization can use P2P to help improve bandwidth efficiencies. The section outlines the different options available to define peer groups for your environment. -###### Local area network (LAN) +##### Local area network (LAN) To define a peer group limited to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This download mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. > [!NOTE] > Consider using Group download mode and/or limiting peer selection to the subnet if your network topology is a Hub and Spoke. -###### Wide area network (WAN) +##### Wide area network (WAN) To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use download mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing logical groupings (e.g. AD Site) in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. -###### GroupIDSource default behavior +##### GroupIDSource default behavior There are several options for identifying your Group ID using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [DOGroupID](waas-delivery-optimization-reference.md#group-id) or [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies aren't set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). [Learn more](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) about all DOGroupIDSource available options. @@ -104,7 +104,7 @@ There are several options for identifying your Group ID using the [DOGroupIDSour > > For Configuration Manager users, we recommend leveraging existing [boundary groups](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization) to define the peer groups. -###### Restrict peer selection +##### Restrict peer selection If your environment requires a more granular approach, you can use the restrict peer discovery setting alongside the download mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection) (Subnet). This setting can be used with any of the peer-related download modes (1, 2, or 3). From 8d862477159909624894c1daaca556c2e9d7826b Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 23 Jul 2024 12:39:53 -0700 Subject: [PATCH 307/354] Update link names --- .../basic-level-windows-diagnostic-events-and-fields-1809.md | 2 +- .../required-diagnostic-events-fields-windows-11-22H2.md | 2 +- .../privacy/required-windows-11-diagnostic-events-and-fields.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index dcc02b4101..92ce858c06 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -29,7 +29,7 @@ You can learn more about Windows functional and diagnostic data through these ar - [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) - [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) +- [Required diagnostic events and fields for Windows 10, versions 22H2 and 21H2](required-windows-diagnostic-data-events-and-fields-2004.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) diff --git a/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md b/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md index 59e5b2137c..97d13f6d72 100644 --- a/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md +++ b/windows/privacy/required-diagnostic-events-fields-windows-11-22H2.md @@ -29,7 +29,7 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: - [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) +- [Required diagnostic events and fields for Windows 10, versions 22H2 and 21H2](required-windows-diagnostic-data-events-and-fields-2004.md) - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) diff --git a/windows/privacy/required-windows-11-diagnostic-events-and-fields.md b/windows/privacy/required-windows-11-diagnostic-events-and-fields.md index 533c2d7770..15649caaf5 100644 --- a/windows/privacy/required-windows-11-diagnostic-events-and-fields.md +++ b/windows/privacy/required-windows-11-diagnostic-events-and-fields.md @@ -29,7 +29,7 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: - [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) +- [Required diagnostic events and fields for Windows 10, versions 22H2 and 21H2](required-windows-diagnostic-data-events-and-fields-2004.md) - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) From e61bdf8db2044656aba6b22a5c544b4e8a7d9fb7 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 23 Jul 2024 13:39:24 -0700 Subject: [PATCH 308/354] redirect waas-delivery-optimization-setup to delivery-optimization-configure --- .openpublishing.redirection.windows-deployment.json | 5 +++++ windows/deployment/TOC.yml | 2 +- windows/deployment/do/delivery-optimization-test.md | 6 +++--- .../deployment/do/waas-delivery-optimization-reference.md | 2 +- windows/deployment/do/waas-delivery-optimization.md | 4 ++-- windows/deployment/index.yml | 6 +++--- windows/deployment/update/waas-quick-start.md | 2 +- windows/deployment/update/wufb-reports-do.md | 2 +- windows/deployment/update/wufb-reports-faq.yml | 2 +- 9 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index 9fe31073d2..3345b69500 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1185,6 +1185,11 @@ "redirect_url": "/windows/compatibility/", "redirect_document_id": false }, + { + "source_path": "windows/deployment/do/waas-delivery-optimization-setup.md", + "redirect_url": "/windows/deployment/do/delivery-optimization-configure", + "redirect_document_id": false + }, { "source_path": "windows/deployment/update/plan-determine-app-readiness.md", "redirect_url": "/windows/compatibility/windows-11/testing-guidelines", diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 339f7151c3..83bd0aad84 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -74,7 +74,7 @@ - name: Update Baseline href: update/update-baseline.md - name: Set up Delivery Optimization for Windows client updates - href: do/waas-delivery-optimization-setup.md?context=/windows/deployment/context/context + href: do/delivery-optimization-configure.md?context=/windows/deployment/context/context - name: Configure BranchCache for Windows client updates href: update/waas-branchcache.md - name: Prepare for deployment with Configuration Manager diff --git a/windows/deployment/do/delivery-optimization-test.md b/windows/deployment/do/delivery-optimization-test.md index 8ae1791776..a9f607038c 100644 --- a/windows/deployment/do/delivery-optimization-test.md +++ b/windows/deployment/do/delivery-optimization-test.md @@ -14,7 +14,7 @@ appliesto: - ✅ Windows 11 - ✅ Windows 10 - ✅ Delivery Optimization -ms.date: 11/08/2022 +ms.date: 07/23/2024 --- # Testing Delivery Optimization @@ -31,7 +31,7 @@ One of the most powerful advantages of using Delivery Optimization is the abilit ## Monitoring the Results -Since Delivery Optimization is on by default, you're able to monitor the value either through the Windows Settings for 'Delivery Optimization' using Delivery Optimization PowerShell [cmdlets.](waas-delivery-optimization-setup.md), and/or via the [Windows Update for Business Report](../update/wufb-reports-workbook.md) experience in Azure. +Since Delivery Optimization is on by default, you're able to monitor the value either through the Windows Settings for 'Delivery Optimization' using Delivery Optimization PowerShell [cmdlets.](waas-delivery-optimization-reference.md), and/or via the [Windows Update for Business Report](../update/wufb-reports-workbook.md) experience in Azure. In the case where Delivery Optimization isn't working in your environment, it's important to investigate to get to the root of the problem. We recommend a test environment be created to easily evaluate typical devices to ensure Delivery Optimization is working properly. For starters, 'Scenario 1: Basic Setup' should be created to test the use of Delivery Optimization between two machines. This scenario is designed to eliminate any noise in the environment to ensure there's nothing preventing Delivery Optimization from working on the devices. Once you have a baseline, you can expand the test environment for more sophisticated tests. @@ -221,4 +221,4 @@ Using Delivery Optimization can help make a significant impact in customer envir The testing scenarios found in this document help to show a controlled test environment, helping to prevent updates from interrupting the peering results. The other, a more real-world case, demonstrates how content available across peers will be used as the source of the content. -If there are issues found while testing, the Delivery Optimization PowerShell [cmdlets](waas-delivery-optimization-setup.md) can be a helpful tool to help explain what is happening in the environment. +If there are issues found while testing, the Delivery Optimization PowerShell [cmdlets](waas-delivery-optimization-reference.md) can be a helpful tool to help explain what is happening in the environment. diff --git a/windows/deployment/do/waas-delivery-optimization-reference.md b/windows/deployment/do/waas-delivery-optimization-reference.md index 904981a5fa..35e52815bd 100644 --- a/windows/deployment/do/waas-delivery-optimization-reference.md +++ b/windows/deployment/do/waas-delivery-optimization-reference.md @@ -21,7 +21,7 @@ ms.date: 05/23/2024 > **Looking for Group Policy objects?** See [Delivery Optimization reference](waas-delivery-optimization-reference.md) or the main spreadsheet available at the Download Center [for Windows 11](https://www.microsoft.com/en-us/download/details.aspx?id=104594) or [for Windows 10](https://www.microsoft.com/en-us/download/details.aspx?id=104678). -There are many configuration options you can set in Delivery Optimization to customize the content delivery experience specific to your environment needs. This article summarizes those configurations for your reference. If you just need an overview of Delivery Optimization, see [What is Delivery Optimization](waas-delivery-optimization.md). If you need information about setting up Delivery Optimization, including tips for the best settings in different scenarios, see [Set up Delivery Optimization for Windows](waas-delivery-optimization-setup.md). +There are many configuration options you can set in Delivery Optimization to customize the content delivery experience specific to your environment needs. This article summarizes those configurations for your reference. If you just need an overview of Delivery Optimization, see [What is Delivery Optimization](waas-delivery-optimization.md). If you need information about setting up Delivery Optimization, including tips for the best settings in different scenarios, see [Set up Delivery Optimization for Windows](delivery-optimization-configure.md). ## Delivery Optimization options diff --git a/windows/deployment/do/waas-delivery-optimization.md b/windows/deployment/do/waas-delivery-optimization.md index 133945930d..d1f7e5365c 100644 --- a/windows/deployment/do/waas-delivery-optimization.md +++ b/windows/deployment/do/waas-delivery-optimization.md @@ -28,7 +28,7 @@ To use either the peer-to-peer functionality or the Microsoft Connected Cache fe You can use Delivery Optimization with Windows Update, Windows Server Update Services (WSUS), Microsoft Intune/Windows Update for Business, or Microsoft Configuration Manager (when installation of Express Updates is enabled). -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). +For information about setting up Delivery Optimization, including tips for the best settings in different scenarios, see [Set up Delivery Optimization](delivery-optimization-configure.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](../update/waas-branchcache.md) for content sharing and caching. If Delivery Optimization is enabled on devices that use BranchCache, Delivery Optimization will be used instead. @@ -98,7 +98,7 @@ To gain a deeper understanding of the Delivery Optimization client-service commu ## Set up Delivery Optimization for Windows -[Learn more](waas-delivery-optimization-setup.md) about the Delivery Optimization settings to ensure proper setup in your environment. +[Learn more](delivery-optimization-configure.md) about the Delivery Optimization settings to ensure proper setup in your environment. ## Delivery Optimization reference diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index 3f5ea288b1..f80740b19a 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -27,7 +27,7 @@ landingContent: - linkListType: concept links: - text: Plan for Windows 11 - url: /windows/whats-new/windows-11-plan?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + url: /windows/whats-new/windows-11-plan?context=/windows/deployment/context/context - text: Create a deployment plan url: update/create-deployment-plan.md - text: Define readiness criteria @@ -44,7 +44,7 @@ landingContent: - linkListType: get-started links: - text: Prepare for Windows 11 - url: /windows/whats-new/windows-11-prepare?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + url: /windows/whats-new/windows-11-prepare?context=/windows/deployment/context/context - text: Prepare to deploy Windows updates url: update/prepare-deploy-windows.md - text: Prepare updates using Windows Update for Business @@ -52,7 +52,7 @@ landingContent: - text: Evaluate and update infrastructure url: update/update-policies.md - text: Set up Delivery Optimization for Windows client updates - url: do/waas-delivery-optimization-setup.md?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json + url: do/delivery-optimization-configure.md?context=/windows/deployment/context/context - text: Prepare for imaging with Configuration Manager url: deploy-windows-cm/prepare-for-zero-touch-installation-of-windows-10-with-configuration-manager.md diff --git a/windows/deployment/update/waas-quick-start.md b/windows/deployment/update/waas-quick-start.md index d9c09992b1..aeab88c922 100644 --- a/windows/deployment/update/waas-quick-start.md +++ b/windows/deployment/update/waas-quick-start.md @@ -50,4 +50,4 @@ Extensive advanced testing isn't required. Instead, only business-critical apps This process repeats with each new feature update. These are small deployment projects, compared to the large projects that were necessary with the old three-to-five-year Windows release cycles. -Other technologies such as [BranchCache](waas-branchcache.md) and [Delivery Optimization](../do/waas-delivery-optimization-setup.md), both peer-to-peer distribution tools, can help with the distribution of the feature update installation files. +Other technologies such as [BranchCache](waas-branchcache.md) and [Delivery Optimization](../do/delivery-optimization-configure.md), both peer-to-peer distribution tools, can help with the distribution of the feature update installation files. diff --git a/windows/deployment/update/wufb-reports-do.md b/windows/deployment/update/wufb-reports-do.md index eca5fbdfa8..cf51c144db 100644 --- a/windows/deployment/update/wufb-reports-do.md +++ b/windows/deployment/update/wufb-reports-do.md @@ -188,7 +188,7 @@ A row in UCDOAggregatedStatus represents data summarized at the tenant level (Az If there's a Connected Cache server at the ISP level, BytesFromCache filters out any bytes coming the ISP's Connected Cache. - **How do the results from the Delivery Optimization PowerShell cmdlets compare to the results in the report?** -[Delivery Optimization PowerShell cmdlets](waas-delivery-optimization-setup.md#monitor-delivery-optimization) can be a powerful tool used to monitor Delivery Optimization data on the device. These cmdlets use the cache on the device. The data calculated in the report is taken from the Delivery Optimization telemetry events. +[Delivery Optimization PowerShell cmdlets](waas-delivery-optimization-reference.md) can be a powerful tool used to monitor Delivery Optimization data on the device. These cmdlets use the cache on the device. The data calculated in the report is taken from the Delivery Optimization telemetry events. - **The report represents the last 28 days of data, why do some queries include >= seven days?** The data in the report does represent the last 28 days of data. The query for last seven days is just to get the data for the latest snapshot from past seven days. It's possible that data is delayed for sometime and not available for current day, so we look for past 7 day snapshot in log analytics and show the latest snapshot. diff --git a/windows/deployment/update/wufb-reports-faq.yml b/windows/deployment/update/wufb-reports-faq.yml index 6bb4fce480..35d2866de7 100644 --- a/windows/deployment/update/wufb-reports-faq.yml +++ b/windows/deployment/update/wufb-reports-faq.yml @@ -183,7 +183,7 @@ sections: If there's a Connected Cache server at the ISP level, BytesFromCache filters out any bytes coming the ISP's Connected Cache. - question: How do the results from the Delivery Optimization PowerShell cmdlets compare to the results in the report? answer: | - [Delivery Optimization PowerShell cmdlets](waas-delivery-optimization-setup.md#monitor-delivery-optimization) can be a powerful tool used to monitor Delivery Optimization data on the device. These cmdlets use the cache on the device. The data calculated in the report is taken from the Delivery Optimization events. + [Delivery Optimization PowerShell cmdlets](waas-delivery-optimization-reference.md) can be a powerful tool used to monitor Delivery Optimization data on the device. These cmdlets use the cache on the device. The data calculated in the report is taken from the Delivery Optimization events. - question: The report represents the last 28 days of data, why do some queries include >= seven days? answer: | The data in the report does represent the last 28 days of data. The query for last seven days is just to get the data for the latest snapshot from past seven days. It's possible that data is delayed for sometime and not available for current day, so we look for past seven day snapshot in log analytics and show the latest snapshot. From 6ebf6675b2b351f23e840bb7ff5c90f5175f4982 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 23 Jul 2024 13:40:03 -0700 Subject: [PATCH 309/354] delete file waas-delivery-optimization-setup.md --- .../do/waas-delivery-optimization-setup.md | 164 ------------------ 1 file changed, 164 deletions(-) delete mode 100644 windows/deployment/do/waas-delivery-optimization-setup.md diff --git a/windows/deployment/do/waas-delivery-optimization-setup.md b/windows/deployment/do/waas-delivery-optimization-setup.md deleted file mode 100644 index 93e5197724..0000000000 --- a/windows/deployment/do/waas-delivery-optimization-setup.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: Set up Delivery Optimization -description: In this article, learn how to set up Delivery Optimization for use by Windows clients in your organization. -ms.service: windows-client -ms.subservice: itpro-updates -ms.topic: how-to -author: cmknox -ms.author: carmenf -ms.reviewer: mstewart -manager: aaroncz -ms.collection: - - tier3 -ms.localizationpriority: medium -appliesto: -- ✅ Windows 11 -- ✅ Windows 10 -- ✅ Delivery Optimization -ms.date: 05/23/2024 ---- - -# Set up Delivery Optimization for Windows - -> **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 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](/mem/intune/configuration/delivery-optimization-windows). - -**Starting with Windows 10, version 1903**, you can use the Microsoft Entra tenant ID as a means to define groups. To set the value for [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) to its new maximum value of 5. - -## Allow service endpoints - -When using a firewall, it's important that the Delivery Optimization Service endpoints are allowed and associated ports are open. For more information, see [Delivery Optimization FAQ](waas-delivery-optimization-faq.yml#what-hostnames-should-i-allow-through-my-firewall-to-support-delivery-optimization). - -## Allow content endpoints - -When using a firewall, it's important that the content endpoints are allowed and associated ports are open. For more information, see [Endpoints for Delivery Optimization and Microsoft Connected Cache content](delivery-optimization-endpoints.md). - -## Recommended Delivery Optimization settings - -Delivery Optimization offers a great many settings to fine-tune its behavior see [Delivery Optimization reference](waas-delivery-optimization-reference.md) for a comprehensive list, but for the most efficient performance, there are just a few key parameters that have the greatest impact if particular situations exist in your deployment. If you just need an overview of Delivery Optimization, see [Delivery Optimization for Windows 10 updates](waas-delivery-optimization.md). - -- Does your topology include multiple breakouts to the internet that is, a "hybrid WAN" or are there only a few connections to the internet, so that all requests appear to come from a single external IP address a "hub and spoke" topology? -- If you use boundary groups in your topology, how many devices are present in a given group? -- What percentage of your devices are mobile? -- Do your devices have a lot of free space on their drives? -- Do you have a lab scenario with many devices on AC power? - -> [!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). - -Quick-reference table: - -| Use case | Policy | Recommended value | Reason | -| --- | --- | --- | --- | -| Hub & spoke topology | Download mode | 1 or 2 | Automatic grouping of peers to match your topology | -| Sites with > 30 devices | Minimum file size to cache | 10 MB (or 1 MB) | Use peers-to-peer capability in more downloads | -| Large number of mobile devices | Allow uploads on battery power | 60% | Increase # of devices that can upload while limiting battery drain | -| Labs with AC-powered devices | Content expiration | 7 (up to 30) days | Leverage devices that can upload more for a longer period | - -### Hybrid WAN scenario - -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, when the GroupID or GroupIDSource policies aren't set, is the AD Site (1), Authenticated domain SID (2) or Microsoft Entra tenant ID (5), in that order. 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 other options for dynamically creating groups, for example by using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policy. - -In Group Policy go to **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Download mode** to **2**. - -Using with MDM, go to **./Device/Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set [DODownloadMode](/windows/client-management/mdm/policy-csp-deliveryoptimization#dodownloadmode) to 1 or 2. - -### Hub and spoke topology with boundary groups - -The default download mode setting is **1**; this means all devices breaking out to the internet using the same public IP is considered as a single peer group. To prevent peer-to-peer activity across your WAN, 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 since the Active Directory sites are used by default as the source for creation of Group IDs. If you're not using Active Directory sites, you should set a different source for Groups by using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) options or the [DORestrictPeerSelectionBy](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection) policy to restrict the activity to the subnet. - -With Group Policy go to **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Download mode** to **2**. - -Using MDM, go to **./Device/Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set [DODownloadMode](/windows/client-management/mdm/policy-csp-deliveryoptimization#dodownloadmode) to **2**. - -> [!NOTE] -> For more information about using Delivery Optimization with Configuration Manager boundary groups, see [Delivery Optimization for Configuration Manager](/mem/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management#delivery-optimization). - -### Large number of mobile devices - -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. - -With 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. - -Using MDM, go to **./Device/Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set [DOMinBatteryPercentageAllowedToUpload](/windows/client-management/mdm/policy-csp-deliveryoptimization#dominbatterypercentageallowedtoupload) to 60. - -### Plentiful free space and large numbers of devices - -Many devices now come with large internal drives. You can set Delivery Optimization to take better advantage of this space (especially if you have large numbers of devices) by changing the minimum file size to cache. If you have more than 30 devices in your local network or group, change it from the default 50 MB to 10 MB. If you have more than 100 devices (and are running Windows 10, version 1803 or later), set this value to 1 MB. - -With 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). - -Using MDM, go to **./Device/Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set [DOMinFileSizeToCache](/windows/client-management/mdm/policy-csp-deliveryoptimization#dominfilesizetocache) to 100 (if you have more than 30 devices) or 1 (if you have more than 100 devices). - -### Lab scenario - -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 more content over a longer period. - -With 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). - -Using MDM, go to **./Device/Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set [DOMaxCacheAge](/windows/client-management/mdm/policy-csp-deliveryoptimization#domaxcacheage) to 7 or more (up to 30 days). - -[Learn more](delivery-optimization-test.md) about Delivery Optimization testing scenarios. - -## 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 [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, download mode should be 1, 2, or 3. -3. If the download mode 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 **\*.prod.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 **[DODownloadMode](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 nonzero. -4. If the number of peers is zero and **[DODownloadMode](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 aren't reporting the same public IP address, configure **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[DOGroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**. - -> [!NOTE] -> Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of potential peers per file, including which peers are successfully connected and the total bytes sent or received from each peer. - -### 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're 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'll 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 From 483c9bb734ffb40a62e352cfc8d99b4dd7dc5d4f Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:30:58 -0700 Subject: [PATCH 310/354] Remove md files being "archived"/add redirections --- .openpublishing.redirection.json | 2 +- ...ing.redirection.windows-configuration.json | 12 +- ...ublishing.redirection.windows-privacy.json | 97 +- ...ndows-diagnostic-events-and-fields-1703.md | 6416 ---------- ...ndows-diagnostic-events-and-fields-1709.md | 6543 ---------- ...ndows-diagnostic-events-and-fields-1803.md | 8235 ------------ ...ndows-diagnostic-events-and-fields-1903.md | 10580 ---------------- ...s-to-windows-diagnostic-data-collection.md | 96 - .../privacy/manage-windows-1903-endpoints.md | 183 - .../privacy/manage-windows-1909-endpoints.md | 133 - .../privacy/manage-windows-2004-endpoints.md | 135 - .../privacy/manage-windows-20H2-endpoints.md | 151 - .../privacy/manage-windows-21H1-endpoints.md | 153 - .../privacy/windows-diagnostic-data-1703.md | 117 - ...-endpoints-1809-non-enterprise-editions.md | 157 - ...-endpoints-1903-non-enterprise-editions.md | 267 - ...-endpoints-1909-non-enterprise-editions.md | 205 - ...-endpoints-2004-non-enterprise-editions.md | 196 - ...-endpoints-20H2-non-enterprise-editions.md | 256 - ...-endpoints-21H1-non-enterprise-editions.md | 250 - 20 files changed, 98 insertions(+), 34086 deletions(-) delete mode 100644 windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md delete mode 100644 windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md delete mode 100644 windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md delete mode 100644 windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md delete mode 100644 windows/privacy/changes-to-windows-diagnostic-data-collection.md delete mode 100644 windows/privacy/manage-windows-1903-endpoints.md delete mode 100644 windows/privacy/manage-windows-1909-endpoints.md delete mode 100644 windows/privacy/manage-windows-2004-endpoints.md delete mode 100644 windows/privacy/manage-windows-20H2-endpoints.md delete mode 100644 windows/privacy/manage-windows-21H1-endpoints.md delete mode 100644 windows/privacy/windows-diagnostic-data-1703.md delete mode 100644 windows/privacy/windows-endpoints-1809-non-enterprise-editions.md delete mode 100644 windows/privacy/windows-endpoints-1903-non-enterprise-editions.md delete mode 100644 windows/privacy/windows-endpoints-1909-non-enterprise-editions.md delete mode 100644 windows/privacy/windows-endpoints-2004-non-enterprise-editions.md delete mode 100644 windows/privacy/windows-endpoints-20H2-non-enterprise-editions.md delete mode 100644 windows/privacy/windows-endpoints-21H1-non-enterprise-editions.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 31d8d2cd74..f5699b6c99 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1272,7 +1272,7 @@ }, { "source_path": "windows/configure/basic-level-windows-diagnostic-events-and-fields-1703.md", - "redirect_url": "/windows/configuration/basic-level-windows-diagnostic-events-and-fields", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-configuration.json b/.openpublishing.redirection.windows-configuration.json index abeb93b128..777e43019f 100644 --- a/.openpublishing.redirection.windows-configuration.json +++ b/.openpublishing.redirection.windows-configuration.json @@ -2,17 +2,17 @@ "redirections": [ { "source_path": "windows/configuration/basic-level-windows-diagnostic-events-and-fields-1703.md", - "redirect_url": "/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", "redirect_document_id": false }, { "source_path": "windows/configuration/basic-level-windows-diagnostic-events-and-fields-1709.md", - "redirect_url": "/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1709", "redirect_document_id": false }, { "source_path": "windows/configuration/basic-level-windows-diagnostic-events-and-fields.md", - "redirect_url": "/windows/privacy/basic-level-windows-diagnostic-events-and-fields", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { @@ -47,7 +47,7 @@ }, { "source_path": "windows/configuration/gdpr-win10-whitepaper.md", - "redirect_url": "/windows/privacy/gdpr-win10-whitepaper", + "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", "redirect_document_id": false }, { @@ -72,7 +72,7 @@ }, { "source_path": "windows/configuration/manage-windows-endpoints-version-1709.md", - "redirect_url": "/windows/privacy/manage-windows-endpoints", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { @@ -262,7 +262,7 @@ }, { "source_path": "windows/configuration/windows-diagnostic-data-1703.md", - "redirect_url": "/windows/privacy/windows-diagnostic-data-1703", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-diagnostic-data-1703", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-privacy.json b/.openpublishing.redirection.windows-privacy.json index e280e5a7ba..83cc72e3e8 100644 --- a/.openpublishing.redirection.windows-privacy.json +++ b/.openpublishing.redirection.windows-privacy.json @@ -2,7 +2,7 @@ "redirections": [ { "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields.md", - "redirect_url": "/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { @@ -27,27 +27,27 @@ }, { "source_path": "windows/privacy/manage-windows-1709-endpoints.md", - "redirect_url": "/windows/privacy/manage-windows-21h2-endpoints", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-1803-endpoints.md", - "redirect_url": "/windows/privacy/manage-windows-21h2-endpoints", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-endpoints.md", - "redirect_url": "/windows/privacy/manage-windows-2004-endpoints", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-1709-non-enterprise-editions.md", - "redirect_url": "/windows/privacy/windows-endpoints-21h1-non-enterprise-editions", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-1803-non-enterprise-editions.md", - "redirect_url": "/windows/privacy/windows-endpoints-21h1-non-enterprise-editions", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { @@ -59,6 +59,91 @@ "source_path": "windows/privacy/enhanced-diagnostic-data-windows-analytics-events-and-fields.md", "redirect_url": "https://techcommunity.microsoft.com/t5/windows-it-pro-blog/preview-app-and-driver-compatibility-insights-in-endpoint/ba-p/3482136", "redirect_document_id": false + }, + { + "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1709", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1803", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1903", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/manage-windows-1903-endpoints.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-1903-endpoints", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/manage-windows-1909-endpoints.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-1909-endpoints", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/manage-windows-2004-endpoints.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-2004-endpoints", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/manage-windows-20H2-endpoints.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-20H2-endpoints", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/manage-windows-21H1-endpoints.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-21H1-endpoints", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-endpoints-1809-non-enterprise-editions.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-1809-non-enterprise-editions", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-endpoints-1903-non-enterprise-editions.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-1903-non-enterprise-editions", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-endpoints-1909-non-enterprise-editions.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-1909-non-enterprise-editions", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-endpoints-2004-non-enterprise-editions.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-2004-non-enterprise-editions", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-endpoints-20H2-non-enterprise-editions.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-20H2-non-enterprise-editions", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-endpoints-21H1-non-enterprise-editions.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-21H1-non-enterprise-editions", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-diagnostic-data-1703.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-diagnostic-data-1703", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/changes-to-windows-diagnostic-data-collection.md", + "redirect_url": "/previous-versions/windows/it-pro/privacy/changes-to-windows-diagnostic-data-collection", + "redirect_document_id": true } ] } diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md deleted file mode 100644 index 55ed54b6bd..0000000000 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ /dev/null @@ -1,6416 +0,0 @@ ---- -description: Learn more about the Windows 10, version 1703 diagnostic data gathered at the basic level. -title: Windows 10, version 1703 basic diagnostic events and fields (Windows 10) -ms.service: windows-client -ms.subservice: itpro-privacy -localizationpriority: medium -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 03/27/2017 -ms.topic: reference ---- - - -# Windows 10, version 1703 basic level Windows diagnostic events and fields - - **Applies to** - -- Windows 10, version 1703 - - -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. - -The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. - -Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. - -You can learn more about Windows functional and diagnostic data through these articles: - -- [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) -- [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) -- [Windows 10, version 1903 and Windows 10, version 1909 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - - - -## Appraiser events - -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount - -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **DatasourceApplicationFile_RS3** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS3** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS3** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS3** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS3** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS2** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS3** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS3** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS3** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS3** The total number of objects of this type present on this device. -- **InventoryLanguagePack** The total number of objects of this type present on this device. -- **InventorySystemBios** The total number of objects of this type present on this device. -- **PCFP** The total number of objects of this type present on this device. -- **SystemProcessorCompareExchange** The total number of objects of this type present on this device. -- **SystemProcessorNx** The total number of objects of this type present on this device. -- **SystemProcessorPrefetchW** The total number of objects of this type present on this device. -- **SystemProcessorSse2** The total number of objects of this type present on this device. -- **SystemWim** The total number of objects of this type present on this device. -- **SystemWindowsActivationStatus** The total number of objects of this type present on this device. -- **SystemWlan** The total number of objects of this type present on this device. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd - -This event represents the basic metadata about specific application files installed on the system. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **AvDisplayName** If the app is an anti-virus app, this is its display name. -- **CompatModelIndex** The compatibility prediction for this file. -- **HasCitData** Indicates whether the file is present in CIT data. -- **HasUpgradeExe** Indicates whether the anti-virus app has an upgrade.exe file. -- **IsAv** Is the file an anti-virus reporting EXE? -- **ResolveAttempted** This will always be an empty string when sending diagnostic data. -- **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileRemove - -This event indicates that the DatasourceApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync - -This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd - -This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. - -The following fields are available: - -- **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. -- **IsBootCritical** Indicates whether the device boot is critical. -- **SdbEntries** An array of fields indicating the SDB entries that apply to this device. -- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. -- **WuDriverUpdateID** The Update ID of the applicable uplevel driver from Windows Update. -- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. -- **WuPopulatedFromID** The expected uplevel driver matching ID based on driver coverage from Windows Update. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd - -This event sends compatibility database data about driver packages to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove - -This event indicates that the DatasourceDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync - -This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd - -This event sends blocking data about any compatibility blocking entries on the system that are not directly related to specific applications or devices, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove - -This event indicates that the DataSourceMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events has completed being sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd - -This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd - -This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd - -This event sends compatibility database information about the BIOS to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **SdbEntries** An array of fields indicating the SDB entries that apply to this BIOS. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove - -This event indicates that the DatasourceSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync - -This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileAdd - -This event sends compatibility decision data about a file to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **BlockAlreadyInbox** The uplevel runtime block on the file already existed on the current OS. -- **BlockingApplication** Indicates whether there are any application issues that interfere with the upgrade due to the file in question. -- **DisplayGenericMessage** Will be a generic message be shown for this file? -- **HardBlock** This file is blocked in the SDB. -- **HasUxBlockOverride** Does the file have a block that is overridden by a tag in the SDB? -- **MigApplication** Does the file have a MigXML from the SDB associated with it that applies to the current upgrade mode? -- **MigRemoval** Does the file have a MigXML from the SDB that will cause the app to be removed on upgrade? -- **NeedsDismissAction** Will the file cause an action that can be dimissed? -- **NeedsInstallPostUpgradeData** After upgrade, the file will have a post-upgrade notification to install a replacement for the app. -- **NeedsNotifyPostUpgradeData** Does the file have a notification that should be shown after upgrade? -- **NeedsReinstallPostUpgradeData** After upgrade, this file will have a post-upgrade notification to reinstall the app. -- **NeedsUninstallAction** The file must be uninstalled to complete the upgrade. -- **SdbBlockUpgrade** The file is tagged as blocking upgrade in the SDB, -- **SdbBlockUpgradeCanReinstall** The file is tagged as blocking upgrade in the SDB. It can be reinstalled after upgrade. -- **SdbBlockUpgradeUntilUpdate** The file is tagged as blocking upgrade in the SDB. If the app is updated, the upgrade can proceed. -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the SDB. It does not block upgrade. -- **SdbReinstallUpgradeWarn** The file is tagged as needing to be reinstalled after upgrade with a warning in the SDB. It does not block upgrade. -- **SoftBlock** The file is softblocked in the SDB and has a warning. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove - -This event indicates that the DecisionApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileStartSync - -This event indicates that a new set of DecisionApplicationFileAdd events will be sent. This event is used to make compatibility decisions about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpAdd - -This event sends compatibility decision data about a Plug and Play (PNP) device to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? -- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? -- **BlockingDevice** Is this PNP device blocking upgrade? -- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? -- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? -- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? -- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? -- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? -- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? -- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? -- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? -- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? -- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? -- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove - -This event Indicates that the DecisionDevicePnp object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync - -This event indicates that a new set of DecisionDevicePnpAdd events will be sent. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd - -This event sends decision data about driver package compatibility to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? -- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? -- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? -- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? -- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove - -This event indicates that the DecisionDriverPackage object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageStartSync - -The DecisionDriverPackageStartSync event indicates that a new set of DecisionDriverPackageAdd events will be sent. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd - -This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **BlockingApplication** Are there are any application issues that interfere with upgrade due to matching info blocks? -- **DisplayGenericMessage** Will a generic message be shown for this block? -- **NeedsUninstallAction** Does the user need to take an action in setup due to a matching info block? -- **SdbBlockUpgrade** Is a matching info block blocking upgrade? -- **SdbBlockUpgradeCanReinstall** Is a matching info block blocking upgrade, but has the can reinstall tag? -- **SdbBlockUpgradeUntilUpdate** Is a matching info block blocking upgrade but has the until update tag? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove - -This event indicates that the DecisionMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveAdd - -This event sends compatibility decision data about non-blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Are there any application issues that interfere with upgrade due to matching info blocks? -- **MigApplication** Is there a matching info block with a mig for the current mode of upgrade? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove - -This event Indicates that the DecisionMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd - -This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **NeedsInstallPostUpgradeData** Will the file have a notification after upgrade to install a replacement for the app? -- **NeedsNotifyPostUpgradeData** Should a notification be shown for this file after upgrade? -- **NeedsReinstallPostUpgradeData** Will the file have a notification after upgrade to reinstall the app? -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the compatibility database (but is not blocking upgrade). - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove - -This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd - -This event sends decision data about the presence of Windows Media Center, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **BlockingApplication** Is there any application issues that interfere with upgrade due to Windows Media Center? -- **MediaCenterActivelyUsed** If Windows Media Center is supported on the edition, has it been run at least once and are the MediaCenterIndicators are true? -- **MediaCenterIndicators** Do any indicators imply that Windows Media Center is in active use? -- **MediaCenterInUse** Is Windows Media Center actively being used? -- **MediaCenterPaidOrActivelyUsed** Is Windows Media Center actively being used or is it running on a supported edition? -- **NeedsDismissAction** Are there any actions that can be dismissed coming from Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove - -This event indicates that the DecisionMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync - -This event indicates that a new set of DecisionMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd - -This event sends compatibility decision data about the BIOS to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device blocked from upgrade due to a BIOS block? -- **HasBiosBlock** Does the device have a BIOS block? - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove - -This event indicates that the DecisionSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync - -This event indicates that a new set of DecisionSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.EnterpriseScenarioWithDiagTrackServiceRunning - -This event indicates that Appraiser has been triggered to run an enterprise scenario while the DiagTrack service is installed. This event can only be sent if a special flag is used to trigger the enterprise scenario. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.GatedRegChange - -This event sends data about the results of running a set of quick-blocking instructions, to help keep Windows up to date. - -The following fields are available: - -- **NewData** The data in the registry value after the scan completed. -- **OldData** The previous data in the registry value before the scan ran. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **RegKey** The registry key name for which a result is being sent. -- **RegValue** The registry value for which a result is being sent. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd - -This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or be part of an antivirus program. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64. -- **BinFileVersion** An attempt to clean up FileVersion at the client that tries to place the version into 4 octets. -- **BinProductVersion** An attempt to clean up ProductVersion at the client that tries to place the version into 4 octets. -- **BoeProgramId** If there is no entry in Add/Remove Programs, this is the ProgramID that is generated from the file metadata. -- **CompanyName** The company name of the vendor who developed this file. -- **FileId** A hash that uniquely identifies a file. -- **FileVersion** The File version field from the file metadata under Properties -> Details. -- **LinkDate** The date and time that this file was linked on. -- **LowerCaseLongPath** The full file path to the file that was inventoried on the device. -- **Name** The name of the file that was inventoried. -- **ProductName** The Product name field from the file metadata under Properties -> Details. -- **ProductVersion** The Product version field from the file metadata under Properties -> Details. -- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it. -- **Size** The size of the file (in hexadecimal bytes). - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove - -This event indicates that the InventoryApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync - -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd - -This event sends data about the number of language packs installed on the system, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **HasLanguagePack** Indicates whether this device has 2 or more language packs. -- **LanguagePackCount** The number of language packs are installed. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove - -This event indicates that the InventoryLanguagePack object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync - -This event indicates that a new set of InventoryLanguagePackAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterAdd - -This event sends true/false data about decision points used to understand whether Windows Media Center is used on the system, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **EverLaunched** Has Windows Media Center ever been launched? -- **HasConfiguredTv** Has the user configured a TV tuner through Windows Media Center? -- **HasExtendedUserAccounts** Are any Windows Media Center Extender user accounts configured? -- **HasWatchedFolders** Are any folders configured for Windows Media Center to watch? -- **IsDefaultLauncher** Is Windows Media Center the default app for opening music or video files? -- **IsPaid** Is the user running a Windows Media Center edition that implies they paid for Windows Media Center? -- **IsSupported** Does the running OS support Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove - -This event indicates that the InventoryMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync - -This event indicates that a new set of InventoryMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd - -This event sends basic metadata about the BIOS to determine whether it has a compatibility block. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BiosDate** The release date of the BIOS in UTC format. -- **BiosName** The name field from Win32_BIOS. -- **Manufacturer** The manufacturer field from Win32_ComputerSystem. -- **Model** The model field from Win32_ComputerSystem. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove - -This event indicates that the InventorySystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event runs only during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. It is critical in understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BootCritical** Is the driver package marked as boot critical? -- **Build** The build value from the driver package. -- **CatalogFile** The name of the catalog file within the driver package. -- **Class** The device class from the driver package. -- **ClassGuid** The device class unique ID from the driver package. -- **Date** The date from the driver package. -- **Inbox** Is the driver package of a driver that is included with Windows? -- **OriginalName** The original name of the INF file before it was renamed. Generally a path under $WINDOWS.~BT\Drivers\DU. -- **Provider** The provider of the driver package. -- **PublishedName** The name of the INF file after it was renamed. -- **Revision** The revision of the driver package. -- **SignatureStatus** Indicates if the driver package is signed. Unknown = 0, Unsigned = 1, Signed = 2. -- **VersionMajor** The major version of the driver package. -- **VersionMinor** The minor version of the driver package. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove - -This event indicates that the InventoryUplevelDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageStartSync - -This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.RunContext - -This event is sent at the beginning of an appraiser run, the RunContext indicates what should be expected in the following data payload. This event is used with the other Appraiser events to make compatibility decisions to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the currently running version of Appraiser was built. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Context** Indicates what mode Appraiser is running in. Example: Setup or Telemetry. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryAdd - -This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device from upgrade due to memory restrictions? -- **MemoryRequirementViolated** Was a memory requirement violated? -- **pageFile** The current committed memory limit for the system or the current process, whichever is smaller (in bytes). -- **ram** The amount of memory on the device. -- **ramKB** The amount of memory (in KB). -- **virtual** The size of the user-mode portion of the virtual address space of the calling process (in bytes). -- **virtualKB** The amount of virtual memory (in KB). - - -### Microsoft.Windows.Appraiser.General.SystemMemoryRemove - -This event that the SystemMemory object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync - -This event indicates that a new set of SystemMemoryAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd - -This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **CompareExchange128Support** Does the CPU support CompareExchange128? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove - -This event indicates that the SystemProcessorCompareExchange object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync - -This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfAdd - -This event sends data indicating whether the system supports the LAHF & SAHF CPU requirement, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **LahfSahfSupport** Does the CPU support LAHF/SAHF? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove - -This event indicates that the SystemProcessorLahfSahf object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfStartSync - -This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd - -This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **NXDriverResult** The result of the driver used to do a non-deterministic check for NX support. -- **NXProcessorSupport** Does the processor support NX? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove - -This event indicates that the SystemProcessorNx object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxStartSync - -This event indicates that a new set of SystemProcessorNxAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd - -This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **PrefetchWSupport** Does the processor support PrefetchW? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove - -This event indicates that the SystemProcessorPrefetchW object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add - -This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **SSE2ProcessorSupport** Does the processor support SSE2? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove - -This event indicates that the SystemProcessorSse2 object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync - -This event indicates that a new set of SystemProcessorSse2Add events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchAdd - -This event sends data indicating whether the system supports touch, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? -- **MaximumTouches** The maximum number of touch points supported by the device hardware. - - -### Microsoft.Windows.Appraiser.General.SystemTouchRemove - -This event indicates that the SystemTouch object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimAdd - -This event sends data indicating whether the operating system is running from a compressed Windows Imaging Format (WIM) file, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IsWimBoot** Is the current operating system running from a compressed WIM file? -- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. - - -### Microsoft.Windows.Appraiser.General.SystemWimRemove - -This event indicates that the SystemWim object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd - -This event sends data indicating whether the current operating system is activated, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. -- **WindowsNotActivatedDecision** Is the current operating system activated? - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove - -This event indicates that the SystemWindowsActivationStatus object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusStartSync - -This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanAdd - -This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up to date. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? -- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? -- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? -- **WlanExists** Does the device support WLAN at all? -- **WlanModulePresent** Are any WLAN modules present? -- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? - - -### Microsoft.Windows.Appraiser.General.SystemWlanRemove - -This event indicates that the SystemWlan object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanStartSync - -This event indicates that a new set of SystemWlanAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and therefore is making decisions using up-to-date driver coverage information. -- **RunResult** The hresult of the Appraiser diagnostic data run. -- **SendingUtc** Indicates whether the Appraiser client is sending events during the current diagnostic data run. -- **StoreHandleIsNotNull** Obsolete, always set to false -- **TelementrySent** Indicates whether diagnostic data was successfully sent. -- **ThrottlingUtc** Indicates whether the Appraiser client is throttling its output of CUET events to avoid being disabled. This increases runtime but also diagnostic data reliability. -- **Time** The client time of the event. -- **VerboseMode** Indicates if appraiser ran in Verbose mode, which is a test-only mode with extra logging. -- **WhyFullSyncWithoutTablePrefix** Indicates the reason or reasons that a full sync was generated. - - -### Microsoft.Windows.Appraiser.General.WmdrmAdd - -This event sends data about the usage of older digital rights management on the system, to help keep Windows up to date. This data does not indicate the details of the media using the digital rights management, only whether any such files exist. Collecting this data was critical to ensuring the correct mitigation for customers, and should be able to be removed once all mitigations are in place. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Same as NeedsDismissAction. -- **NeedsDismissAction** Indicates if a dismissible message is needed to warn the user about a potential loss of data due to DRM deprecation. -- **WmdrmApiResult** Raw value of the API used to gather DRM state. -- **WmdrmCdRipped** Indicates if the system has any files encrypted with personal DRM, which was used for ripped CDs. -- **WmdrmIndicators** WmdrmCdRipped OR WmdrmPurchased. -- **WmdrmInUse** WmdrmIndicators AND dismissible block in setup was not dismissed. -- **WmdrmNonPermanent** Indicates if the system has any files with non-permanent licenses. -- **WmdrmPurchased** Indicates if the system has any files with permanent licenses. - - -### Microsoft.Windows.Appraiser.General.WmdrmRemove - -This event indicates that the Wmdrm object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.WmdrmStartSync - -The WmdrmStartSync event indicates that a new set of WmdrmAdd events will be sent. This event is used to understand the usage of older digital rights management on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -## Census events - -### Census.App - -This event sends version data about the Apps running on this device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Battery - -This event sends type and capacity data about the battery on the device, as well as the number of connected standby devices in use. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalBatteryCapablities** Represents information about what the battery is capable of doing. -- **InternalBatteryCapacityCurrent** Represents the battery's current fully charged capacity in mWh (or relative). Compare this value to DesignedCapacity  to estimate the battery's wear. -- **InternalBatteryCapacityDesign** Represents the theoretical capacity of the battery when new, in mWh. -- **InternalBatteryNumberOfCharges** Provides the number of battery charges. This is used when creating new products and validating that existing products meets targeted functionality performance. -- **IsAlwaysOnAlwaysConnectedCapable** Represents whether the battery enables the device to be AlwaysOnAlwaysConnected. Boolean value. - - -### Census.Enterprise - -This event sends data about Azure presence, type, and cloud domain use in order to provide an understanding of the use and integration of devices in an enterprise, cloud, and server environment. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AzureOSIDPresent** Represents the field used to identify an Azure machine. -- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. -- **CDJType** Represents the type of cloud domain joined for the machine. -- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. -- **ContainerType** The type of container, such as process or virtual machine hosted. -- **HashedDomain** The hashed representation of the user domain used for login. -- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (Azure AD) tenant? true/false -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an enterprise Configuration Manager environment. -- **ServerFeatures** Represents the features installed on a Windows Server. This can be used by developers and administrators who need to automate the process of determining the features installed on a set of server computers. -- **SystemCenterID** The Configuration Manager ID is an anonymized one-way hash of the Active Directory Organization identifier. - - -### Census.Firmware - -This event sends data about the BIOS and startup embedded in the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FirmwareManufacturer** Represents the manufacturer of the device's firmware (BIOS). -- **FirmwareReleaseDate** Represents the date the current firmware was released. -- **FirmwareType** Represents the firmware type. The various types can be unknown, BIOS, UEFI. -- **FirmwareVersion** Represents the version of the current firmware. - - -### Census.Flighting - -This event sends Windows Insider data from customers participating in improvement testing and feedback programs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceSampleRate** The telemetry sample rate assigned to the device. -- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. -- **FlightIds** A list of the different Windows Insider builds on this device. -- **FlightingBranchName** The name of the Windows Insider branch currently used by the device. -- **IsFlightsDisabled** Represents if the device is participating in the Windows Insider program. -- **MSA_Accounts** Represents a list of hashed IDs of the Microsoft Accounts that are flighting (pre-release builds) on this device. -- **SSRK** Retrieves the mobile targeting settings. - - -### Census.Hardware - -This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActiveMicCount** The number of active microphones attached to the device. -- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. -- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. -- **DeviceColor** Indicates a color of the device. -- **DeviceForm** Indicates the form as per the device classification. -- **DeviceName** The device name that is set by the user. -- **DigitizerSupport** Is a digitizer supported? -- **DUID** The device unique ID. -- **InventoryId** The device ID used for compatibility testing. -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. -- **SoCName** The firmware manufacturer of the device. -- **StudyID** Used to identify retail and non-retail device. -- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. -- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. -- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. -- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? - - -### Census.Memory - -This event sends data about the memory on the device, including ROM and RAM. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **TotalPhysicalRAM** Represents the physical memory (in MB). -- **TotalVisibleMemory** Represents the memory that is not reserved by the system. - - -### Census.Network - -This event sends data about the mobile and cellular network used by the device (mobile service provider, network, device ID, and service cost factors). The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. -- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time -- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. -- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). -- **InstallLanguage** The first language installed on the user machine. -- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. -- **IsEduData** Returns Boolean if the education data policy is enabled. -- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go -- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. -- **LanguagePacks** The list of language packages installed on the device. -- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. -- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. -- **OSEdition** Retrieves the version of the current OS. -- **OSInstallDateTime** Retrieves the date the OS was installed using ISO 8601 (Date part) == yyyy-mm-dd -- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc. -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivationResult** Returns Boolean if the OS Activation was successful. -- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. -- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. -- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. -- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. -- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. -- **ServiceProductKeyID** Retrieves the License key of the KMS -- **SharedPCMode** Returns Boolean for devices that have enabled the configuration EnableSharedPCMode. -- **Signature** Retrieves if it is a signature machine sold by Microsoft store. -- **SLICStatus** Whether a SLIC table exists on the device. -- **SLICVersion** Returns OS type/version from SLIC table. - - -### Census.Processor - -This event sends data about the processor. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. -- **ProcessorCores** Retrieves the number of cores in the processor. -- **ProcessorIdentifier** The processor identifier of a manufacturer. -- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. -- **ProcessorModel** Retrieves the name of the processor model. -- **ProcessorPhysicalCores** Number of physical cores in the processor. -- **SocketCount** Number of physical CPU sockets of the machine. - - -### Census.Security - -This event provides information about security settings. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Census.Speech - -This event is used to gather basic speech settings on the device. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AboveLockEnabled** Cortana setting that represents if Cortana can be invoked when the device is locked. -- **GPAllowInputPersonalization** Indicates if a Group Policy setting has enabled speech functionalities. -- **HolographicSpeechInputDisabled** Holographic setting that represents if the attached HMD devices have speech functionality disabled by the user. -- **HolographicSpeechInputDisabledRemote** Indicates if a remote policy has disabled speech functionalities for the HMD devices. -- **KWSEnabled** Cortana setting that represents if a user has enabled the "Hey Cortana" keyword spotter (KWS). -- **MDMAllowInputPersonalization** Indicates if an MDM policy has enabled speech functionalities. -- **RemotelyManaged** Indicates if the device is being controlled by a remote administrator (MDM or Group Policy) in the context of speech functionalities. -- **SpeakerIdEnabled** Cortana setting that represents if keyword detection has been trained to try to respond to a single user's voice. -- **SpeechServicesEnabled** Windows setting that represents whether a user is opted-in for speech services on the device. - - -### Census.Storage - -This event sends data about the total capacity of the system volume and primary disk. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PrimaryDiskTotalCapacity** Retrieves the amount of disk space on the primary disk of the device in MB. -- **PrimaryDiskType** Retrieves an enumerator value of type STORAGE_BUS_TYPE that indicates the type of bus to which the device is connected. This should be used to interpret the raw device properties at the end of this structure (if any). -- **SystemVolumeTotalCapacity** Retrieves the size of the partition that the System volume is installed on in MB. - - -### Census.Userdefault - -This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultApp** The current user's default program selected for the following extension or protocol: .html, .htm, .jpg, .jpeg, .png, .mp3, .mp4, .mov, .pdf. -- **DefaultBrowserProgId** The ProgramId of the current user's default browser. - - -### Census.UserDisplay - -This event sends data about the logical/physical display size, resolution and number of internal/external displays, and VRAM on the system. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalPrimaryDisplayLogicalDPIX** Retrieves the logical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayLogicalDPIY** Retrieves the logical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIX** Retrieves the physical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIY** Retrieves the physical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayResolutionHorizontal** Retrieves the number of pixels in the horizontal direction of the internal display. -- **InternalPrimaryDisplayResolutionVertical** Retrieves the number of pixels in the vertical direction of the internal display. -- **InternalPrimaryDisplaySizePhysicalH** Retrieves the physical horizontal length of the display in mm. Used for calculating the diagonal length in inches . -- **InternalPrimaryDisplaySizePhysicalY** Retrieves the physical vertical length of the display in mm. Used for calculating the diagonal length in inches -- **InternalPrimaryDisplayType** Represents the type of technology used in the monitor, such as Plasma, LED, LCOS, etc. -- **NumberofExternalDisplays** Retrieves the number of external displays connected to the machine -- **NumberofInternalDisplays** Retrieves the number of internal displays in a machine. -- **VRAMDedicated** Retrieves the video RAM in MB. -- **VRAMDedicatedSystem** Retrieves the amount of memory on the dedicated video card. -- **VRAMSharedSystem** Retrieves the amount of RAM memory that the video card can use. - - -### Census.UserNLS - -This event sends data about the default app language, input, and display language preferences set by the user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultAppLanguage** The current user Default App Language. -- **DisplayLanguage** The current user preferred Windows Display Language. -- **HomeLocation** The current user location, which is populated using GetUserGeoId() function. -- **KeyboardInputLanguages** The Keyboard input languages installed on the device. -- **SpeechInputLanguages** The Speech Input languages installed on the device. - - -### Census.VM - -This event sends data indicating whether virtualization is enabled on the device, and its various characteristics. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. -- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. -- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **OSRollbackCount** The number of times feature updates have rolled back on the device. -- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. -- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . -- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. -- **UninstallActive** A flag that represents when a device has uninstalled a previous upgrade recently. -- **UpdateServiceURLConfigured** Retrieves if the device is managed by Windows Server Update Services (WSUS). -- **WUDeferUpdatePeriod** Retrieves if deferral is set for Updates. -- **WUDeferUpgradePeriod** Retrieves if deferral is set for Upgrades. -- **WUDODownloadMode** Retrieves whether DO is turned on and how to acquire/distribute updates Delivery Optimization (DO) allows users to deploy previously downloaded Windows Update (WU) updates to other devices on the same network. -- **WUMachineId** Retrieves the Windows Update (WU) Machine Identifier. -- **WUPauseState** Retrieves Windows Update setting to determine if updates are paused. -- **WUServer** Retrieves the HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default). - - -### Census.Xbox - -This event sends data about the Xbox Console, such as Serial Number and DeviceId, to help keep Windows up to date. - -The following fields are available: - -- **XboxConsolePreferredLanguage** Retrieves the preferred language selected by the user on Xbox console. -- **XboxConsoleSerialNumber** Retrieves the serial number of the Xbox console. -- **XboxLiveDeviceId** Retrieves the unique device ID of the console. -- **XboxLiveSandboxId** Retrieves the developer sandbox ID if the device is internal to Microsoft. - - -## Common data extensions - -### Common Data Extensions.app - -Describes the properties of the running application. This extension could be populated by a client app or a web app. - -The following fields are available: - -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **env** The environment from which the event was logged. -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **userId** The userID as known by the application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.container - -Describes the properties of the container for events logged within a container. - -The following fields are available: - -- **localId** The device ID as known by the client. -- **osVer** The operating system version. -- **type** The container type. Examples: Process or VMHost - - -### Common Data Extensions.cs - -Describes properties related to the schema of the event. - -The following fields are available: - -- **sig** A common schema signature that identifies new and modified event schemas. - - -### Common Data Extensions.device - -Describes the device-related fields. - -The following fields are available: - -- **deviceClass** Represents the classification of the device, the device “family”. For example, Desktop, Server, or Mobile. -- **localId** Represents a locally defined unique ID for the device, not the human readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId - - -### Common Data Extensions.Envelope - -Represents an envelope that contains all of the common data extensions. - -The following fields are available: - -- **appId** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **appVer** Represents the version number of the application. Used to understand errors by version and usage by version across an app. -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related telemetry events across component boundaries. -- **data** Represents the optional unique diagnostic data for a particular event schema. -- **epoch** ID used to help distinguish events in the sequence by indicating the current boot session. -- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). -- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). -- **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). -- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). -- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). -- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). -- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). -- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **iKey** Represents an ID for applications or other logical groupings of events. -- **name** Represents the uniquely qualified name for the event. -- **os** The operating system name. -- **osVer** The operating system version. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **seqNum** Used to track the absolute order of uploaded events. -- **tags** A header for semi-managed extensions. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.os - -Describes some properties of the operating system. - -The following fields are available: - -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. - - -### Common Data Extensions.user - -Describes the fields related to a user. - -The following fields are available: - -- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.utc - -Describes the properties that could be populated by a logging library on Windows. - -The following fields are available: - -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence -- **op** Represents the ETW Op Code. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. -- **tickets** An array of strings that refer back to a key in the X-Tickets http header that the client uploaded along with a batch of events. - - -### Common Data Extensions.xbl - -Describes the fields that are related to XBOX Live. - -The following fields are available: - -- **claims** Any additional claims whose short claim name hasn't been added to this structure. -- **did** XBOX device ID -- **dty** XBOX device type -- **dvr** The version of the operating system on the device. -- **eid** A unique ID that represents the developer entity. -- **exp** Expiration time -- **ip** The IP address of the client device. -- **nbf** Not before time -- **pid** A comma separated list of PUIDs listed as base10 numbers. -- **sbx** XBOX sandbox identifier -- **sid** The service instance ID. -- **sty** The service type. -- **tid** The XBOX Live title ID. -- **tvr** The XBOX Live title version. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. -- **xid** A list of base10-encoded XBOX User IDs. - - -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - -## Component-based Servicing events - -### CbsServicingProvider.CbsCapabilitySessionFinalize - -This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. The data collected with this event is used to help keep Windows up to date. - - - -### CbsServicingProvider.CbsCapabilitySessionPended - -This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. - - - -### CbsServicingProvider.CbsQualityUpdateInstall - -This event reports on the performance and reliability results of installing Servicing content from Windows Update to keep Windows up to date. - - - -### CbsServicingProvider.CbsSelectableUpdateChangeV2 - -This event reports the results of enabling or disabling optional Windows Content to keep Windows up to date. - -The following fields are available: - -- **applicableUpdateState** Indicates the highest applicable state of the optional content. -- **buildVersion** The build version of the package being installed. -- **clientId** The name of the application requesting the optional content change. -- **downloadSource** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **downloadtimeInSeconds** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **executionID** A unique ID used to identify events associated with a single servicing operation and not reused for future operations. -- **executionSequence** A counter that tracks the number of servicing operations attempted on the device. -- **firstMergedExecutionSequence** The value of a pervious executionSequence counter that is being merged with the current operation, if applicable. -- **firstMergedID** A unique ID of a pervious servicing operation that is being merged with this operation, if applicable. -- **hrDownloadResult** The return code of the download operation. -- **hrStatusUpdate** The return code of the servicing operation. -- **identityHash** A pseudonymized (hashed) identifier for the Windows Package that is being installed or uninstalled. -- **initiatedOffline** Indicates whether the operation was performed against an offline Windows image file or a running instance of Windows. -- **majorVersion** The major version of the package being installed. -- **minorVersion** The minor version of the package being installed. -- **packageArchitecture** The architecture of the package being installed. -- **packageLanguage** The language of the package being installed. -- **packageName** The name of the package being installed. -- **rebootRequired** Indicates whether a reboot is required to complete the operation. -- **revisionVersion** The revision number of the package being installed. -- **stackBuild** The build number of the servicing stack binary performing the installation. -- **stackMajorVersion** The major version number of the servicing stack binary performing the installation. -- **stackMinorVersion** The minor version number of the servicing stack binary performing the installation. -- **stackRevision** The revision number of the servicing stack binary performing the installation. -- **updateName** The name of the optional Windows Operation System feature being enabled or disabled. -- **updateStartState** A value indicating the state of the optional content before the operation started. -- **updateTargetState** A value indicating the desired state of the optional content. - - -## Content Delivery Manager events - -### Microsoft.Windows.ContentDeliveryManager.ProcessCreativeEvent - -This event sends tracking data about the reliability of interactions with Windows spotlight content, to help keep Windows up to date. - -The following fields are available: - -- **creativeId** A serialized string containing the ID of the offer being rendered, the ID of the current rotation period, the ID of the surface/ring/market combination, the offer index in the current branch, the ID of the batch, the rotation period length, and the expiration timestamp. -- **eventToken** In there are multiple item offers, such as Start tiles, this indicates which tile the event corresponds to. -- **eventType** A code that indicates the type of creative event, such a impression, click, positive feedback, negative feedback, etc. -- **placementId** Name of surface, such as LockScreen or Start. - - -### Microsoft.Windows.ContentDeliveryManager.ReportPlacementHealth - -This event sends aggregated client health data, summarizing information about the state of offers on a device, to help keep Windows up to date. - -The following fields are available: - -- **dataVersion** Schema version of the event that is used to determine what serialized content is available for placementReportedInfo and trackingInfo fields. -- **healthResult** A code that identifies user account health status as Unknown, Healthy, Unhealthy. -- **healthStateFlags** A code that represents a set of flags used to group devices in a health/unhealthy way. For example, Unhealthy, Healthy, RefreshNotScheduled, EmptyResponse, RenderedDefault, RenderFailure, RenderDelayed, and CacheEmpty. -- **placementHealthId** A code that represents which surface's health is being reported. For example, Default, LockScreen, LockScreenOverlay, StartMenu, SoftLanding, DefaultStartLayout1, DefaultStartLayout2, OemPreInstalledApps, FeatureManagement, SilentInstalledApps, NotificationChannel, SuggestedPenAppsSubscribedContent, TestAppSubscribedContent, OneDriveSyncNamespaceSubscribedContent, OneDriveLocalNamespaceSubscribedContent, OneDriveSyncNamespaceInternalSubscribedContent, and OneDriveLocalNamespaceInternalSubscribedContent. -- **placementReportedInfo** Serialized information that contains domain-specific health information written by each surface, such as lastUpportunityTime, lastOpportunityReportedTime, expectedExpirationTime, and rotationPeriod. -- **trackingInfo** Serialized information that contains domain-specific health information written by the content delivery manager, such as lastRefreshTime, nextRefreshTime, nextUpdateTime,renderPriorToLastOpportunityTime, lastRenderTime, lastImpressionTime, lastRulesRegistrationTime, registrationTime, lastRefreshBatchCount, lastEligibleCreativeCount, availableAppSlotCount, placeholderAppSlotCount, lastRenderSuccess, lastRenderDefault, isEnabled. - - -### Microsoft.Windows.ContentDeliveryManager.ReportPlacementState - -This event sends data about the opt-out state of a device or user that uses Windows spotlight, to help keep Windows up to date. - -The following fields are available: - -- **isEnabled** Indicates if the surface is enable to receive offers. -- **lastImpressionTime** The time when the last offer was seen. -- **lastRenderedCreativeId** ID of the last offer rendered by the surface. -- **lastRenderedTime** The time that the last offer was rendered. -- **nextRotationTime** The time in which the next offer will be rendered. -- **placementName** Name of surface, such as LockScreen or Start. -- **placementStateReportFlags** Flags that represent if the surface is capable of receiving offers, such as off by edition, off by Group Policy, off by user choice. -- **selectedPlacementId** ID of the surface/ring/markey combination, such as Lock-Internal-en-US. - - -## Diagnostic data events - -### TelClientSynthetic.AuthorizationInfo_RuntimeTransition - -This event is fired by UTC at state transitions to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto telemetry from the OS provider groups. -- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS telemetry. Non-OS telemetry is responsible for providing its own opt-in mechanism. -- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. -- **CanCollectHeartbeats** True if UTC is allowed to collect heartbeats. -- **CanCollectOsTelemetry** True if UTC is allowed to collect telemetry from the OS provider groups (often called Microsoft Telemetry). -- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. -- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. -- **CanReportScenarios** True if UTC is allowed to load and report scenario completion, failure, and cancellation events. -- **PreviousPermissions** Bitmask representing the previously configured permissions since the telemetry opt-in level was last changed. -- **TransitionFromEverythingOff** True if this transition is moving from not allowing core telemetry to allowing core telemetry. - - -### TelClientSynthetic.AuthorizationInfo_Startup - -This event is fired by UTC at startup to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto telemetry from the OS provider groups. -- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS telemetry. Non-OS telemetry is responsible for providing its own opt-in mechanism. -- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if UTC is allowed to collect telemetry from the OS provider groups (often called Microsoft Telemetry). -- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. -- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask representing the previously configured permissions since the telemetry client was last started. -- **TransitionFromEverythingOff** True if this transition is moving from not allowing core telemetry to allowing core telemetry. - - -### TelClientSynthetic.ConnectivityHeartBeat_0 - -This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads telemetry events. If an unrestricted free network (such as Wi-Fi) is available, this event updates the last successful upload time. Otherwise, it checks whether a Connectivity Heartbeat event was fired in the past 24 hours, and if not, it sends an event. A Connectivity Heartbeat event is also sent when a device recovers from costed network to free network. This event is fired by UTC during periods of no network as a heartbeat signal, to keep Windows secure and up to date. - -The following fields are available: - -- **CensusExitCode** Returns last execution codes from census client run. -- **CensusStartTime** Returns timestamp corresponding to last successful census run. -- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. -- **LastConnectivityLossTime** Retrieves the last time the device lost free network. -- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedNetworkTime** The total number of seconds with restricted network during this heartbeat period. - - -### TelClientSynthetic.HeartBeat_5 - -This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. - -The following fields are available: - -- **AgentConnectionErrorsCount** The number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** The last exit code of the Census task. -- **CensusStartTime** The time of the last Census run. -- **CensusTaskEnabled** Indicates whether Census is enabled. -- **ConsumerDroppedCount** The number of events dropped by the consumer layer of the telemetry client. -- **CriticalDataDbDroppedCount** The number of critical data sampled events that were dropped at the database layer. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. -- **CriticalOverflowEntersCounter** The number of times a critical overflow mode was entered into the event database. -- **DbCriticalDroppedCount** The total number of dropped critical events in the event database. -- **DbDroppedCount** The number of events that were dropped because the database was full. -- **DecodingDroppedCount** The number of events dropped because of decoding failures. -- **EnteringCriticalOverflowDroppedCounter** The number of events that was dropped because a critical overflow mode was initiated. -- **EtwDroppedBufferCount** The number of buffers dropped in the CUET ETW session. -- **EtwDroppedCount** The number of events dropped by the ETW layer of the telemetry client. -- **EventSubStoreResetCounter** The number of times the event database was reset. -- **EventSubStoreResetSizeSum** The total size of the event database across all resets reports in this instance. -- **EventsUploaded** The number of events that have been uploaded. -- **Flags** Flags that indicate device state, such as network, battery, and opt-in state. -- **FullTriggerBufferDroppedCount** The number of events that were dropped because the trigger buffer was full. -- **HeartBeatSequenceNumber** A monotonically increasing heartbeat counter. -- **InvalidHttpCodeCount** The number of invalid HTTP codes received from Vortex. -- **LastAgentConnectionError** The last non-timeout error that happened in the host/agent channel. -- **LastEventSizeOffender** The name of the last event that exceeded the maximum event size. -- **LastInvalidHttpCode** The last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. -- **MaxInUseScenarioCounter** The soft maximum number of scenarios loaded by the Connected User Experience and Telemetry component. -- **PreviousHeartBeatTime** The time of last heartbeat event. This allows chaining of events. -- **SettingsHttpAttempts** The number of attempts to contact the OneSettings service. -- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. -- **ThrottledDroppedCount** The number of events dropped due to throttling of noisy providers. -- **UploaderDroppedCount** The number of events dropped by the uploader layer of the telemetry client. -- **VortexFailuresTimeout** The number of timeout failures received from Vortex. -- **VortexHttpAttempts** The number of attempts to contact the Vortex service. -- **VortexHttpFailures4xx** The number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** The number of 500-599 error codes received from Vortex. - - -### TelClientSynthetic.HeartBeat_Aria_5 - -This event is the telemetry client ARIA heartbeat. - - - -### TelClientSynthetic.HeartBeat_Seville_5 - -This event is sent by the universal telemetry client (UTC) as a heartbeat signal for Sense. - - - -### TelClientSynthetic.TailoredExperiencesWithDiagnosticDataUpdate - -This event is triggered when UTC determines it needs to send information about personalization settings of the user. - - - -## DxgKernelTelemetry events - -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **aiSeqId** The event sequence ID. -- **bootId** The system boot ID. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **DisplayAdapterLuid** The display adapter LUID. -- **DriverDate** The date of the display driver. -- **DriverRank** The rank of the display driver. -- **DriverVersion** The display driver version. -- **GPUDeviceID** The GPU device ID. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURevisionID** The GPU revision ID. -- **GPUVendorID** The GPU vendor ID. -- **InterfaceId** The GPU interface ID. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. -- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). -- **SubSystemID** The subsystem ID. -- **SubVendorID** The GPU sub vendor ID. -- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? -- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) -- **version** The event version. -- **WDDMVersion** The Windows Display Driver Model version. - - -## Failover Clustering events - -### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 - -This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. - -The following fields are available: - -- **autoAssignSite** The cluster parameter: auto site. -- **autoBalancerLevel** The cluster parameter: auto balancer level. -- **autoBalancerMode** The cluster parameter: auto balancer mode. -- **blockCacheSize** The configured size of the block cache. -- **ClusterAdConfiguration** The ad configuration of the cluster. -- **clusterAdType** The cluster parameter: mgmt_point_type. -- **clusterDumpPolicy** The cluster configured dump policy. -- **clusterFunctionalLevel** The current cluster functional level. -- **clusterGuid** The unique identifier for the cluster. -- **clusterWitnessType** The witness type the cluster is configured for. -- **countNodesInSite** The number of nodes in the cluster. -- **crossSiteDelay** The cluster parameter: CrossSiteDelay. -- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. -- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. -- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. -- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. -- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. -- **csvResourceCount** The number of resources in the cluster. -- **currentNodeSite** The name configured for the current site for the cluster. -- **dasModeBusType** The direct storage bus type of the storage spaces. -- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. -- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. -- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. -- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. -- **genAppNames** The win32 service name of a clustered service. -- **genSvcNames** The command line of a clustered genapp. -- **hangRecoveryAction** The cluster parameter: hang recovery action. -- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. -- **isCalabria** Specifies whether storage spaces direct is enabled. -- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. -- **isRunningDownLevel** Identifies if the current node is running down-level. -- **logLevel** Specifies the granularity that is logged in the cluster log. -- **logSize** Specifies the size of the cluster log. -- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. -- **minNeverPreempt** The cluster parameter: minimum never preempt. -- **minPreemptor** The cluster parameter: minimum preemptor priority. -- **netftIpsecEnabled** The parameter: netftIpsecEnabled. -- **NodeCount** The number of nodes in the cluster. -- **nodeId** The current node number in the cluster. -- **nodeResourceCounts** Specifies the number of node resources. -- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. -- **numberOfSites** The number of different sites. -- **numNodesInNoSite** The number of nodes not belonging to a site. -- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. -- **preferredSite** The preferred site location. -- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. -- **quarantineDuration** The quarantine duration. -- **quarantineThreshold** The quarantine threshold. -- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. -- **resiliencyLevel** Specifies the level of resiliency. -- **resourceCounts** Specifies the number of resources. -- **resourceTypeCounts** Specifies the number of resource types in the cluster. -- **resourceTypes** Data representative of each resource type. -- **resourceTypesPath** Data representative of the DLL path for each resource type. -- **sameSubnetDelay** The cluster parameter: same subnet delay. -- **sameSubnetThreshold** The cluster parameter: same subnet threshold. -- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). -- **securityLevel** The cluster parameter: security level. -- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. -- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. -- **upNodeCount** Specifies the number of nodes that are up (online). -- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. -- **vmIsolationTime** The cluster parameter: VM isolation time. -- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. - - -## Fault Reporting events - -### Microsoft.Windows.FaultReporting.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. - -The following fields are available: - -- **AppName** The name of the app that has crashed. -- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModVersion** The version of the module that has crashed. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessId** The ID of the process that has crashed. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported -- **TargetAsId** The sequence number for the hanging process. - - -## Feature update events - -### Microsoft.Windows.Upgrade.Uninstall.UninstallGoBackButtonClicked - -This event sends basic metadata about the starting point of uninstalling a feature update, which helps ensure customers can safely revert to a well-known state if the update caused any problems. - - - -## Hang Reporting events - -### Microsoft.Windows.HangReporting.AppHangEvent - -This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. - -The following fields are available: - -- **AppName** The name of the app that has hung. -- **AppSessionGuid** GUID made up of process ID used as a correlation vector for process instances in the telemetry backend. -- **AppVersion** The version of the app that has hung. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application ID of the package. - - -## Inventory events - -### ChecksumDictionary - -This event provides the list of values sent by each object type. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Key** The object type being described. -- **Value** The number of objects of this type that were sent. - - -### COMPID - -This event provides a device's internal application compatible ID, a vendor-defined identification that Windows uses to match a device to an INF file. A device can have a list of compatible IDs associated with it. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Order** The index of the array of compatible IDs for the device. -- **Value** The array of compatible IDs for the device. - - -### HWID - -This event provides a device's internal hardware ID, a vendor-defined identification that Windows uses to match a device to an INF file. In most cases, a device has associated with it a list of hardware IDs. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Order** The index of the array of internal hardware IDs for the device. -- **Value** The array of internal hardware IDs for the device. - - -### InstallDateArpLastModified - -This event indicates the date the add/remove program (ARP) entry was last modified by an update. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Order** The index of the ordered array. -- **Value** The value contained in the ordered array. - - -### InstallDateFromLinkFile - -This event provides the application installation date from the linked file. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Order** The index of the ordered array. -- **Value** The value contained in the ordered array. - - -### InstallDateMsi - -This event provides the install date from the Microsoft installer (MSI) database. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Order** The index of the ordered array. -- **Value** The value contained in the ordered array. - - -### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum - -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Device** A count of device objects in cache. -- **DeviceCensus** A count of devicecensus objects in cache. -- **DriverPackageExtended** A count of driverpackageextended objects in cache. -- **File** A count of file objects in cache. -- **FileSigningInfo** A count of file signing objects in cache. -- **Generic** A count of generic objects in cache. -- **HwItem** A count of hwitem objects in cache. -- **InventoryApplication** A count of application objects in cache. -- **InventoryApplicationFile** A count of application file objects in cache. -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **Metadata** A count of metadata objects in cache. -- **Orphan** A count of orphan file objects in cache. -- **Programs** A count of program objects in cache. - - -### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions - -This event sends inventory component versions for the Device Inventory data. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **aeinv** The version of the App inventory component. -- **aeinv.dll** The version of the App inventory component. -- **devinv** The file version of the Device inventory component. -- **devinv.dll** The file version of the Device inventory component. - - -### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd - -This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **CatalogSigners** Signers from catalog. Each signer starts with Chain. -- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. -- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. -- **FileName** The file name of the file whose signatures are listed. -- **FileType** Either exe or sys, depending on if a driver package or application executable. -- **InventoryVersion** The version of the inventory file generating the events. -- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd - -This event sends basic metadata about an application on the system. The data collected with this event is used to keep Windows performing properly and up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). -- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 See [InstallDateArpLastModified](#installdatearplastmodified). -- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. See [InstallDateFromLinkFile](#installdatefromlinkfile). -- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. See [InstallDateMsi](#installdatemsi). -- **InventoryVersion** The version of the inventory file generating the events. -- **Language** The language code of the program. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **PackageFullName** The package full name for a Store application. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. -- **Version** The version number of the program. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd - -This event represents what drivers an application installs. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync - -The InventoryApplicationDriverStartSync event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd - -This event provides the basic metadata about the frameworks an application may depend on. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync - -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync - -This event indicates that a new set of InventoryApplicationAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerAdd - -This event sends basic metadata about a device container (such as a monitor or printer as opposed to a Plug and Play device). The data collected with this event is used to help keep Windows up to date and to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Categories** A comma separated list of functional categories in which the container belongs. -- **DiscoveryMethod** The discovery method for the device container. -- **FriendlyName** The name of the device container. -- **InventoryVersion** The version of the inventory file generating the events. -- **IsActive** Is the device connected, or has it been seen in the last 14 days? -- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. -- **IsMachineContainer** Is the container the root device itself? -- **IsNetworked** Is this a networked device? -- **IsPaired** Does the device container require pairing? -- **Manufacturer** The manufacturer name for the device container. -- **ModelId** A unique model ID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **PrimaryCategory** The primary category for the device container. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove - -This event indicates that the InventoryDeviceContainer object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync - -This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd - -This event retrieves information about what sensor interfaces are available on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Accelerometer3D** Indicates if an Accelerator3D sensor is found. -- **ActivityDetection** Indicates if an Activity Detection sensor is found. -- **AmbientLight** Indicates if an Ambient Light sensor is found. -- **Barometer** Indicates if a Barometer sensor is found. -- **Custom** Indicates if a Custom sensor is found. -- **FloorElevation** Indicates if a Floor Elevation sensor is found. -- **GeomagneticOrientation** Indicates if a Geo Magnetic Orientation sensor is found. -- **GravityVector** Indicates if a Gravity Detector sensor is found. -- **Gyrometer3D** Indicates if a Gyrometer3D sensor is found. -- **Humidity** Indicates if a Humidity sensor is found. -- **InventoryVersion** The version of the inventory file generating the events. -- **LinearAccelerometer** Indicates if a Linear Accelerometer sensor is found. -- **Magnetometer3D** Indicates if a Magnetometer3D sensor is found. -- **Orientation** Indicates if an Orientation sensor is found. -- **Pedometer** Indicates if a Pedometer sensor is found. -- **Proximity** Indicates if a Proximity sensor is found. -- **RelativeOrientation** Indicates if a Relative Orientation sensor is found. -- **SimpleDeviceOrientation** Indicates if a Simple Device Orientation sensor is found. -- **Temperature** Indicates if a Temperature sensor is found. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync - -This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassAdd - -This event sends additional metadata about a Plug and Play device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Audio_CaptureDriver** The Audio device capture driver endpoint. -- **Audio_RenderDriver** The Audio device render driver endpoint. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassRemove - -This event indicates that the InventoryDeviceMediaClass object represented by the objectInstanceId is no longer present. This event is used to understand a PNP device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync - -This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd - -This event represents the basic metadata about a plug and play (PNP) device and its associated driver. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class unique identifier of the driver package loaded on the device. -- **COMPID** The list of “Compatible IDs” for this device. See [COMPID](#compid). -- **ContainerId** The system-supplied unique identifier that specifies which group(s) the device(s) installed on the parent (main) device belong to. -- **Description** The description of the device. -- **DeviceState** Identifies the current state of the parent (main) device. -- **DriverId** The unique identifier for the installed driver. -- **DriverName** The name of the driver image file. -- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **DriverVerDate** The date of the driver loaded for the device -- **DriverVerVersion** The version of the driver loaded for the device -- **Enumerator** Identifies the bus that enumerated the device. -- **HWID** A list of hardware IDs for the device. See [HWID](#hwid). -- **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: [Device Install State](/windows-hardware/drivers/ddi/wdm/ne-wdm-_device_install_state) -- **InventoryVersion** The version number of the inventory process generating the events. -- **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. -- **LowerFilters** The identifiers of the Lower filters installed for the device. -- **Manufacturer** The manufacturer of the device. -- **MatchingID** The Hardware ID or Compatible ID that Windows uses to install a device instance. -- **Model** Identifies the model of the device. -- **objectInstanceId** Deprecated. The Device Instance ID of the device (uniquely identifies a device in the system). Example: pci\ven_8086&dev_0085&subsys_13118086&rev_34\4&2dded11c&0&00e1 -- **ParentId** The Device Instance ID of the parent of the device. -- **ProblemCode** The error code currently returned by the device, if applicable. -- **Provider** Identifies the device provider. -- **Service** The name of the device service. -- **STACKID** The list of hardware IDs for the stack. See [STACKID](#stackid). -- **UpperClassFilters** The identifiers of the Upper Class filters installed for the device. -- **UpperFilters** The identifiers of the Upper filters installed for the device. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove - -This event indicates that the InventoryDevicePnpRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassAdd - -This event sends basic metadata about the USB hubs on the device. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync - -This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd - -This event sends basic metadata about driver binaries running on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **DriverCheckSum** The checksum of the driver file. -- **DriverCompany** The company name that developed the driver. -- **DriverInBox** Is the driver included with the operating system? -- **DriverIsKernelMode** Is it a kernel mode driver? -- **DriverName** The file name of the driver. -- **DriverPackageStrongName** The strong name of the driver package -- **DriverSigned** Is the driver signed? -- **DriverTimeStamp** The low 32 bits of the time stamp of the driver file. -- **DriverType** A bitfield of driver attributes: 1. define DRIVER_MAP_DRIVER_TYPE_PRINTER 0x0001. 2. define DRIVER_MAP_DRIVER_TYPE_KERNEL 0x0002. 3. define DRIVER_MAP_DRIVER_TYPE_USER 0x0004. 4. define DRIVER_MAP_DRIVER_IS_SIGNED 0x0008. 5. define DRIVER_MAP_DRIVER_IS_INBOX 0x0010. 6. define DRIVER_MAP_DRIVER_IS_WINQUAL 0x0040. 7. define DRIVER_MAP_DRIVER_IS_SELF_SIGNED 0x0020. 8. define DRIVER_MAP_DRIVER_IS_CI_SIGNED 0x0080. 9. define DRIVER_MAP_DRIVER_HAS_BOOT_SERVICE 0x0100. 10. define DRIVER_MAP_DRIVER_TYPE_I386 0x10000. 11. define DRIVER_MAP_DRIVER_TYPE_IA64 0x20000. 12. define DRIVER_MAP_DRIVER_TYPE_AMD64 0x40000. 13. define DRIVER_MAP_DRIVER_TYPE_ARM 0x100000. 14. define DRIVER_MAP_DRIVER_TYPE_THUMB 0x200000. 15. define DRIVER_MAP_DRIVER_TYPE_ARMNT 0x400000. 16. define DRIVER_MAP_DRIVER_IS_TIME_STAMPED 0x800000. -- **DriverVersion** The version of the driver file. -- **ImageSize** The size of the driver file. -- **Inf** The name of the INF file. -- **InventoryVersion** The version of the inventory file generating the events. -- **Product** The product name that is included in the driver file. -- **ProductVersion** The product version that is included in the driver file. -- **Service** The name of the service that is installed for the device. -- **WdfVersion** The Windows Driver Framework version. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove - -This event indicates that the InventoryDriverBinary object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync - -This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageAdd - -This event sends basic metadata about drive packages installed on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync - -This event indicates that a new set of InventoryDriverPackageAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.General. InventoryMiscellaneousMemorySlotArrayInfoRemove - -This event indicates that this particular data object represented by the ObjectInstanceId is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.AppHealthStaticAdd - -This event sends details collected for a specific application on the source device. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AhaVersion** The binary version of the App Health Analyzer tool. -- **ApplicationErrors** The count of application errors from the event log. -- **Bitness** The architecture type of the application (16 Bit or 32 bit or 64 bit). -- **device_level** Various JRE/JAVA versions installed on a particular device. -- **ExtendedProperties** Attribute used for aggregating all other attributes under this event type. -- **Jar** Flag to determine if an app has a Java JAR file dependency. -- **Jre** Flag to determine if an app has JRE framework dependency. -- **Jre_version** JRE versions an app has declared framework dependency for. -- **Name** Name of the application. -- **NonDPIAware** Flag to determine if an app is non-DPI aware -- **NumBinaries** Count of all binaries (.sys,.dll,.ini) from application install location. -- **RequiresAdmin** Flag to determine if an app requests admin privileges for execution. -- **RequiresAdminv2** Additional flag to determine if an app requests admin privileges for execution. -- **RequiresUIAccess** Flag to determine if an app is based on UI features for accessibility. -- **VB6** Flag to determine if an app is based on VB6 framework. -- **VB6v2** Additional flag to determine if an app is based on VB6 framework. -- **Version** Version of the application. -- **VersionCheck** Flag to determine if an app has a static dependency on OS version. -- **VersionCheckv2** Additional flag to determine if an app has a static dependency on OS version. - - -### Microsoft.Windows.Inventory.General.AppHealthStaticStartSync - -This event indicates the beginning of a series of AppHealthStaticAdd events. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AllowTelemetry** Indicates the presence of the 'allowtelemetry' command line argument. -- **CommandLineArgs** Command line arguments passed when launching the App Health Analyzer executable. -- **Enhanced** Indicates the presence of the 'enhanced' command line argument. -- **StartTime** UTC date and time at which this event was sent. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoAdd - -This event provides basic information about active memory slots on the device. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Capacity** Memory size in bytes -- **Manufacturer** Name of the DRAM manufacturer -- **Model** Model and sub-model of the memory -- **Slot** Slot to which the DRAM is plugged into the motherboard. -- **Speed** The configured memory slot speed in MHz. -- **Type** Reports DDR as an enumeration value as per the DMTF SMBIOS standard version 3.3.0, section 7.18.2. -- **TypeDetails** Reports Non-volatile as a bit flag enumeration as per the DMTF SMBIOS standard version 3.3.0, section 7.18.3. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync - -This diagnostic event indicates a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd - -This event provides data on Unified Update Platform (UUP) products and what version they are at. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -This is a diagnostic event that indicates a new sync is being generated for this object type. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.Indicators.Checksum - -This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **ChecksumDictionary** A count of each operating system indicator. See [ChecksumDictionary](#checksumdictionary). -- **PCFP** Equivalent to the InventoryId field that is found in other core events. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd - -This event represents the basic metadata about the OS indicators installed on the system. The data collected with this event helps ensure the device is up to date and keeps Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **IndicatorValue** The indicator value. -- **Value** Describes an operating system indicator that may be relevant for the device upgrade. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorEndSync - -This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events has been sent. The data collected with this event helps ensure the device is up to date and keeps Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### STACKID - -This event provides the internal compatible ID for the stack. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Order** The index of the ordered array. -- **Value** The value contained in the ordered array. - - -## Kernel events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch - -This event includes basic data about the Operating System, collected during Boot and used to evaluate the success of the upgrade process. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. -- **BootStatusPolicy** Identifies the applicable Boot Status Policy. -- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. -- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. -- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonPch** Reason for system reset provided by firmware. -- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). -- **LastBootSucceeded** Flag indicating whether the last boot was successful. -- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. -- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). -- **RecoveryEnabled** Indicates whether recovery is enabled. -- **UserInputTime** The amount of time the loader application spent waiting for user input. - - -### Microsoft.Windows.Kernel.Power.OSStateChange - -This event denotes the transition between operating system states (e.g., On, Off, Sleep, etc.). By using this event with Windows Analytics, organizations can use this to help monitor reliability and performance of managed devices. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AcPowerOnline** If "TRUE," the device is using AC power. If "FALSE," the device is using battery power. -- **ActualTransitions** This will give the actual transitions number -- **BatteryCapacity** Maximum battery capacity in mWh -- **BatteryCharge** Current battery charge as a percentage of total capacity -- **BatteryDischarging** Flag indicating whether the battery is discharging or charging -- **BootId** Monotonically increasing boot ID, reset on upgrades. -- **BootTimeUTC** Boot time in UTC file time. -- **EventSequence** Monotonically increasing event number for OsStateChange events logged during this boot. -- **LastStateTransition** The previous state transition on the device. -- **LastStateTransitionSub** The previous state subtransition on the device. -- **StateDurationMS** Milliseconds spent in the state being departed -- **StateTransition** Transition type PowerOn=1, Shutdown, Suspend, Resume, Heartbeat. -- **StateTransitionSub** Subtransition type Normal=1, Reboot, Hiberboot, Standby, Hibernate, ConnectedStandby, Reserved, HybridSleep. -- **TotalDurationMS** Total time device has been up in milliseconds in wall clock time. -- **TotalUptimeMS** Total time device has been on (not in a suspended state) in milliseconds. -- **TransitionsToOn** TransitionsToOn increments each time the system successfully completes a system sleep event, and is sent as part of the PowerTransitionEnd ETW event. -- **UptimeDeltaMS** Duration in last state in milliseconds. - - -## Migration events - -### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFSys - -This event returns data about the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.APIOperation - -This event includes basic data about install and uninstall OneDrive API operations. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **Duration** How long the operation took. -- **IsSuccess** Was the operation successful? -- **ResultCode** The result code. -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.EndExperience - -This event includes a success or failure summary of the installation. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **HResult** Indicates the result code of the event -- **IsSuccess** Was the operation successful? -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -### Microsoft.OneDrive.Sync.Setup.RegisterStandaloneUpdaterAPIOperation - -This event is related to registering or unregistering the OneDrive update task. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **IsSuccess** Was the operation successful? -- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. -- **ScenarioName** The name of the scenario. -- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. - - -### Microsoft.OneDrive.Sync.Updater.ComponentInstallState - -This event includes basic data about the installation state of dependent OneDrive components. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ComponentName** The name of the dependent component. -- **isInstalled** Is the dependent component installed? - - -### Microsoft.OneDrive.Sync.Updater.OfficeRegistration - -This event indicates the status of the OneDrive integration with Microsoft Office. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **isValid** Is the Microsoft Office registration valid? - - -### Microsoft.OneDrive.Sync.Updater.OverlayIconStatus - -This event indicates if the OneDrive overlay icon is working correctly. 0 = healthy; 1 = can be fixed; 2 = broken. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **32bit** The status of the OneDrive overlay icon on a 32-bit operating system. -- **64bit** The status of the OneDrive overlay icon on a 64-bit operating system. - - -### Microsoft.OneDrive.Sync.Updater.RepairResult - -The event determines the result of the installation repair. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.SetupBinaryDownloadHResult - -This event indicates the status when downloading the OneDrive setup file. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult - -This event sends information describing the result of the update. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. -- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. -- **UpdaterVersion** The version of the updater. - - -### Microsoft.OneDrive.Sync.Updater.UpdateTierReg - -This event determines status of the update tier registry values. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **regReadEnterpriseHr** The HResult of the enterprise reg read value. -- **regReadTeamHr** The HResult of the team reg read value. - - -### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult - -This event determines the status when downloading the OneDrive update configuration file. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.WebConnectionStatus - -This event determines the error code that was returned when verifying Internet connectivity. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **winInetError** The HResult of the operation. - - -## Privacy logging notification events - -### Microsoft.Windows.Shell.PrivacyNotifierLogging.PrivacyNotifierCompleted - -This event returns data to report the efficacy of a single-use tool to inform users impacted by a known issue and to take corrective action to address the issue. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cleanupTask** Indicates whether the task that launched the dialog should be cleaned up. -- **cleanupTaskResult** The return code of the attempt to clean up the task used to show the dialog. -- **deviceEvaluated** Indicates whether the device was eligible for evaluation of a known issue. -- **deviceImpacted** Indicates whether the device was impacted by a known issue. -- **modalAction** The action the user took on the dialog that was presented to them. -- **modalResult** The return code of the attempt to show a dialog to the user explaining the issue. -- **resetSettingsResult** The return code of the action to correct the known issue. - - -## Quality Update Assistant events - -### Microsoft.Windows.QualityUpdateAssistant.Applicability - -This event sends basic info on whether the device should be updated to the latest cumulative update. The data collected with this event is used to help keep Windows up to date and secure. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Applicability check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck - -This event sends basic info on whether the device is ready to download the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Device readiness check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.Download - -This event sends basic info when download of the latest cumulative update begins. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Download of latest cumulative update payload. - - -### Microsoft.Windows.QualityUpdateAssistant.Install - -This event sends basic info on the result of the installation of the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Install of latest cumulative update payload. - - -## Remediation events - -### Microsoft.Windows.Remediation.Applicable - -This event indicates whether Windows Update sediment remediations need to be applied to the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **ActionName** The name of the action to be taken by the plug-in. -- **AppraiserBinariesValidResult** Indicates whether the plug-in was appraised as valid. -- **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. -- **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. -- **AppraiserTaskDisabled** Indicates the appraiser task is disabled. -- **AppraiserTaskValidFailed** Indicates the Appraiser task did not function and requires intervention. -- **CV** Correlation vector -- **DateTimeDifference** The difference between local and reference clock times. -- **DateTimeSyncEnabled** Indicates whether the Datetime Sync plug-in is enabled. -- **DaysSinceLastSIH** The number of days since the most recent SIH executed. -- **DaysToNextSIH** The number of days until the next scheduled SIH execution. -- **DetectedCondition** Indicates whether detected condition is true and the perform action will be run. -- **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. -- **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by the remediation system. -- **HResult** The HRESULT for detection or perform action phases of the plugin. -- **IsAppraiserLatestResult** The HRESULT from the appraiser task. -- **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. -- **LastHresult** The HRESULT for detection or perform action phases of the plugin. -- **LastRun** The date of the most recent SIH run. -- **NextRun** Date of the next scheduled SIH run. -- **PackageVersion** The version of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Reload** True if SIH reload is required. -- **RemediationNoisyHammerAcLineStatus** Indicates the AC Line Status of the device. -- **RemediationNoisyHammerAutoStartCount** The number of times Auto UA auto-started. -- **RemediationNoisyHammerCalendarTaskEnabled** Event that indicates Update Assistant Calendar Task is enabled. -- **RemediationNoisyHammerCalendarTaskExists** Event that indicates an Update Assistant Calendar Task exists. -- **RemediationNoisyHammerCalendarTaskTriggerEnabledCount** Event that indicates calendar triggers are enabled in the task. -- **RemediationNoisyHammerDaysSinceLastTaskRunTime** The number of days since the Auto UA ran. -- **RemediationNoisyHammerGetCurrentSize** Size in MB of the $GetCurrent folder. -- **RemediationNoisyHammerIsInstalled** TRUE if the Auto UA is installed. -- **RemediationNoisyHammerLastTaskRunResult** The result from the last Auto UA task run. -- **RemediationNoisyHammerMeteredNetwork** TRUE if the machine is on a metered network. -- **RemediationNoisyHammerTaskEnabled** TRUE if the Auto UA task is enabled. -- **RemediationNoisyHammerTaskExists** TRUE if the Auto UA task exists. -- **RemediationNoisyHammerTaskTriggerEnabledCount** Indicates whether the task has the count trigger enabled. -- **RemediationNoisyHammerUAExitCode** The exit code of the Update Assistant. -- **RemediationNoisyHammerUAExitState** The exit code of the Update Assistant. -- **RemediationNoisyHammerUserLoggedIn** TRUE if there is a user logged in. -- **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. -- **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. -- **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Configuration Manager. -- **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. -- **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. -- **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. -- **RemediationTaskHealthChkdskProactiveScan** True/False based on the health of the Check Disk task. -- **RemediationTaskHealthDiskCleanup_SilentCleanup** True/False based on the health of the Disk Cleanup task. -- **RemediationTaskHealthMaintenance_WinSAT** True/False based on the health of the Health Maintenance task. -- **RemediationTaskHealthServicing_ComponentCleanupTask** True/False based on the health of the Health Servicing Component task. -- **RemediationTaskHealthUSO_ScheduleScanTask** True/False based on the health of the USO (Update Session Orchestrator) Schedule task. -- **RemediationTaskHealthWindowsUpdate_ScheduledStartTask** True/False based on the health of the Windows Update Scheduled Start task. -- **RemediationTaskHealthWindowsUpdate_SihbootTask** True/False based on the health of the Sihboot task. -- **RemediationUHServiceBitsServiceEnabled** Indicates whether BITS service is enabled. -- **RemediationUHServiceDeviceInstallEnabled** Indicates whether Device Install service is enabled. -- **RemediationUHServiceDoSvcServiceEnabled** Indicates whether DO service is enabled. -- **RemediationUHServiceDsmsvcEnabled** Indicates whether DSMSVC service is enabled. -- **RemediationUHServiceLicensemanagerEnabled** Indicates whether License Manager service is enabled. -- **RemediationUHServiceMpssvcEnabled** Indicates whether MPSSVC service is enabled. -- **RemediationUHServiceTokenBrokerEnabled** Indicates whether Token Broker service is enabled. -- **RemediationUHServiceTrustedInstallerServiceEnabled** Indicates whether Trusted Installer service is enabled. -- **RemediationUHServiceUsoServiceEnabled** Indicates whether USO (Update Session Orchestrator) service is enabled. -- **RemediationUHServicew32timeServiceEnabled** Indicates whether W32 Time service is enabled. -- **RemediationUHServiceWecsvcEnabled** Indicates whether WECSVC service is enabled. -- **RemediationUHServiceWinmgmtEnabled** Indicates whether WMI service is enabled. -- **RemediationUHServiceWpnServiceEnabled** Indicates whether WPN service is enabled. -- **RemediationUHServiceWuauservServiceEnabled** Indicates whether WUAUSERV service is enabled. -- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -- **RunAppraiserFailed** Indicates RunAppraiser failed to run correctly. -- **RunTask** TRUE if SIH task should be run by the plug-in. -- **TimeServiceNTPServer** The URL for the NTP time server used by device. -- **TimeServiceStartType** The startup type for the NTP time service. -- **TimeServiceSyncDomainJoined** True if device domain joined and hence uses DC for clock. -- **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. - - -### Microsoft.Windows.Remediation.Completed - -This event is sent when Windows Update sediment remediations have completed on the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **ActionName** Name of the action to be completed by the plug-in. -- **AppraiserTaskCreationFailed** TRUE if the appraiser task creation failed to complete successfully. -- **AppraiserTaskDeleteFailed** TRUE if deletion of appraiser task failed to complete successfully. -- **AppraiserTaskExistFailed** TRUE if detection of the appraiser task failed to complete successfully. -- **AppraiserTaskLoadXmlFailed** TRUE if the Appraiser XML Loader failed to complete successfully. -- **AppraiserTaskMissing** TRUE if the Appraiser task is missing. -- **AppraiserTaskTimeTriggerUpdateFailedId** TRUE if the Appraiser Task Time Trigger failed to update successfully. -- **AppraiserTaskValidateTaskXmlFailed** TRUE if the Appraiser Task XML failed to complete successfully. -- **CrossedDiskSpaceThreshold** Indicates if cleanup resulted in hard drive usage threshold required for feature update to be exceeded. -- **CV** The Correlation Vector. -- **DateTimeDifference** The difference between the local and reference clocks. -- **DaysSinceOsInstallation** The number of days since the installation of the Operating System. -- **DiskMbCleaned** The amount of space cleaned on the hard disk, measured in megabytes. -- **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. -- **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. -- **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. -- **GlobalEventCounter** Client-side counter that indicates ordering of events sent by the active user. -- **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in megabytes. -- **HResult** The result of the event execution. -- **LatestState** The final state of the plug-in component. -- **PackageVersion** The package version for the current Remediation. -- **PageFileCount** The number of Windows Page files. -- **PageFileCurrentSize** The size of the Windows Page file, measured in Megabytes. -- **PageFileLocation** The storage location (directory path) of the Windows Page file. -- **PageFilePeakSize** The maximum amount of hard disk space used by the Windows Page file, measured in Megabytes. -- **PluginName** The name of the plug-in specified for each generic plug-in event. -- **RanCleanup** TRUE if the plug-in ran disk cleanup. -- **RemediationConfigurationTroubleshooterExecuted** True/False based on whether the Remediation Configuration Troubleshooter executed successfully. -- **RemediationConfigurationTroubleshooterIpconfigFix** TRUE if IPConfig Fix completed successfully. -- **RemediationConfigurationTroubleshooterNetShFix** TRUE if network card cache reset ran successfully. -- **RemediationDiskCleanSizeBtWindowsFolderInMegabytes** The size of the Windows BT folder (used to store Windows upgrade files), measured in Megabytes. -- **RemediationDiskCleanupBTFolderEsdSizeInMB** The size of the Windows BT folder (used to store Windows upgrade files) ESD (Electronic Software Delivery), measured in Megabytes. -- **RemediationDiskCleanupGetCurrentEsdSizeInMB** The size of any existing ESD (Electronic Software Delivery) folder, measured in Megabytes. -- **RemediationDiskCleanupSearchFileSizeInMegabytes** The size of the Cleanup Search index file, measured in Megabytes. -- **RemediationDiskCleanupUpdateAssistantSizeInMB** The size of the Update Assistant folder, measured in Megabytes. -- **RemediationDoorstopChangeSucceeded** TRUE if Doorstop registry key was successfully modified. -- **RemediationDoorstopExists** TRUE if there is a OneSettings Doorstop value. -- **RemediationDoorstopRegkeyError** TRUE if an error occurred accessing the Doorstop registry key. -- **RemediationDRFKeyDeleteSucceeded** TRUE if the RecoveredFrom (Doorstop) registry key was successfully deleted. -- **RemediationDUABuildNumber** The build number of the DUA. -- **RemediationDUAKeyDeleteSucceeded** TRUE if the UninstallActive registry key was successfully deleted. -- **RemediationDuplicateTokenSucceeded** TRUE if the user token was successfully duplicated. -- **RemediationImpersonateUserSucceeded** TRUE if the user was successfully impersonated. -- **RemediationNoisyHammerTaskKickOffIsSuccess** TRUE if the Auto UA task started successfully. -- **RemediationQueryTokenSucceeded** TRUE if the user token was successfully queried. -- **RemediationRanHibernation** TRUE if the system entered Hibernation. -- **RemediationRevertToSystemSucceeded** TRUE if reversion to the system context succeeded. -- **RemediationUpdateServiceHealthRemediationResult** The result of the Update Service Health plug-in. -- **RemediationUpdateTaskHealthRemediationResult** The result of the Update Task Health plug-in. -- **RemediationUpdateTaskHealthTaskList** A list of tasks fixed by the Update Task Health plug-in. -- **RemediationWindowsLogSpaceFound** The size of the Windows log files found, measured in Megabytes. -- **RemediationWindowsLogSpaceFreed** The amount of disk space freed by deleting the Windows log files, measured in Megabytes. -- **RemediationWindowsSecondaryDriveFreeSpace** The amount of free space on the secondary drive, measured in Megabytes. -- **RemediationWindowsSecondaryDriveLetter** The letter designation of the first secondary drive with a total capacity of 10GB or more. -- **RemediationWindowsSecondaryDriveTotalSpace** The total storage capacity of the secondary drive, measured in Megabytes. -- **RemediationWindowsTotalSystemDiskSize** The total storage capacity of the System Disk Drive, measured in Megabytes. -- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. -- **RunResult** The HRESULT for Detection or Perform Action phases of the plug-in. -- **ServiceHealthPlugin** The name of the Service Health plug-in. -- **StartComponentCleanupTask** TRUE if the Component Cleanup task started successfully. -- **TotalSizeofOrphanedInstallerFilesInMegabytes** The size of any orphaned Windows Installer files, measured in Megabytes. -- **TotalSizeofStoreCacheAfterCleanupInMegabytes** The size of the Microsoft Store cache after cleanup, measured in Megabytes. -- **TotalSizeofStoreCacheBeforeCleanupInMegabytes** The size of the Microsoft Store cache (prior to cleanup), measured in Megabytes. -- **usoScanDaysSinceLastScan** The number of days since the last USO (Update Session Orchestrator) scan. -- **usoScanInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. -- **usoScanIsAllowAutoUpdateKeyPresent** TRUE if the AllowAutoUpdate registry key is set. -- **usoScanIsAllowAutoUpdateProviderSetKeyPresent** TRUE if AllowAutoUpdateProviderSet registry key is set. -- **usoScanIsAuOptionsPresent** TRUE if Auto Update Options registry key is set. -- **usoScanIsFeatureUpdateInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. -- **usoScanIsNetworkMetered** TRUE if the device is currently connected to a metered network. -- **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. -- **usoScanIsUserLoggedOn** TRUE if the user is logged on. -- **usoScanPastThreshold** TRUE if the most recent Update Session Orchestrator (USO) scan is past the threshold (late). -- **usoScanType** The type of USO (Update Session Orchestrator) scan: "Interactive" or "Background". -- **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. -- **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. -- **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. -- **WindowsOldSpaceCleanedInMB** The amount of disk space freed by removing the Windows.OLD folder, measured in Megabytes. -- **WindowsPageFileSysSizeInMegabytes** The size of the Windows Page file, measured in Megabytes. -- **WindowsSoftwareDistributionFolderSizeInMegabytes** The size of the SoftwareDistribution folder, measured in Megabytes. -- **WindowsSwapFileSysSizeInMegabytes** The size of the Windows Swap file, measured in Megabytes. -- **WindowsSxsFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) folder, measured in Megabytes. -- **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. - - -### Microsoft.Windows.Remediation.DiskCleanUnExpectedErrorEvent - -This event indicates that an unexpected error occurred during an update and provides information to help address the issue. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation vector. -- **ErrorMessage** A description of any errors encountered while the plug-in was running. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **Hresult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. -- **SessionGuid** GUID associated with a given execution of sediment pack. - - -### Microsoft.Windows.Remediation.Error - -This event indicates a Sediment Pack error (update stack failure) has been detected and provides information to help address the issue. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** The result of the event execution. -- **Message** A message containing information about the error that occurred. -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.Remediation.FallbackError - -This event indicates an error when Self Update results in a Fallback and provides information to help address the issue. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **s0** Indicates the Fallback error level. See [Microsoft.Windows.Remediation.wilResult](#microsoftwindowsremediationwilresult). -- **wilResult** The result of the Windows Installer Logging. See [wilResult](#wilresult). - - -### Microsoft.Windows.Remediation.RemediationNotifyUserFixIssuesInvokeUIEvent - -This event occurs when the Notify User task executes and provides information about the cause of the notification. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **RemediationNotifyUserFixIssuesCallResult** The result of calling the USO (Update Session Orchestrator) sequence steps. -- **RemediationNotifyUserFixIssuesUsoDownloadCalledHr** The error code from the USO (Update Session Orchestrator) download call. -- **RemediationNotifyUserFixIssuesUsoInitializedHr** The error code from the USO (Update Session Orchestrator) initialize call. -- **RemediationNotifyUserFixIssuesUsoProxyBlanketHr** The error code from the USO (Update Session Orchestrator) proxy blanket call. -- **RemediationNotifyUserFixIssuesUsoSetSessionHr** The error code from the USO (Update Session Orchestrator) session call. - - -### Microsoft.Windows.Remediation.RemediationShellFailedAutomaticAppUpdateModifyEventId - -This event provides the modification of the date on which an Automatic App Update scheduled task failed and provides information about the failure. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **hResult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.Remediation.RemediationShellUnexpectedExceptionId - -This event identifies the remediation plug-in that returned an unexpected exception and provides information about the exception. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **RemediationShellUnexpectedExceptionId** The ID of the remediation plug-in that caused the exception. - - -### Microsoft.Windows.Remediation.RemediationUHEnableServiceFailed - -This event tracks the health of key update (Remediation) services and whether they are enabled. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **hResult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. -- **serviceName** The name associated with the operation. - - -### Microsoft.Windows.Remediation.RemediationUpgradeSucceededDataEventId - -This event returns information about the upgrade upon success to help ensure Windows is up to date. - -The following fields are available: - -- **AppraiserPlugin** TRUE / FALSE depending on whether the Appraiser plug-in task fix was successful. -- **ClearAUOptionsPlugin** TRUE / FALSE depending on whether the AU (Auto Updater) Options registry keys were successfully deleted. -- **CV** The Correlation Vector. -- **DatetimeSyncPlugin** TRUE / FALSE depending on whether the DateTimeSync plug-in ran successfully. -- **DiskCleanupPlugin** TRUE / FALSE depending on whether the DiskCleanup plug-in ran successfully. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **NoisyHammerPlugin** TRUE / FALSE depending on whether the Auto UA plug-in ran successfully. -- **PackageVersion** The version number of the current remediation package. -- **RebootRequiredPlugin** TRUE / FALSE depending on whether the Reboot plug-in ran successfully. -- **RemediationNotifyUserFixIssuesPlugin** TRUE / FALSE depending on whether the User Fix Issues plug-in ran successfully -- **RemediationPostUpgradeDiskSpace** The amount of disk space available after the upgrade. -- **RemediationPostUpgradeHibernationSize** The size of the Hibernation file after the upgrade. -- **ServiceHealthPlugin** A list of services updated by the plug-in. -- **SIHHealthPlugin** TRUE / FALSE depending on whether the SIH Health plug-in ran successfully. -- **StackDataResetPlugin** TRUE / FALSE depending on whether the update stack completed successfully. -- **TaskHealthPlugin** A list of tasks updated by the plug-in. -- **UpdateApplicabilityFixerPlugin** TRUE / FALSE depending on whether the update applicability fixer plug-in completed successfully. -- **WindowsUpdateEndpointPlugin** TRUE / FALSE depending on whether the Windows Update Endpoint was successful. - - -### Microsoft.Windows.Remediation.Started - -This event is sent when Windows Update sediment remediations have started on the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** The version of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.Remediation.wilResult - -This event provides Self Update information to help keep Windows up to date. - -The following fields are available: - -- **callContext** A list of diagnostic activities containing this error. -- **currentContextId** An identifier for the newest diagnostic activity containing this error. -- **currentContextMessage** A message associated with the most recent diagnostic activity containing this error (if any). -- **currentContextName** Name of the most recent diagnostic activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** The identifier assigned to this failure. -- **failureType** Indicates the type of failure observed (exception, returned, error, logged error, or fail fast). -- **fileName** The source code file name where the error occurred. -- **function** The name of the function where the error occurred. -- **hresult** The failure error code. -- **lineNumber** The Line Number within the source code file where the error occurred. -- **message** A message associated with the failure (if any). -- **module** The name of the binary module in which the error occurred. -- **originatingContextId** The identifier for the oldest diagnostic activity containing this error. -- **originatingContextMessage** A message associated with the oldest diagnostic activity containing this error (if any). -- **originatingContextName** The name of the oldest diagnostic activity containing this error. -- **threadId** The identifier of the thread the error occurred on. - - -## Sediment events - -### Microsoft.Windows.Sediment.Info.AppraiserData - -This event provides data on the current Appraiser status of the device to help ensure Windows is up to date. - -The following fields are available: - -- **ErrorCode** The value of the Return Code for the registry query. -- **GStatus** The pre-upgrade GStatus value. -- **PayloadVersion** The version information for the remediation component. -- **RegKeyName** The name of the registry subkey where data was found for this event. -- **Time** The system time at which the event began. -- **UpgEx** The pre-upgrade UpgEx value. - - -### Microsoft.Windows.Sediment.Info.BinaryInfo - -This event provides information about the binary returned by the Operating System Remediation System Service (OSRSS) to help ensure Windows is up to date. - -The following fields are available: - -- **BinaryPath** The sanitized name of the system binary from which the data was gathered. -- **ErrorCode** The value of the return code for querying the version from the binary. -- **FileVerBuild** The binary’s build number. -- **FileVerMajor** The binary’s major version number. -- **FileVerMinor** The binary’s minor version number. -- **FileVerRev** The binary’s revision number. -- **PayloadVersion** The version information for the remediation component. -- **Time** The system time at which the event began. - - -### Microsoft.Windows.Sediment.Info.DetailedState - -This event is sent when detailed state information is needed from an update trial run. The data collected with this event is used to help keep Windows up to date. - - - -### Microsoft.Windows.Sediment.Info.DownloadServiceError - -This event provides information when the Download Service returns an error. The information provided helps keep Windows up to date. - -The following fields are available: - -- **Architecture** The platform architecture used to identify the correct download payload. -- **BuildNumber** The starting build number used to identify the correct download payload. -- **Edition** The Operating System Edition used to identify the correct download payload. -- **Error** The description of the error encountered. -- **LanguageCode** The system User Interface Language used to identify the correct download payload. -- **Stack** Details about the error encountered. -- **WorkingDirectory** The folder location (path) downloader was attempting to say the payload to. - - -### Microsoft.Windows.Sediment.Info.DownloadServiceProgress - -This event indicates the progress of the downloader in 1% increments. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **Percentage** The amount successfully downloaded, measured as a percentage of the whole. - - -### Microsoft.Windows.Sediment.Info.Error - -This event indicates an error in the updater payload. This information assists in keeping Windows up to date. - -The following fields are available: - -- **FailureType** The type of error encountered. -- **FileName** The code file in which the error occurred. -- **HResult** The failure error code. -- **LineNumber** The line number in the code file at which the error occurred. -- **ReleaseVer** The version information for the component in which the error occurred. -- **Time** The system time at which the error occurred. - - -### Microsoft.Windows.Sediment.Info.PhaseChange - -The event indicates progress made by the updater. This information assists in keeping Windows up to date. - -The following fields are available: - -- **NewPhase** The phase of progress made. -- **ReleaseVer** The version information for the component in which the change occurred. -- **Time** The system time at which the phase chance occurred. - - -### Microsoft.Windows.Sediment.Info.ServiceInfo - -This event provide information about the system service for which data is being gathered by the Operating System Remediation System Service (OSRSS) to help ensure Windows is up to date. - -The following fields are available: - -- **ErrorCode** The value returned by the error for querying the service information. -- **PayloadVersion** The version information for the remediation component. -- **ServiceName** The name of the system service for which data was gathered. -- **ServiceStatus** The status of the specified service. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.Info.Uptime - -This event provides information about how long the device has been operating. This information helps ensure Windows is up to date. - -The following fields are available: - -- **Days** The number of days the device has been on. -- **Hours** The number of hours the device has been on. -- **Minutes** The number of minutes the device has been on. -- **PayloadVersion** The version information for the remediation component. -- **Seconds** The number of seconds the machine has been on. -- **Ticks** The number of system clock “ticks” the device has been on. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ApplicabilityCheckFailed - -This event returns data relating to the error state after one of the applicability checks for the installer component of the Operating System Remediation System Service (OSRSS) has failed. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CheckName** The name of the applicability check that failed. -- **InstallerVersion** The version information for the installer component. -- **Time** The system timestamp for when the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.AttemptingUpdate - -This event indicates the Operating System Remediation System Service (OSRSS) installer is attempting an update to itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.BinaryUpdated - -This event indicates the Operating System Remediation System Service (OSRSS) updated installer binaries with new binaries as part of its self-update process. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.Error - -This event indicates an error occurred in the Operating System Remediation System Service (OSRSS). The information provided helps ensure future upgrade/update attempts are more successful. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **FailureType** The type of error encountered. -- **FileName** The code file in which the error occurred. -- **HResult** The failure error code. -- **InstallerVersion** The version information of the Installer component. -- **LineNumber** The line number in the code file at which the error occurred. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.InstallerLaunched - -This event indicates the Operating System Remediation System Service (OSRSS) has launched. The information provided helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceInstalled - -This event indicates the Operating System Remediation System Service (OSRSS) successfully installed the Installer Component. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceRestarted - -This event indicates the Operating System Remediation System Service (OSRSS) has restarted after installing an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceStarted - -This event indicates the Operating System Remediation System Service (OSRSS) has started after installing an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceStopped - -This event indicates the Operating System Remediation System Service (OSRSS) was stopped by a self-updated to install an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UninstallerCompleted - -This event indicates the Operating System Remediation System Service (OSRSS) successfully uninstalled the installed version as part of a self-update. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UninstallerLaunched - -This event indicates the Operating System Remediation System Service (OSRSS) successfully started the Uninstaller as part of a self-update. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UpdaterCompleted - -This event indicates the Operating System Remediation System Service (OSRSS) successfully completed the self-update operation. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UpdaterLaunched - -This event indicates the Operating System Remediation System Service (OSRSS) successfully launched the self-updater after downloading it. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.SedimentLauncher.Applicable - -This event is sent when the Windows Update sediment remediations launcher finds that an applicable plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. -- **IsSelfUpdateNeeded** True if self update needed by device. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentLauncher.Completed - -This event is sent when the Windows Update sediment remediations launcher finishes running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. - - -### Microsoft.Windows.SedimentLauncher.Error - -This event indicates an error occurred during the execution of the plug-in. The information provided helps ensure future upgrade/update attempts are more successful. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** The result for the Detection or Perform Action phases of the plug-in. -- **Message** A message containing information about the error that occurred (if any). -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.SedimentLauncher.FallbackError - -This event indicates that an error occurred during execution of the plug-in fallback. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **s0** Error occurred during execution of the plugin fallback. See [Microsoft.Windows.SedimentLauncher.wilResult](#microsoftwindowssedimentlauncherwilresult). - - -### Microsoft.Windows.SedimentLauncher.Information - -This event provides general information returned from the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Information message returned from a plugin containing only information internal to the plugins execution. -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentLauncher.Started - -This event is sent when the Windows Update sediment remediations launcher starts running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentLauncher.wilResult - -This event provides the result from the Windows internal library. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - -### Microsoft.Windows.SedimentService.Applicable - -This event is sent when the Windows Update sediment remediations service finds that an applicable plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. -- **IsSelfUpdateNeeded** Indicates if self update is needed. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentService.Completed - -This event is sent when the Windows Update sediment remediations service finishes running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **SedimentServiceCheckTaskFunctional** True/False if scheduled task check succeeded. -- **SedimentServiceCurrentBytes** Number of current private bytes of memory consumed by sedsvc.exe. -- **SedimentServiceKillService** True/False if service is marked for kill (Shell.KillService). -- **SedimentServiceMaximumBytes** Maximum bytes allowed for the service. -- **SedimentServiceRetrievedKillService** True/False if result of One Settings check for kill succeeded - we only send back one of these indicators (not for each call). -- **SedimentServiceStopping** True/False indicating whether the service is stopping. -- **SedimentServiceTaskFunctional** True/False if scheduled task is functional. If task is not functional this indicates plugins will be run. -- **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. - - -### Microsoft.Windows.SedimentService.Error - -This event indicates whether an error condition occurred in the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.FallbackError - -This event indicates whether an error occurred for a fallback in the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **s0** Event returned when an error occurs for a fallback in the plugin. See [Microsoft.Windows.SedimentService.wilResult](#microsoftwindowssedimentservicewilresult). - - -### Microsoft.Windows.SedimentService.Information - -This event provides general information returned from the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.Started - -This event is sent when the Windows Update sediment remediations service starts running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. - - -### Microsoft.Windows.SedimentService.wilResult - -This event provides the result from the Windows internal library. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. - -The following fields are available: - -- **ActivityId** Provides a unique ID to correlate events that occur between a activity start event, and a stop event -- **ActivityName** Provides a friendly name of the package type that belongs to the ActivityId (Setup, LanguagePack, GDR, Driver, etc.) -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **value** Value associated with the corresponding event name. For example, time-related events will include the system time -- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time - - -### SetupPlatformTel.SetupPlatformTelActivityStarted - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - -The following fields are available: - -- **Name** The name of the dynamic update type. Example: GDR driver - - -### SetupPlatformTel.SetupPlatformTelActivityStopped - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - - - -### SetupPlatformTel.SetupPlatformTelEvent - -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## Shared PC events - -### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount - -Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates. - -The following fields are available: - -- **accountType** The type of account that was deleted. Example: AD, Azure AD, or Local -- **userSid** The security identifier of the account. -- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation - -Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates - -The following fields are available: - -- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. -- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). - - -### wilActivity - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The function where the failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -### wilResult - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The call context stack where failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -## SIH events - -### SIHEngineTelemetry.EvalApplicability - -This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. The data collected with this event is used to help keep Windows up to date. - - - -### SIHEngineTelemetry.ExecuteAction - -This event is triggered with SIH attempts to execute (e.g. install) the update or action in question. Includes important information like if the update required a reboot. The data collected with this event is used to help keep Windows up to date. - - - -### SIHEngineTelemetry.PostRebootReport - -This event reports the status of an action following a reboot, should one have been required. The data collected with this event is used to help keep Windows up to date. - - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -This event sends tracking data about the software distribution client check for content that is applicable to a device, to help keep Windows up to date. - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Online** Indicates if this was an online scan. -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Commit - -This event sends data on whether the Update Service has been called to execute an upgrade, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client. -- **DeviceModel** What is the device model. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** State of call -- **EventType** Possible values are "Child", "Bundle", or "Driver". -- **FlightId** The specific ID of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Unique revision number of Update -- **ServerId** Identifier for the service to which the software distribution client is connecting, such as Windows Update and Microsoft Store. -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **UpdateId** Unique Update ID -- **WUDeviceID** UniqueDeviceID - - -### SoftwareUpdateClientTelemetry.Download - -This event sends tracking data about the software distribution client download of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The SKU number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). -- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. -- **CallerApplicationName** The name provided by the application that initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientManagedByWSUSServer** Indicates whether the client is managed by Windows Server Update Services (WSUS). -- **ClientVersion** The version number of the software distribution client. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** The model of the device. -- **DeviceOEM** Identifies the Original Equipment Manufacturer (OEM) of the device. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. -- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. -- **Edition** Identifies the edition of Windows currently running on the device. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventNamespaceID** The ID of the test events environment. -- **EventScenario** Indicates the purpose for sending this event: whether because the software distribution just started downloading content; or whether it was cancelled, succeeded, or failed. -- **EventType** Identifies the type of the event (Child, Bundle, or Driver). -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific ID of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The parent URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsAOACDevice** Indicates whether the device is an Always On, Always Connected (AOAC) device. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **NetworkCostBitMask** A flag indicating the cost of the network (congested, fixed, variable, over data limit, roaming, etc.) used for downloading the update content. -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **PlatformRole** The role of the OS platform (Desktop, Mobile, Workstation, etc.). -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The Correlation Vector that was used before the most recent change to a new Correlation Vector. -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. -- **RevisionNumber** The revision number of the specified piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. -- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total size (in Bytes) expected to be downloaded. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether the content was marked as Important, Recommended, or Optional. -- **UsedDO** Indicates whether the download used the Delivery Optimization (DO) service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **WUSetting** Indicates the users' current updating settings. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **EventType** Possible values are "Child", "Bundle", "Release" or "Driver" -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough -- **FileId** A hash that uniquely identifies a file -- **FileName** Name of the downloaded file -- **FlightId** The unique identifier for each flight -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RevisionNumber** Unique revision number of Update -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.) -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) -- **UpdateId** Unique Update ID -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### SoftwareUpdateClientTelemetry.DownloadHeartbeat - -This event allows tracking of ongoing downloads and contains data to explain the current state of the download. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **BundleID** Identifier associated with the specific content bundle. If this value is found, it shouldn't report as all zeros -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeat (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **ServiceID** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle? -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Was the download a full download or a partial download? -- **ClientManagedByWSUSServer** Is the client managed by Windows Server Update Services (WSUS)? -- **ClientVersion** The version number of the software distribution client. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** Mobile operator that device is currently connected to. -- **DeviceModel** What is the device model. -- **DeviceOEM** What OEM does this device belong to. -- **DownloadPriority** The priority of the download activity. -- **DownloadScenarioId** A unique ID for a given download used to tie together Windows Update and DO events. -- **DriverPingBack** Contains information about the previous driver and system state. -- **Edition** Indicates the edition of Windows being used. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventNamespaceID** Indicates whether the event succeeded or failed. Has the format EventType+Event where Event is Succeeded, Cancelled, Failed, etc. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Are feature OS updates paused on the device? -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsAOACDevice** Is it Always On, Always Connected? (Mobile device usage model) -- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? -- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? -- **IsFirmware** Is this update a firmware update? -- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? -- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? -- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? -- **MergedUpdate** Was the OS update and a BSP update merged for installation? -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **PlatformRole** The PowerPlatformRole. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **ProcessorArchitecture** Processor architecture of the system (x86, AMD64, ARM). -- **QualityUpdatePause** Are quality OS updates paused on the device? -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. -- **RepeatSuccessInstallFlag** Indicates whether this specific piece of content had previously installed successful, for example if another user had already installed it. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID which represents a given MSI installation -- **UpdateId** Unique update ID -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **WUSetting** Indicates the user's current updating settings. - - -### SoftwareUpdateClientTelemetry.SLSDiscovery - -This event sends data about the ability of Windows to discover the location of a backend server with which it must connect to perform updates or content acquisition, in order to determine disruptions in availability of update services and provide context for Windows Update errors. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **HResult** Indicates the result code of the event (success, cancellation, failure code HResult) -- **IsBackground** Indicates whether the SLS discovery event took place in the foreground or background -- **NextExpirationTime** Indicates when the SLS cab expires -- **ServiceID** An ID which represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.) -- **SusClientId** The unique device ID controlled by the software distribution client -- **UrlPath** Path to the SLS cab that was downloaded -- **WUAVersion** The version number of the software distribution client - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates ultimately deemed applicable to the system after the detection process is complete. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.). -- **WUDeviceID** The unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity - -This event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** An encoded string of the timestamp token. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - -## Update Assistant events - -### Microsoft.Windows.UpdateAssistant.Orchestrator.BlockingEventId - -The event sends basic info on the reason that Windows 10 was not updated due to compatibility issues, previous rollbacks, or admin policies. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ApplicabilityBlockedReason** Blocked due to an applicability issue. -- **BlockWuUpgrades** The upgrade assistant is currently blocked. -- **clientID** An identification of the current release of Update Assistant. -- **CloverTrail** This device is Clovertrail. -- **DeviceIsMdmManaged** This device is MDM managed. -- **IsNetworkAvailable** If the device network is not available. -- **IsNetworkMetered** If network is metered. -- **IsSccmManaged** This device is managed by Configuration Manager. -- **NewlyInstalledOs** OS is newly installed quiet period. -- **PausedByPolicy** Updates are paused by policy. -- **RecoveredFromRS3** Previously recovered from RS3. -- **RS1UninstallActive** Blocked due to an active RS1 uninstall. -- **RS3RollBacks** Exceeded number of allowable RS3 rollbacks. -- **triggerTaskSource** Describe which task launches this instance. -- **WsusManaged** This device is WSUS managed. -- **ZeroExhaust** This device is zero exhaust. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.DeniedLaunchEventId - -The event sends basic info when a device was blocked or prevented from updating to the latest Windows 10 version. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **denyReason** All the reasons why the Update Assistant was prevented from launching. Bitmask with values from UpdateAssistant.cpp eUpgradeModeReason. -- **triggerTaskSource** Describe which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.FailedLaunchEventId - -This event indicates that Update Assistant Orchestrator failed to launch Update Assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **hResult** Error code of the Update Assistant Orchestrator failure. -- **triggerTaskSource** Describe which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.FailedOneSettingsQueryEventId - -This event indicates that One Settings was not queried by update assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **hResult** Error code of One Settings query failure. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.LaunchEventId - -This event sends basic information on whether the device should be updated to the latest Windows 10 version. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **autoStartRunCount** The auto start run count of Update Assistant. -- **clientID** The ID of the current release of Update Assistant. -- **launchMode** Indicates the type of launch performed. -- **launchTypeReason** A bitmask of all the reasons for type of launch. -- **triggerTaskSource** Indicates which task launches this instance. -- **UALaunchRunCount** Total number of times Update Assistant launched. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.RestoreEventId - -The event sends basic info on whether the Windows 10 update notification has previously launched. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** ID of the current release of Update Assistant. -- **restoreReason** All the reasons for the restore. -- **triggerTaskSource** Indicates which task launches this instance. - - -## Update events - -### Update360Telemetry.UpdateAgent_DownloadRequest - -This event sends data during the download request phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. -- **ErrorCode** The error code returned for the current download request phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **PackageCountOptional** Number of optional packages requested. -- **PackageCountRequired** Number of required packages requested. -- **PackageCountTotal** Total number of packages needed. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageSizeCanonical** Size of canonical packages in bytes -- **PackageSizeDiff** Size of diff packages in bytes -- **PackageSizeExpress** Size of express packages in bytes -- **RangeRequestState** Represents the state of the download range request. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Result of the download request phase of update. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_FellBackToCanonical - -This event collects information when Express could not be used, and the update had to fall back to “canonical” during the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **PackageCount** The number of packages that fell back to “canonical”. -- **PackageList** PackageIDs which fell back to “canonical”. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgent_Initialize - -This event sends data during the initialize phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current initialize phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each Update Agent mode attempt . -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_Install - -This event sends data during the install phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest scan. -- **Result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_Merge - -This event sends data on the merge phase when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current reboot. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgent_ModeStart - -This event sends data for the start of each mode during the process of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_SetupBoxLaunch - -This event sends data during the launching of the setup box when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. 0 = false 1 = true -- **RelatedCV** Correlation vector value generated from the latest scan. -- **SandboxSize** The size of the sandbox folder on the device. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **SetupMode** Setup mode 1 = predownload, 2 = install, 3 = finalize -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **DownloadRequests** Number of times a download was retried. -- **ErrorCode** The error code returned for the current download request phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique ID for each flight. -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **PackageCountOptional** # of optional packages requested. -- **PackageCountRequired** # of required packages requested. -- **PackageCountTotal** Total # of packages needed. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageExpressType** Type of express package. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **RangeRequestState** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentExpand - -This event collects information regarding the expansion phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ElapsedTickCount** Time taken for expand phase. -- **EndFreeSpace** Free space after expand phase. -- **EndSandboxSize** Sandbox size after expand phase. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **StartFreeSpace** Free space before expand phase. -- **StartSandboxSize** Sandbox size after expand phase. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInitialize - -This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInstall - -This event sends data for the install phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** Indicates whether the mitigation is applicable for the current update. -- **CommandCount** The number of command operations in the mitigation entry. -- **CustomCount** The number of custom operations in the mitigation entry. -- **FileCount** The number of file operations in the mitigation entry. -- **FlightId** Unique identifier for each flight. -- **Index** The mitigation index of this particular mitigation. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **Name** The friendly name of the mitigation. -- **ObjectId** Unique value for each Update Agent mode. -- **OperationIndex** The mitigation operation index (in the event of a failure). -- **OperationName** The friendly name of the mitigation operation (in the event of failure). -- **RegistryCount** The number of registry operations in the mitigation entry. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentMitigationSummary - -This event sends a summary of all the update agent mitigations available for an this update. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Update360Telemetry.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates the mode that has started. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **Version** Version of update - - -### Update360Telemetry.UpdateAgentOneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ContainsExpressPackage** Indicates whether the download package is express. -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. - - -## Upgrade events - -### FacilitatorTelemetry.DCATDownload - -This event indicates whether devices received additional or critical supplemental content during an OS Upgrade, to help keep Windows up to date and secure. - - - -### FacilitatorTelemetry.DUDownload - -This event returns data about the download of supplemental packages critical to upgrading a device to the next version of Windows. The data collected with this event is used to help keep Windows secure and up to date. - - - -### FacilitatorTelemetry.InitializeDU - -This event determines whether devices received additional or critical supplemental content during an OS upgrade. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). -- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). -- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** An ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PostRebootInstall - -This event sends data indicating that the device has invoked the post reboot install phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. - - -### Setup360Telemetry.PreDownloadQuiet - -This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreDownloadUX - -This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS, to help keep Windows up-to-date and secure. Specifically, it indicates the outcome of the PredownloadUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreInstallUX - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10, to help keep Windows up-to-date. Specifically, it indicates the outcome of the PreinstallUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.Setup360 - -This event sends data about OS deployment scenarios, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** Retrieves the upgrade ID. In the Windows Update scenario, this will be the Windows Update client ID. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FieldName** Retrieves the data point. -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. - - -### Setup360Telemetry.Setup360DynamicUpdate - -This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. - - - -### Setup360Telemetry.Setup360MitigationResult - -This event sends data indicating the result of each setup mitigation. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.Setup360MitigationSummary - -This event sends a summary of all the setup mitigations available for this update. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.Setup360OneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file whenever a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -### WerTraceloggingProvider.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. - -The following fields are available: - -- **AppName** The name of the app that crashed. -- **AppSessionGuid** The unique ID used as a correlation vector for process instances in the telemetry backend. -- **AppTimeStamp** The date time stamp of the app. -- **AppVersion** The version of the app that crashed. -- **ExceptionCode** The exception code returned by the process that crashed. -- **ExceptionOffset** The address where the exception occurred. -- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, do not terminate the process after reporting. -- **ModName** The module name of the process that crashed. -- **ModTimeStamp** The date time stamp of the module. -- **ModVersion** The module version of the process that crashed. -- **PackageFullName** The package name if the crashing application is packaged. -- **PackageRelativeAppId** The relative application ID if the crashing application is packaged. -- **ProcessArchitecture** The architecture of the system. -- **ProcessCreateTime** The time of creation of the process that crashed. -- **ProcessId** The ID of the process that crashed. -- **ReportId** A unique ID used to identify the report. This can be used to track the report. -- **TargetAppId** The target app ID. -- **TargetAppVer** The target app version. - - -## Windows Phone events - -### Microsoft.Windows.Phone.Telemetry.OnBoot.RebootReason - -This event lists the reboot reason when an app is going to reboot. - -The following fields are available: - -- **BootId** The system boot ID. -- **BoottimeSinceLastShutdown** The boot time since the last shutdown. -- **RebootReason** Reason for the reboot. - - -## Windows Store events - -### Microsoft.Windows.Store.Partner.ReportApplication - -This is report application event for Microsoft Store client. The data collected with this event is used to help keep Windows up to date and secure. - - - -### Microsoft.Windows.Store.StoreActivating - -This event sends tracking data about when the Store app activation via protocol URI is in progress, to help keep Windows up to date. - -The following fields are available: - -- **correlationVectorRoot** Identifies multiple events within a session/sequence. Initial value before incrementation or extension. -- **protocolUri** Protocol URI used to activate the store. -- **reason** The reason for activating the store. - - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IntentPFNs** Intent Product Family Name -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UpdateId** Update ID (if this is an update) -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IntentPFNs** Intent Product Family Name -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IntentPFNs** Intent Product Family Name -- **IsBundle** Is this a bundle? -- **IsInteractive** Did the user initiate the installation? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this happening after a device restore? -- **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this is a Win32app. -- **ParentBundledId** The product's parent bundle ID. -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UpdateId** The update ID (if this is an update) -- **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndDownload - -This event is sent after an app is downloaded to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The identity of the Windows Insider build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **DownloadSize** The total size of the download. -- **ExtendedHResult** Any extended HResult error codes. -- **HResult** The result code of the last action performed. -- **IntentPFNs** Intent Product Family Name -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this is a Win32 app (unused). -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** The Product Family Name of the app being download. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UpdateId** Update ID (if this is an update) -- **UserAttemptNumber** The number of attempts by the user to download. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **ExtendedHResult** The extended HResult error code. -- **HResult** The result code of the last action performed. -- **IntentPFNs** Intent Product Family Name -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this a Win32 app (unused). -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UpdateId** Update ID (if this is an update) -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates - -This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnline** Is the request doing an online check? - - -### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages - -This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IntentPFNs** The licensing identity of this package. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsWin32** Flag indicating if this a Win32 app (unused). -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UpdateId** Update ID (if this is an update) -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IntentPFNs** The licensing identity of this package. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event happens after a scan for available app updates. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest - -This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **BundleId** The identity of the build associated with this product. -- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition ID being installed. -- **VolumePath** The disk path of the installation. - - -### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation - -This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IntentPFNs** The licensing identity of this package. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The Product Full Name. -- **PreviousHResult** The result code of the last action performed before this operation. -- **PreviousInstallState** Previous state before the installation or update was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation - -This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IntentPFNs** Intent Product Family Name -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsUserRetry** Did the user initiate the retry? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector for the original install before it was resumed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest - -This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ProductId** The Store Product ID for the product being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest - -This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Catalog ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition of the app being updated. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - -## Windows Update Delivery Optimization events - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCanceled - -This event describes when a download was canceled with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **clientTelId** A random number used for device sampling. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **isVpn** Indicates whether the device is connected to a VPN (Virtual Private Network). -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **clientTelId** A random number used for device sampling. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **isVpn** Is the device connected to a Virtual Private Network? -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **numPeers** The total number of peers used for this download. -- **restrictedUpload** Is the upload restricted? -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being paused. -- **isVpn** Is the device connected to a Virtual Private Network? -- **reasonCode** The reason for pausing the download. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being paused. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted - -This event sends data describing the start of a new download to enable Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **cdnUrl** The URL of the source CDN. -- **clientTelId** A random number used for device sampling. -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **groupID** ID for the group. -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **minDiskSizeGB** The minimum disk size (in GB) policy set for the device to allow peering with delivery optimization. -- **minDiskSizePolicyEnforced** Indicates whether there is an enforced minimum disk size requirement for peering. -- **minFileSizePolicy** The minimum content file size policy to allow the download using peering with delivery optimization. -- **peerID** The ID for this delivery optimization client. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID for the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cdnHeaders** The HTTP headers returned by the CDN. -- **cdnIp** The IP address of the CDN. -- **cdnUrl** The URL of the CDN. -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **httpStatusCode** The HTTP status code returned by the CDN. -- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET -- **requestSize** The size of the range requested from the CDN. -- **responseSize** The size of the range response received from the CDN. -- **sessionID** The ID of the download session. - - -### Microsoft.OSG.DU.DeliveryOptClient.JobError - -This event represents a Windows Update job error. It allows for investigation of top errors. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -## Windows Update events - -### Microsoft.Windows.Update.DataMigrationFramework.DmfMigrationCompleted - -This event sends data collected at the end of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. - -The following fields are available: - -- **MigrationDurationInMilliseconds** How long the DMF migration took (in milliseconds) -- **MigrationEndTime** A system timestamp of when the DMF migration completed. -- **RevisionNumbers** A collection of revision numbers for the updates associated with the DMF session. -- **UpdateIds** A collection of GUIDs for updates that are associated with the DMF session. -- **WuClientId** The GUID of the Windows Update client responsible for triggering the DMF migration - - -### Microsoft.Windows.Update.DataMigrationFramework.DmfMigrationStarted - -This event sends data collected at the beginning of the Data Migration Framework (DMF) and parameters involved in its invocation, to help keep Windows up to date. - -The following fields are available: - -- **MigrationMicrosoftPhases** Revision numbers for the updates that were installed. -- **MigrationOEMPhases** WU Update IDs for the updates that were installed. -- **MigrationStartTime** The timestamp representing the beginning of the DMF migration -- **RevisionNumbers** A collection of the revision numbers associated with the UpdateIds. -- **UpdateIds** A collection of GUIDs identifying the upgrades that are running. -- **WuClientId** The GUID of the Windows Update client invoking DMF - - -### Microsoft.Windows.Update.DataMigrationFramework.MigratorResult - -This event sends DMF migrator data to help keep Windows up to date. - -The following fields are available: - -- **CurrentStep** This is the last step the migrator reported before returning a result. This tells us how far through the individual migrator the device was before failure. -- **ErrorCode** The result (as an HRESULT) of the migrator that just completed. -- **MigratorId** A GUID identifying the migrator that just completed. -- **MigratorName** The name of the migrator that just completed. -- **RunDurationInSeconds** The time it took for the migrator to complete. -- **TotalSteps** Migrators report progress in number of completed steps against the total steps. This is the total number of steps. - - -### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed - -This event indicates that a notification dialog box is about to be displayed to user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before the RebootFailed dialog box is shown. -- **DeviceLocalTime** The local time on the device sending the event. -- **EngagedModeLimit** The number of days to switch between DTE dialog boxes. -- **EnterAutoModeLimit** The maximum number of days for a device to enter Auto Reboot mode. -- **ETag** OneSettings versioning value. -- **IsForcedEnabled** Indicates whether Forced Reboot mode is enabled for this device. -- **IsUltimateForcedEnabled** Indicates whether Ultimate Forced Reboot mode is enabled for this device. -- **NotificationUxState** Indicates which dialog box is shown. -- **NotificationUxStateString** Indicates which dialog box is shown. -- **RebootUxState** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). -- **RebootUxStateString** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). -- **RebootVersion** Version of DTE. -- **SkipToAutoModeLimit** The minimum length of time to pass in restart pending before a device can be put into auto mode. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog - -This event indicates that the Enhanced Engaged restart "accept automatically" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose on this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootFirstReminderDialog - -This event indicates that the Enhanced Engaged restart "first reminder" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose in this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedPrecursorDialog - -This event indicates that the Enhanced Engaged restart "forced precursor" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedWarningDialog - -This event indicates that the Enhanced Engaged "forced warning" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog - -This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time of the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog - -This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** Time the dialog box was shown on the local device. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose in this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootSecondReminderDialog - -This event indicates that the second reminder dialog box was displayed for Enhanced Engaged restart. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The time the dialog box was shown on the local device. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootThirdReminderDialog - -This event indicates that the third reminder dialog box for Enhanced Engaged restart was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The time the dialog box was shown on the local device. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. - - -### Microsoft.Windows.Update.Orchestrator.CommitFailed - -This event indicates that a device was unable to restart after an update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code that was returned. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event sends launch data for a Windows Update scan to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** The reason why the device could not check for updates. -- **detectionBlockreason** The reason detection did not complete. -- **detectionDeferreason** A log of deferral reasons for every update state. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **flightID** The unique identifier for the flight (Windows Insider pre-release build) should be delivered to the device, if applicable. -- **interactive** Indicates whether the user initiated the session. -- **revisionNumber** The Update revision number. -- **updateId** The unique identifier of the Update. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Download - -This event sends launch data for a Windows Update download to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** Reason for download not completing. -- **detectionDeferreason** Reason for download not completing -- **errorCode** An error code represented as a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session is user initiated. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event sends data on whether the update was applicable to the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time when this event was generated. -- **flightID** The specific ID of the Windows Insider build. -- **revisionNumber** Update revision number. -- **updateId** Unique Windows Update ID. -- **updateScenarioType** Update session type. -- **UpdateStatus** Last status of update. -- **wuDeviceid** Unique Device ID. - - -### Microsoft.Windows.Update.Orchestrator.InitiatingReboot - -This event sends data about an Orchestrator requesting a reboot from power management to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time of the event. -- **flightID** Unique update ID -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Install - -This event sends launch data for a Windows Update install to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **errorCode** The error code represented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection - -This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows secure and up to date. - -The following fields are available: - -- **externalOneshotupdate** The last time a task-triggered scan was completed. -- **interactiveOneshotupdate** The last time an interactive scan was completed. -- **oldlastscanOneshotupdate** The last time a scan completed successfully. -- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). - - -### Microsoft.Windows.Update.Orchestrator.PostInstall - -This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in megawatt-hours (mWh) or percentage left. -- **bundleId** The unique identifier associated with the specific content bundle. -- **bundleRevisionnumber** Identifies the revision number of the content bundle. -- **errorCode** The error code returned for the current phase. -- **eventScenario** State of update action. -- **flightID** The unique identifier for the flight (Windows Insider pre-release build) should be delivered to the device, if applicable. -- **sessionType** The Windows Update session type (Interactive or Background). -- **wuDeviceid** The unique device identifier used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.PowerMenuOptionsChanged - -This event is sent when the options in power menu changed, usually due to an update pending reboot, or after a update is installed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **powermenuNewOptions** The new options after the power menu changed. -- **powermenuOldOptions** The old options before the power menu changed. -- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to a update, this indicates how long that reboot has been pending. -- **wuDeviceid** The device ID recorded by Windows Update if the power menu changed because a reboot is pending due to an update. - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **EventPublishedTime** The time that the reboot failure occurred. -- **flightID** Unique update ID. -- **installRebootDeferreason** Reason for reboot not occurring. -- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. -- **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RefreshSettings - -This event sends basic data about the version of upgrade settings applied to the system to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows secure and up to date. - -The following fields are available: - -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.SystemNeeded - -This event sends data about why a device is unable to reboot, to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** End-to-end update session ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows secure and up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### Microsoft.Windows.Update.Orchestrator.USODiagnostics - -This event sends data on whether the state of the update attempt, to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** result showing success or failure of current update -- **revisionNumber** Unique revision number of the Update -- **updateId** Unique ID for Update -- **updateState** Progress within an update state -- **wuDeviceid** Unique ID for Device - - -### Microsoft.Windows.Update.Orchestrator.UsoSession - -This event represents the state of the USO service at start and completion. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeSessionid** A unique session GUID. -- **eventScenario** The state of the update action. -- **interactive** Is the USO session interactive? -- **lastErrorcode** The last error that was encountered. -- **lastErrorstate** The state of the update when the last error was encountered. -- **sessionType** A GUID that refers to the update session type. -- **updateScenarioType** A descriptive update session type. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.UpdateStackServicing.CheckForUpdates - -This event sends data about the UpdateStackServicing check for updates, to help keep Windows up to date. - -The following fields are available: - -- **BspVersion** The version of the BSP. -- **CallerApplicationName** The name of the USS scheduled task. Example UssScheduled or UssBoot -- **ClientVersion** The version of the client. -- **CommercializationOperator** The name of the operator. -- **DetectionVersion** The string returned from the GetDetectionVersion export of the downloaded detection DLL. -- **DeviceName** The name of the device. -- **EventInstanceID** The USS session ID. -- **EventScenario** The scenario of the event. Example: Started, Failed, or Succeeded -- **OemName** The name of the manufacturer. -- **ServiceGuid** The GUID of the service. -- **StatusCode** The HRESULT code of the operation. -- **WUDeviceID** The Windows Update device ID. - - -### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState - -This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. -- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. -- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. -- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. -- **ETag** The Entity Tag that represents the OneSettings version. -- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. -- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. -- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. -- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. -- **RebootVersion** The version of the DTE (Direct-to-Engaged). -- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. -- **UpdateId** The ID of the update that is waiting for reboot to finish installation. -- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded - -This event is sent when a security update has successfully completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **UtcTime** The Coordinated Universal Time that the restart was no longer needed. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled - -This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether Active Hours applies on this device. -- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. -- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. -- **rebootState** Current state of the reboot. -- **revisionNumber** Revision number of the OS. -- **scheduledRebootTime** Time scheduled for the reboot. -- **updateId** Identifies which update is being scheduled. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Ux.MusNotification.ToastDisplayedToScheduleReboot - -This event is sent when a toast notification is shown to the user about scheduling a device restart. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **UtcTime** The Coordinated Universal Time when the toast notification was shown. - - -### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Is the restart respecting Active Hours? -- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False -- **rebootArgument** The arguments that are passed to the OS for the restarted. -- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? -- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. -- **rebootState** The state of the restart. -- **revisionNumber** The revision number of the OS being updated. -- **scheduledRebootTime** Time of the scheduled reboot -- **updateId** The Windows Update device GUID. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICOInteractionCampaignComplete - -This event is generated whenever a RUXIM user interaction campaign becomes complete. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that became complete. -- **ResultId** The final result of the interaction campaign. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSEvaluateInteractionCampaign - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) finishes processing an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **ControlId** String identifying the control (if any) that was selected by the user during presentation. -- **hrInteractionHandler** The error (if any) reported by the RUXIM Interaction Handler while processing the interaction campaign. -- **hrScheduler** The error (if any) encountered by RUXIM Interaction Campaign Scheduler itself while processing the interaction campaign. -- **InteractionCampaignID** The ID of the interaction campaign that was processed. -- **ResultId** The result of the evaluation/presentation. -- **WasCompleted** True if the interaction campaign is complete. -- **WasPresented** True if the Interaction Handler displayed the interaction campaign to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSExit - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSLaunch - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMICS. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncExit - -This event is sent when RUXIM completes checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **hrInitialize** Error, if any, that occurred while initializing OneSettings. -- **hrQuery** Error, if any, that occurred while retrieving UX interaction campaign data from OneSettings. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncLaunch - -This event is sent when RUXIM begins checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHEvaluateAndPresent - -This event is generated when the RUXIM Interaction Handler finishes evaluating, and possibly presenting an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **hrLocal** The error (if any) encountered by RUXIM Interaction Handler during evaluation and presentation. -- **hrPresentation** The error (if any) reported by RUXIM Presentation Handler during presentation. -- **InteractionCampaignID** GUID; the user interaction campaign processed by RUXIM Interaction Handler. -- **ResultId** The result generated by the evaluation and presentation. -- **WasCompleted** True if the user interaction campaign is complete. -- **WasPresented** True if the user interaction campaign is displayed to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHExit - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that RUXIMIH processed. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHLaunch - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMIH. -- **InteractionCampaignID** GUID identifying the user interaction campaign that the Interaction Handler will process. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.SystemEvaluator.Evaluation - -This event is generated whenever the RUXIM Evaluator DLL performs an evaluation. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **HRESULT** Error, if any, that occurred during evaluation. (Note that if errors encountered during individual checks do not affect the overall result of the evaluation, those errors will be reported in NodeEvaluationData, but this HRESULT will still be zero.) -- **Id** GUID passed in by the caller to identify the evaluation. -- **NodeEvaluationData** Structure showing the results of individual checks that occurred during the overall evaluation. -- **Result** The overall result generated by the evaluation. - - -## Windows Update mitigation events - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The client ID used by Windows Update. -- **FlightId** The ID of each Windows Insider build the device received. -- **InstanceId** A unique device ID that identifies each update instance. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** The number of mounted images. -- **MountedImageMatches** The number of mounted image matches. -- **MountedImagesFailed** The number of mounted images that could not be removed. -- **MountedImagesRemoved** The number of mounted images that were successfully removed. -- **MountedImagesSkipped** The number of mounted images that were not found. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Windows Update. -- **WuId** Unique ID for the Windows Update client. - - -### Mitigation360Telemetry.MitigationCustom.FixupEditionId - -This event sends data specific to the FixupEditionId mitigation used for OS Updates. The data collected with this event is used to help keep Windows secure and up to date. - - - -## Windows Update Reserve Manager events - -### Microsoft.Windows.UpdateReserveManager.CommitPendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager commits a hard reserve adjustment that was pending. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.InitializeUpdateReserveManager - -This event returns data about the Update Reserve Manager, including whether it’s been initialized. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.RemovePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager removes a pending hard reserve adjustment. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. The data collected with this event is used to help keep Windows secure and up to date. - - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - - - -## XBOX events - -### Microsoft.Xbox.XamTelemetry.AppActivationError - -This event indicates whether the system detected an activation error in the app. - -The following fields are available: - -- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. -- **AppId** The Xbox LIVE Title ID. -- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. -- **Result** The HResult error. -- **UserId** The Xbox LIVE User ID (XUID). - - -### Microsoft.Xbox.XamTelemetry.AppActivity - -This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. - -The following fields are available: - -- **AppActionId** The ID of the application action. -- **AppCurrentVisibilityState** The ID of the current application visibility state. -- **AppId** The Xbox LIVE Title ID of the app. -- **AppPackageFullName** The full name of the application package. -- **AppPreviousVisibilityState** The ID of the previous application visibility state. -- **AppSessionId** The application session ID. -- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). -- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. -- **DurationMs** The amount of time (in milliseconds) since the last application state transition. -- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. -- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). -- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. -- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. -- **UserId** The XUID (Xbox User ID) of the current user. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md deleted file mode 100644 index 9e654c4f7c..0000000000 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ /dev/null @@ -1,6543 +0,0 @@ ---- -description: Learn more about the Windows 10, version 1709 diagnostic data gathered at the basic level. -title: Windows 10, version 1709 basic diagnostic events and fields (Windows 10) -ms.service: windows-client -ms.subservice: itpro-privacy -localizationpriority: medium -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 03/27/2017 -ms.topic: reference ---- - - -# Windows 10, version 1709 basic level Windows diagnostic events and fields - - **Applies to** - -- Windows 10, version 1709 - - -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. - -The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. - -Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. - -You can learn more about Windows functional and diagnostic data through these articles: - -- [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) -- [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) -- [Windows 10, version 1903 and Windows 10, version 1909 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) -- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - - -## Appraiser events - -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount - -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **DatasourceApplicationFile_RS4** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS4** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS4** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoBlock_RS4** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPassive_RS4** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS4** The count of the number of this particular object type present on this device. -- **DatasourceSystemBios_19H1Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS4** The count of the number of this particular object type present on this device. -- **DecisionApplicationFile_RS4** The count of the number of this particular object type present on this device. -- **DecisionDevicePnp_RS4** The count of the number of this particular object type present on this device. -- **DecisionDriverPackage_RS4** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoBlock_RS4** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoPassive_RS4** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS4** The count of the number of this particular object type present on this device. -- **DecisionMediaCenter_RS4** The count of the number of this particular object type present on this device. -- **DecisionSystemBios_19H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS4** The total number of objects of this type present on this device. -- **InventoryApplicationFile** The total number of objects of this type present on this device. -- **InventoryLanguagePack** The total number of objects of this type present on this device. -- **InventoryMediaCenter** The total number of objects of this type present on this device. -- **InventorySystemBios** The total number of objects of this type present on this device. -- **InventoryUplevelDriverPackage** The total number of objects of this type present on this device. -- **PCFP** The total number of objects of this type present on this device. -- **SystemMemory** The total number of objects of this type present on this device. -- **SystemProcessorCompareExchange** The total number of objects of this type present on this device. -- **SystemProcessorLahfSahf** The total number of objects of this type present on this device. -- **SystemProcessorNx** The total number of objects of this type present on this device. -- **SystemProcessorPrefetchW** The total number of objects of this type present on this device. -- **SystemProcessorSse2** The total number of objects of this type present on this device. -- **SystemTouch** The total number of objects of this type present on this device. -- **SystemWim** The total number of objects of this type present on this device. -- **SystemWindowsActivationStatus** The total number of objects of this type present on this device. -- **SystemWlan** The total number of objects of this type present on this device. -- **Wmdrm_RS4** The total Wmdrm objects targeting Windows 10, version 1803 present on this device. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd - -This event represents the basic metadata about specific application files installed on the system. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **AvDisplayName** If the app is an anti-virus app, this is its display name. -- **CompatModelIndex** The compatibility prediction for this file. -- **HasCitData** Indicates whether the file is present in CIT data. -- **HasUpgradeExe** Indicates whether the anti-virus app has an upgrade.exe file. -- **IsAv** Is the file an anti-virus reporting EXE? -- **ResolveAttempted** This will always be an empty string when sending diagnostic data. -- **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileRemove - -This event indicates that the DatasourceApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync - -This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd - -This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. -- **IsBootCritical** Indicates whether the device boot is critical. -- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. -- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd - -This event sends compatibility database data about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove - -This event indicates that the DatasourceDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync - -This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd - -This event sends blocking data about any compatibility blocking entries on the system that are not directly related to specific applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove - -This event indicates that the DataSourceMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events has completed being sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd - -This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd - -This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd - -This event sends compatibility database information about the BIOS to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove - -This event indicates that the DatasourceSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync - -This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileAdd - -This event sends compatibility decision data about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **BlockAlreadyInbox** The uplevel runtime block on the file already existed on the current OS. -- **BlockingApplication** Indicates whether there are any application issues that interfere with the upgrade due to the file in question. -- **DisplayGenericMessage** Will be a generic message be shown for this file? -- **HardBlock** This file is blocked in the SDB. -- **HasUxBlockOverride** Does the file have a block that is overridden by a tag in the SDB? -- **MigApplication** Does the file have a MigXML from the SDB associated with it that applies to the current upgrade mode? -- **MigRemoval** Does the file have a MigXML from the SDB that will cause the app to be removed on upgrade? -- **NeedsDismissAction** Will the file cause an action that can be dismissed? -- **NeedsInstallPostUpgradeData** After upgrade, the file will have a post-upgrade notification to install a replacement for the app. -- **NeedsNotifyPostUpgradeData** Does the file have a notification that should be shown after upgrade? -- **NeedsReinstallPostUpgradeData** After upgrade, this file will have a post-upgrade notification to reinstall the app. -- **NeedsUninstallAction** The file must be uninstalled to complete the upgrade. -- **SdbBlockUpgrade** The file is tagged as blocking upgrade in the SDB, -- **SdbBlockUpgradeCanReinstall** The file is tagged as blocking upgrade in the SDB. It can be reinstalled after upgrade. -- **SdbBlockUpgradeUntilUpdate** The file is tagged as blocking upgrade in the SDB. If the app is updated, the upgrade can proceed. -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the SDB. It does not block upgrade. -- **SdbReinstallUpgradeWarn** The file is tagged as needing to be reinstalled after upgrade with a warning in the SDB. It does not block upgrade. -- **SoftBlock** The file is softblocked in the SDB and has a warning. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove - -This event indicates that the DecisionApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileStartSync - -This event indicates that a new set of DecisionApplicationFileAdd events will be sent. This event is used to make compatibility decisions about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpAdd - -This event sends compatibility decision data about a Plug and Play (PNP) device to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? -- **AssociatedDriverWillNotMigrate** Will the driver associated with this plug-and-play device migrate? -- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? -- **BlockingDevice** Is this PNP device blocking upgrade? -- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? -- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? -- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? -- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? -- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? -- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? -- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? -- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? -- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? -- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? -- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove - -This event Indicates that the DecisionDevicePnp object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync - -This event indicates that a new set of DecisionDevicePnpAdd events will be sent. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd - -This event sends decision data about driver package compatibility to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? -- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? -- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? -- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? -- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove - -This event indicates that the DecisionDriverPackage object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageStartSync - -The DecisionDriverPackageStartSync event indicates that a new set of DecisionDriverPackageAdd events will be sent. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd - -This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **BlockingApplication** Are there are any application issues that interfere with upgrade due to matching info blocks? -- **DisplayGenericMessage** Will a generic message be shown for this block? -- **NeedsUninstallAction** Does the user need to take an action in setup due to a matching info block? -- **SdbBlockUpgrade** Is a matching info block blocking upgrade? -- **SdbBlockUpgradeCanReinstall** Is a matching info block blocking upgrade, but has the can reinstall tag? -- **SdbBlockUpgradeUntilUpdate** Is a matching info block blocking upgrade but has the until update tag? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove - -This event indicates that the DecisionMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveAdd - -This event sends compatibility decision data about non-blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Are there any application issues that interfere with upgrade due to matching info blocks? -- **MigApplication** Is there a matching info block with a mig for the current mode of upgrade? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove - -This event Indicates that the DecisionMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd - -This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **NeedsInstallPostUpgradeData** Will the file have a notification after upgrade to install a replacement for the app? -- **NeedsNotifyPostUpgradeData** Should a notification be shown for this file after upgrade? -- **NeedsReinstallPostUpgradeData** Will the file have a notification after upgrade to reinstall the app? -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the compatibility database (but is not blocking upgrade). - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove - -This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd - -This event sends decision data about the presence of Windows Media Center, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **BlockingApplication** Is there any application issues that interfere with upgrade due to Windows Media Center? -- **MediaCenterActivelyUsed** If Windows Media Center is supported on the edition, has it been run at least once and are the MediaCenterIndicators are true? -- **MediaCenterIndicators** Do any indicators imply that Windows Media Center is in active use? -- **MediaCenterInUse** Is Windows Media Center actively being used? -- **MediaCenterPaidOrActivelyUsed** Is Windows Media Center actively being used or is it running on a supported edition? -- **NeedsDismissAction** Are there any actions that can be dismissed coming from Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove - -This event indicates that the DecisionMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync - -This event indicates that a new set of DecisionMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd - -This event sends compatibility decision data about the BIOS to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device blocked from upgrade due to a BIOS block? -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for the bios. -- **HasBiosBlock** Does the device have a BIOS block? - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove - -This event indicates that the DecisionSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync - -This event indicates that a new set of DecisionSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.GatedRegChange - -This event sends data about the results of running a set of quick-blocking instructions, to help keep Windows up to date. - -The following fields are available: - -- **NewData** The data in the registry value after the scan completed. -- **OldData** The previous data in the registry value before the scan ran. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **RegKey** The registry key name for which a result is being sent. -- **RegValue** The registry value for which a result is being sent. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd - -This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or be part of an antivirus program. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **AvDisplayName** If the app is an antivirus app, this is its display name. -- **AvProductState** Indicates whether the antivirus program is turned on and the signatures are up to date. -- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64. -- **BinFileVersion** An attempt to clean up FileVersion at the client that tries to place the version into 4 octets. -- **BinProductVersion** An attempt to clean up ProductVersion at the client that tries to place the version into 4 octets. -- **BoeProgramId** If there is no entry in Add/Remove Programs, this is the ProgramID that is generated from the file metadata. -- **CompanyName** The company name of the vendor who developed this file. -- **FileId** A hash that uniquely identifies a file. -- **FileVersion** The File version field from the file metadata under Properties -> Details. -- **HasUpgradeExe** Indicates whether the antivirus app has an upgrade.exe file. -- **IsAv** Indicates whether the file an antivirus reporting EXE. -- **LinkDate** The date and time that this file was linked on. -- **LowerCaseLongPath** The full file path to the file that was inventoried on the device. -- **Name** The name of the file that was inventoried. -- **ProductName** The Product name field from the file metadata under Properties -> Details. -- **ProductVersion** The Product version field from the file metadata under Properties -> Details. -- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it. -- **Size** The size of the file (in hexadecimal bytes). - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove - -This event indicates that the InventoryApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync - -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd - -This event sends data about the number of language packs installed on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **HasLanguagePack** Indicates whether this device has 2 or more language packs. -- **LanguagePackCount** The number of language packs are installed. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove - -This event indicates that the InventoryLanguagePack object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync - -This event indicates that a new set of InventoryLanguagePackAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterAdd - -This event sends true/false data about decision points used to understand whether Windows Media Center is used on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **EverLaunched** Has Windows Media Center ever been launched? -- **HasConfiguredTv** Has the user configured a TV tuner through Windows Media Center? -- **HasExtendedUserAccounts** Are any Windows Media Center Extender user accounts configured? -- **HasWatchedFolders** Are any folders configured for Windows Media Center to watch? -- **IsDefaultLauncher** Is Windows Media Center the default app for opening music or video files? -- **IsPaid** Is the user running a Windows Media Center edition that implies they paid for Windows Media Center? -- **IsSupported** Does the running OS support Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove - -This event indicates that the InventoryMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync - -This event indicates that a new set of InventoryMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd - -This event sends basic metadata about the BIOS to determine whether it has a compatibility block. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BiosDate** The release date of the BIOS in UTC format. -- **BiosName** The name field from Win32_BIOS. -- **Manufacturer** The manufacturer field from Win32_ComputerSystem. -- **Model** The model field from Win32_ComputerSystem. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove - -This event indicates that the InventorySystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event runs only during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. It is critical in understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BootCritical** Is the driver package marked as boot critical? -- **Build** The build value from the driver package. -- **CatalogFile** The name of the catalog file within the driver package. -- **Class** The device class from the driver package. -- **ClassGuid** The device class unique ID from the driver package. -- **Date** The date from the driver package. -- **Inbox** Is the driver package of a driver that is included with Windows? -- **OriginalName** The original name of the INF file before it was renamed. Generally a path under $WINDOWS.~BT\Drivers\DU. -- **Provider** The provider of the driver package. -- **PublishedName** The name of the INF file after it was renamed. -- **Revision** The revision of the driver package. -- **SignatureStatus** Indicates if the driver package is signed. Unknown = 0, Unsigned = 1, Signed = 2. -- **VersionMajor** The major version of the driver package. -- **VersionMinor** The minor version of the driver package. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove - -This event indicates that the InventoryUplevelDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageStartSync - -This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.RunContext - -This event is sent at the beginning of an appraiser run, the RunContext indicates what should be expected in the following data payload. This event is used with the other Appraiser events to make compatibility decisions to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the currently running version of Appraiser was built. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Context** Indicates what mode Appraiser is running in. Example: Setup or Telemetry. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Subcontext** Indicates what categories of incompatibilities appraiser is scanning for. Can be N/A, Resolve, or a semicolon-delimited list that can include App, Dev, Sys, Gat, or Rescan. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryAdd - -This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device from upgrade due to memory restrictions? -- **MemoryRequirementViolated** Was a memory requirement violated? -- **pageFile** The current committed memory limit for the system or the current process, whichever is smaller (in bytes). -- **ram** The amount of memory on the device. -- **ramKB** The amount of memory (in KB). -- **virtual** The size of the user-mode portion of the virtual address space of the calling process (in bytes). -- **virtualKB** The amount of virtual memory (in KB). - - -### Microsoft.Windows.Appraiser.General.SystemMemoryRemove - -This event that the SystemMemory object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync - -This event indicates that a new set of SystemMemoryAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd - -This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **CompareExchange128Support** Does the CPU support CompareExchange128? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove - -This event indicates that the SystemProcessorCompareExchange object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync - -This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfAdd - -This event sends data indicating whether the system supports the LAHF & SAHF CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **LahfSahfSupport** Does the CPU support LAHF/SAHF? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove - -This event indicates that the SystemProcessorLahfSahf object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfStartSync - -This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd - -This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **NXDriverResult** The result of the driver used to do a non-deterministic check for NX support. -- **NXProcessorSupport** Does the processor support NX? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove - -This event indicates that the SystemProcessorNx object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxStartSync - -This event indicates that a new set of SystemProcessorNxAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd - -This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **PrefetchWSupport** Does the processor support PrefetchW? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove - -This event indicates that the SystemProcessorPrefetchW object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add - -This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **SSE2ProcessorSupport** Does the processor support SSE2? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove - -This event indicates that the SystemProcessorSse2 object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync - -This event indicates that a new set of SystemProcessorSse2Add events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchAdd - -This event sends data indicating whether the system supports touch, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? -- **MaximumTouches** The maximum number of touch points supported by the device hardware. - - -### Microsoft.Windows.Appraiser.General.SystemTouchRemove - -This event indicates that the SystemTouch object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimAdd - -This event sends data indicating whether the operating system is running from a compressed Windows Imaging Format (WIM) file, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IsWimBoot** Is the current operating system running from a compressed WIM file? -- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. - - -### Microsoft.Windows.Appraiser.General.SystemWimRemove - -This event indicates that the SystemWim object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd - -This event sends data indicating whether the current operating system is activated, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. -- **WindowsNotActivatedDecision** Is the current operating system activated? - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove - -This event indicates that the SystemWindowsActivationStatus object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusStartSync - -This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanAdd - -This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? -- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? -- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? -- **WlanExists** Does the device support WLAN at all? -- **WlanModulePresent** Are any WLAN modules present? -- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? - - -### Microsoft.Windows.Appraiser.General.SystemWlanRemove - -This event indicates that the SystemWlan object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanStartSync - -This event indicates that a new set of SystemWlanAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser telemetry run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and theefore is making decisions using up-to-date driver coverage information. -- **RunResult** The hresult of the Appraiser diagnostic data run. -- **SendingUtc** Indicates whether the Appraiser client is sending events during the current diagnostic data run. -- **StoreHandleIsNotNull** Obsolete, always set to false -- **TelementrySent** Indicates whether diagnostic data was successfully sent. -- **ThrottlingUtc** Indicates whether the Appraiser client is throttling its output of CUET events to avoid being disabled. This increases runtime but also diagnostic data reliability. -- **Time** The client time of the event. -- **VerboseMode** Indicates if appraiser ran in Verbose mode, which is a test-only mode with extra logging. -- **WhyFullSyncWithoutTablePrefix** Indicates the reason or reasons that a full sync was generated. - - -### Microsoft.Windows.Appraiser.General.WmdrmAdd - -This event sends data about the usage of older digital rights management on the system, to help keep Windows up to date. This data does not indicate the details of the media using the digital rights management, only whether any such files exist. Collecting this data was critical to ensuring the correct mitigation for customers, and should be able to be removed once all mitigations are in place. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Same as NeedsDismissAction. -- **NeedsDismissAction** Indicates if a dismissible message is needed to warn the user about a potential loss of data due to DRM deprecation. -- **WmdrmApiResult** Raw value of the API used to gather DRM state. -- **WmdrmCdRipped** Indicates if the system has any files encrypted with personal DRM, which was used for ripped CDs. -- **WmdrmIndicators** WmdrmCdRipped OR WmdrmPurchased. -- **WmdrmInUse** WmdrmIndicators AND dismissible block in setup was not dismissed. -- **WmdrmNonPermanent** Indicates if the system has any files with non-permanent licenses. -- **WmdrmPurchased** Indicates if the system has any files with permanent licenses. - - -### Microsoft.Windows.Appraiser.General.WmdrmRemove - -This event indicates that the Wmdrm object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.WmdrmStartSync - -The WmdrmStartSync event indicates that a new set of WmdrmAdd events will be sent. This event is used to understand the usage of older digital rights management on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -## Census events - -### Census.App - -This event sends version data about the Apps running on this device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. -- **AppraiserErrorCode** The error code of the last Appraiser run. -- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. -- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. -- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. -- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. -- **AppraiserTaskExitCode** The Appraiser task exist code. -- **AppraiserTaskLastRun** The last runtime for the Appraiser task. -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Battery - -This event sends type and capacity data about the battery on the device, as well as the number of connected standby devices in use. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalBatteryCapablities** Represents information about what the battery is capable of doing. -- **InternalBatteryCapacityCurrent** Represents the battery's current fully charged capacity in mWh (or relative). Compare this value to DesignedCapacity  to estimate the battery's wear. -- **InternalBatteryCapacityDesign** Represents the theoretical capacity of the battery when new, in mWh. -- **InternalBatteryNumberOfCharges** Provides the number of battery charges. This is used when creating new products and validating that existing products meets targeted functionality performance. -- **IsAlwaysOnAlwaysConnectedCapable** Represents whether the battery enables the device to be AlwaysOnAlwaysConnected . Boolean value. - - -### Census.Enterprise - -This event sends data about Azure presence, type, and cloud domain use in order to provide an understanding of the use and integration of devices in an enterprise, cloud, and server environment. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AzureOSIDPresent** Represents the field used to identify an Azure machine. -- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. -- **CDJType** Represents the type of cloud domain joined for the machine. -- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. -- **ContainerType** The type of container, such as process or virtual machine hosted. -- **EnrollmentType** Defines the type of MDM enrollment on the device. -- **HashedDomain** The hashed representation of the user domain used for login. -- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an enterprise Configuration Manager environment. -- **ServerFeatures** Represents the features installed on a Windows Server. This can be used by developers and administrators who need to automate the process of determining the features installed on a set of server computers. -- **SystemCenterID** The Configuration Manager ID is an anonymized one-way hash of the Active Directory Organization identifier - - -### Census.Firmware - -This event sends data about the BIOS and startup embedded in the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FirmwareManufacturer** Represents the manufacturer of the device's firmware (BIOS). -- **FirmwareReleaseDate** Represents the date the current firmware was released. -- **FirmwareType** Represents the firmware type. The various types can be unknown, BIOS, UEFI. -- **FirmwareVersion** Represents the version of the current firmware. - - -### Census.Flighting - -This event sends Windows Insider data from customers participating in improvement testing and feedback programs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceSampleRate** The telemetry sample rate assigned to the device. -- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. -- **FlightIds** A list of the different Windows Insider builds on this device. -- **FlightingBranchName** The name of the Windows Insider branch currently used by the device. -- **IsFlightsDisabled** Represents if the device is participating in the Windows Insider program. -- **MSA_Accounts** Represents a list of hashed IDs of the Microsoft Accounts that are flighting (pre-release builds) on this device. -- **SSRK** Retrieves the mobile targeting settings. - - -### Census.Hardware - -This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActiveMicCount** The number of active microphones attached to the device. -- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. -- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. -- **D3DMaxFeatureLevel** Supported Direct3D version. -- **DeviceColor** Indicates a color of the device. -- **DeviceForm** Indicates the form as per the device classification. -- **DeviceName** The device name that is set by the user. -- **DigitizerSupport** Is a digitizer supported? -- **DUID** The device unique ID. -- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). -- **InventoryId** The device ID used for compatibility testing. -- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). -- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. -- **SoCName** The firmware manufacturer of the device. -- **StudyID** Used to identify retail and non-retail device. -- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. -- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. -- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. -- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. -- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? - - -### Census.Memory - -This event sends data about the memory on the device, including ROM and RAM. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **TotalPhysicalRAM** Represents the physical memory (in MB). -- **TotalVisibleMemory** Represents the memory that is not reserved by the system. - - -### Census.Network - -This event sends data about the mobile and cellular network used by the device (mobile service provider, network, device ID, and service cost factors). The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **AssignedAccessStatus** Kiosk configuration mode. -- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. -- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time -- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. -- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). -- **InstallLanguage** The first language installed on the user machine. -- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. -- **IsEduData** Returns Boolean if the education data policy is enabled. -- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go -- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. -- **LanguagePacks** The list of language packages installed on the device. -- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. -- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. -- **OSEdition** Retrieves the version of the current OS. -- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivationResult** Returns Boolean if the OS Activation was successful. -- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. -- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. -- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. -- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. -- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. -- **ServiceProductKeyID** Retrieves the License key of the KMS -- **SharedPCMode** Returns Boolean for devices that have enabled the configuration EnableSharedPCMode. -- **Signature** Retrieves if it is a signature machine sold by Microsoft store. -- **SLICStatus** Whether a SLIC table exists on the device. -- **SLICVersion** Returns OS type/version from SLIC table. - - -### Census.Processor - -This event sends data about the processor. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **KvaShadow** This is the micro code information of the processor. -- **MMSettingOverride** Microcode setting of the processor. -- **MMSettingOverrideMask** Microcode setting override of the processor. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. -- **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** The microcode revision. -- **ProcessorUpdateStatus** Enum value that represents the processor microcode load status -- **SocketCount** Count of CPU sockets. -- **SpeculationControl** Indicates whether the system has enabled protections needed to validate the speculation control vulnerability. - - -### Census.Security - -This event provides information about security settings. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. -- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. -- **DGState** This field summarizes the Device Guard state. -- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. -- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. -- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. -- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. - - -### Census.Speech - -This event is used to gather basic speech settings on the device. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AboveLockEnabled** Cortana setting that represents if Cortana can be invoked when the device is locked. -- **GPAllowInputPersonalization** Indicates if a Group Policy setting has enabled speech functionalities. -- **HolographicSpeechInputDisabled** Holographic setting that represents if the attached HMD devices have speech functionality disabled by the user. -- **HolographicSpeechInputDisabledRemote** Indicates if a remote policy has disabled speech functionalities for the HMD devices. -- **KWSEnabled** Cortana setting that represents if a user has enabled the "Hey Cortana" keyword spotter (KWS). -- **MDMAllowInputPersonalization** Indicates if an MDM policy has enabled speech functionalities. -- **RemotelyManaged** Indicates if the device is being controlled by a remote administrator (MDM or Group Policy) in the context of speech functionalities. -- **SpeakerIdEnabled** Cortana setting that represents if keyword detection has been trained to try to respond to a single user's voice. -- **SpeechServicesEnabled** Windows setting that represents whether a user is opted-in for speech services on the device. - - -### Census.Storage - -This event sends data about the total capacity of the system volume and primary disk. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PrimaryDiskTotalCapacity** Retrieves the amount of disk space on the primary disk of the device in MB. -- **PrimaryDiskType** Retrieves an enumerator value of type STORAGE_BUS_TYPE that indicates the type of bus to which the device is connected. This should be used to interpret the raw device properties at the end of this structure (if any). -- **SystemVolumeTotalCapacity** Retrieves the size of the partition that the System volume is installed on in MB. - - -### Census.Userdefault - -This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultApp** The current user's default program selected for the following extension or protocol: .html, .htm, .jpg, .jpeg, .png, .mp3, .mp4, .mov, .pdf. -- **DefaultBrowserProgId** The ProgramId of the current user's default browser. - - -### Census.UserDisplay - -This event sends data about the logical/physical display size, resolution and number of internal/external displays, and VRAM on the system. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalPrimaryDisplayLogicalDPIX** Retrieves the logical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayLogicalDPIY** Retrieves the logical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIX** Retrieves the physical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIY** Retrieves the physical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayResolutionHorizontal** Retrieves the number of pixels in the horizontal direction of the internal display. -- **InternalPrimaryDisplayResolutionVertical** Retrieves the number of pixels in the vertical direction of the internal display. -- **InternalPrimaryDisplaySizePhysicalH** Retrieves the physical horizontal length of the display in mm. Used for calculating the diagonal length in inches . -- **InternalPrimaryDisplaySizePhysicalY** Retrieves the physical vertical length of the display in mm. Used for calculating the diagonal length in inches -- **NumberofExternalDisplays** Retrieves the number of external displays connected to the machine -- **NumberofInternalDisplays** Retrieves the number of internal displays in a machine. -- **VRAMDedicated** Retrieves the video RAM in MB. -- **VRAMDedicatedSystem** Retrieves the amount of memory on the dedicated video card. -- **VRAMSharedSystem** Retrieves the amount of RAM memory that the video card can use. - - -### Census.UserNLS - -This event sends data about the default app language, input, and display language preferences set by the user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultAppLanguage** The current user Default App Language. -- **DisplayLanguage** The current user preferred Windows Display Language. -- **HomeLocation** The current user location, which is populated using GetUserGeoId() function. -- **KeyboardInputLanguages** The Keyboard input languages installed on the device. -- **SpeechInputLanguages** The Speech Input languages installed on the device. - - -### Census.VM - -This event sends data indicating whether virtualization is enabled on the device, and its various characteristics. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. -- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. -- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. -- **IsVDI** Is the device using Virtual Desktop Infrastructure? -- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? -- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? -- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? -- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? -- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? -- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. -- **OSRollbackCount** The number of times feature updates have rolled back on the device. -- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. -- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . -- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. -- **UninstallActive** A flag that represents when a device has uninstalled a previous upgrade recently. -- **UpdateServiceURLConfigured** Retrieves if the device is managed by Windows Server Update Services (WSUS). -- **WUDeferUpdatePeriod** Retrieves if deferral is set for Updates. -- **WUDeferUpgradePeriod** Retrieves if deferral is set for Upgrades. -- **WUDODownloadMode** Retrieves whether DO is turned on and how to acquire/distribute updates Delivery Optimization (DO) allows users to deploy previously downloaded Windows Update (WU) updates to other devices on the same network. -- **WUMachineId** Retrieves the Windows Update (WU) Machine Identifier. -- **WUPauseState** Retrieves Windows Update setting to determine if updates are paused. -- **WUServer** Retrieves the HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default). - - -### Census.Xbox - -This event sends data about the Xbox Console, such as Serial Number and DeviceId, to help keep Windows up to date. - -The following fields are available: - -- **XboxConsolePreferredLanguage** Retrieves the preferred language selected by the user on Xbox console. -- **XboxConsoleSerialNumber** Retrieves the serial number of the Xbox console. -- **XboxLiveDeviceId** Retrieves the unique device ID of the console. -- **XboxLiveSandboxId** Retrieves the developer sandbox ID if the device is internal to Microsoft. - - -## Common data extensions - -### Common Data Extensions.app - -Describes the properties of the running application. This extension could be populated by a client app or a web app. - -The following fields are available: - -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **env** The environment from which the event was logged. -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **userId** The userID as known by the application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.container - -Describes the properties of the container for events logged within a container. - -The following fields are available: - -- **localId** The device ID as known by the client. -- **osVer** The operating system version. -- **type** The container type. Examples: Process or VMHost - - -### Common Data Extensions.cs - -Describes properties related to the schema of the event. - -The following fields are available: - -- **sig** A common schema signature that identifies new and modified event schemas. - - -### Common Data Extensions.device - -Describes the device-related fields. - -The following fields are available: - -- **deviceClass** Represents the classification of the device, the device “family”. For example, Desktop, Server, or Mobile. -- **localId** Represents a locally defined unique ID for the device, not the human readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId - - -### Common Data Extensions.Envelope - -Represents an envelope that contains all of the common data extensions. - -The following fields are available: - -- **appId** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **appVer** Represents the version number of the application. Used to understand errors by version and usage by version across an app. -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related telemetry events across component boundaries. -- **data** Represents the optional unique diagnostic data for a particular event schema. -- **epoch** ID used to help distinguish events in the sequence by indicating the current boot session. -- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). -- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). -- **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). -- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). -- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). -- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). -- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). -- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **iKey** Represents an ID for applications or other logical groupings of events. -- **name** Represents the uniquely qualified name for the event. -- **os** The operating system name. -- **osVer** The operating system version. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **seqNum** Used to track the absolute order of uploaded events. -- **tags** A header for semi-managed extensions. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.os - -Describes some properties of the operating system. - -The following fields are available: - -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. - - -### Common Data Extensions.user - -Describes the fields related to a user. - -The following fields are available: - -- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.utc - -Describes the properties that could be populated by a logging library on Windows. - -The following fields are available: - -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence -- **op** Represents the ETW Op Code. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. -- **tickets** An array of strings that refer back to a key in the X-Tickets http header that the client uploaded along with a batch of events. - - -### Common Data Extensions.xbl - -Describes the fields that are related to XBOX Live. - -The following fields are available: - -- **claims** Any additional claims whose short claim name hasn't been added to this structure. -- **did** XBOX device ID -- **dty** XBOX device type -- **dvr** The version of the operating system on the device. -- **eid** A unique ID that represents the developer entity. -- **exp** Expiration time -- **ip** The IP address of the client device. -- **nbf** Not before time -- **pid** A comma separated list of PUIDs listed as base10 numbers. -- **sbx** XBOX sandbox identifier -- **sid** The service instance ID. -- **sty** The service type. -- **tid** The XBOX Live title ID. -- **tvr** The XBOX Live title version. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. -- **xid** A list of base10-encoded XBOX User IDs. - - -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - -## Component-based Servicing events - -### CbsServicingProvider.CbsCapabilityEnumeration - -This event reports on the results of scanning for optional Windows content on Windows Update to keep Windows up to date. - -The following fields are available: - -- **architecture** Indicates the scan was limited to the specified architecture. -- **capabilityCount** The number of optional content packages found during the scan. -- **clientId** The name of the application requesting the optional content. -- **duration** The amount of time it took to complete the scan. -- **hrStatus** The HReturn code of the scan. -- **language** Indicates the scan was limited to the specified language. -- **majorVersion** Indicates the scan was limited to the specified major version. -- **minorVersion** Indicates the scan was limited to the specified minor version. -- **namespace** Indicates the scan was limited to packages in the specified namespace. -- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionFinalize - -This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **capabilities** The names of the optional content packages that were installed. -- **clientId** The name of the application requesting the optional content. -- **highestState** The highest final install state of the optional content. -- **hrStatus** The HReturn code of the install operation. -- **rebootCount** The number of reboots required to complete the install. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionPended - -This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. - -The following fields are available: - -- **clientId** The name of the application requesting the optional content. -- **pendingDecision** Indicates the cause of reboot, if applicable. - - -### CbsServicingProvider.CbsQualityUpdateInstall - -This event reports on the performance and reliability results of installing Servicing content from Windows Update to keep Windows up to date. - - - -### CbsServicingProvider.CbsSelectableUpdateChangeV2 - -This event reports the results of enabling or disabling optional Windows Content to keep Windows up to date. - -The following fields are available: - -- **applicableUpdateState** Indicates the highest applicable state of the optional content. -- **buildVersion** The build version of the package being installed. -- **clientId** The name of the application requesting the optional content change. -- **downloadSource** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **downloadtimeInSeconds** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **executionID** A unique ID used to identify events associated with a single servicing operation and not reused for future operations. -- **executionSequence** A counter that tracks the number of servicing operations attempted on the device. -- **firstMergedExecutionSequence** The value of a pervious executionSequence counter that is being merged with the current operation, if applicable. -- **firstMergedID** A unique ID of a pervious servicing operation that is being merged with this operation, if applicable. -- **hrDownloadResult** The return code of the download operation. -- **hrStatusUpdate** The return code of the servicing operation. -- **identityHash** A pseudonymized (hashed) identifier for the Windows Package that is being installed or uninstalled. -- **initiatedOffline** Indicates whether the operation was performed against an offline Windows image file or a running instance of Windows. -- **majorVersion** The major version of the package being installed. -- **minorVersion** The minor version of the package being installed. -- **packageArchitecture** The architecture of the package being installed. -- **packageLanguage** The language of the package being installed. -- **packageName** The name of the package being installed. -- **rebootRequired** Indicates whether a reboot is required to complete the operation. -- **revisionVersion** The revision number of the package being installed. -- **stackBuild** The build number of the servicing stack binary performing the installation. -- **stackMajorVersion** The major version number of the servicing stack binary performing the installation. -- **stackMinorVersion** The minor version number of the servicing stack binary performing the installation. -- **stackRevision** The revision number of the servicing stack binary performing the installation. -- **updateName** The name of the optional Windows Operation System feature being enabled or disabled. -- **updateStartState** A value indicating the state of the optional content before the operation started. -- **updateTargetState** A value indicating the desired state of the optional content. - - -## Diagnostic data events - -### TelClientSynthetic.AuthorizationInfo_RuntimeTransition - -This event is fired by UTC at state transitions to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - - - -### TelClientSynthetic.AuthorizationInfo_Startup - -This event is fired by UTC at startup to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if UTC is allowed to add MSA user identity onto telemetry from the OS provider groups. -- **CanCollectAnyTelemetry** True if UTC is allowed to collect non-OS telemetry. Non-OS telemetry is responsible for providing its own opt-in mechanism. -- **CanCollectCoreTelemetry** True if UTC is allowed to collect data which is tagged with both MICROSOFT_KEYWORD_CRITICAL_DATA and MICROSOFT_EVENTTAG_CORE_DATA. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if UTC is allowed to collect telemetry from the OS provider groups (often called Microsoft Telemetry). -- **CanPerformDiagnosticEscalations** True if UTC is allowed to perform all scenario escalations. -- **CanPerformTraceEscalations** True if UTC is allowed to perform scenario escalations with tracing actions. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask representing the previously configured permissions since the telemetry client was last started. -- **TransitionFromEverythingOff** True if this transition is moving from not allowing core telemetry to allowing core telemetry. - - -### TelClientSynthetic.ConnectivityHeartBeat_0 - -This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads telemetry events. If an unrestricted free network (such as Wi-Fi) is available, this event updates the last successful upload time. Otherwise, it checks whether a Connectivity Heartbeat event was fired in the past 24 hours, and if not, it sends an event. A Connectivity Heartbeat event is also sent when a device recovers from costed network to free network. This event is fired by UTC during periods of no network as a heartbeat signal, to keep Windows secure and up to date. - -The following fields are available: - -- **CensusExitCode** Last exit code of Census task -- **CensusStartTime** Returns timestamp corresponding to last successful census run. -- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. -- **LastConnectivityLossTime** The FILETIME at which the last free network loss occurred. -- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedNetworkTime** The total number of seconds with restricted network during this heartbeat period. - - -### TelClientSynthetic.HeartBeat_5 - -This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. - - - -### TelClientSynthetic.HeartBeat_Aria_5 - -This event is the telemetry client ARIA heartbeat. - -The following fields are available: - -- **CompressedBytesUploaded** Number of compressed bytes uploaded -- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event database. -- **DbCriticalDroppedCount** Total number of dropped critical events in event database. -- **DbDroppedCount** Number of events dropped at the database layer. -- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. -- **EventSubStoreResetCounter** Number of times event database was reset. -- **EventSubStoreResetSizeSum** Total size of event database across all resets reports in this instance. -- **EventsUploaded** Number of events uploaded. -- **InvalidHttpCodeCounter** Number of invalid HTTP codes received from contacting Vortex. -- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting OneSettings service. -- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures received from Vortex. -- **VortexHttpAttempts** Number of attempts to contact Vortex. -- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. -- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. -- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. - - -### TelClientSynthetic.TailoredExperiencesWithDiagnosticDataUpdate - -This event is triggered when UTC determines it needs to send information about personalization settings of the user. - - - -## DxgKernelTelemetry events - -### DxgKrnlTelemetry.BddDiag - -This event records Microsoft basic display driver diagnostic information. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BiosFlags** Bitwise flags that contain graphics related firmware information on the device such as the system was booted with display or not, system was using VBIOS or UEFI GOP, and VBIOS has a valid display mode list or not. -- **CurrentMode** Information about the current display mode such as the resolution, rotation, and scaling. -- **DefaultModeReason** Numeric value indicating the reason that the Microsoft Basic Display Driver is in use. -- **DefaultModeResolution** Default resolution that Microsoft Basic Display Driver detected. -- **DefaultResolutionProvider** Numeric value indicating the source of the default resolution. -- **Flags** Bitwise flags containing Microsoft Basic Display Driver related information such as if it is running because there is no graphics driver or user PnP stopped the graphics driver, it has valid EDID or not on the connected monitor and where the EDID was from, it is running at gray scale mode or not, it is running without display or not. -- **HeadlessReason** Numeric value indicating why there is no display. -- **LogAssertionCount** Number of assertions that were encountered before this event was recorded. -- **LogErrorCount** Number of errors that were encountered before this event was recorded. -- **MonitorPowerState** Current power state of the monitor. -- **Version** Version of the schema for this event. - - -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. -- **aiSeqId** The event sequence ID. -- **bootId** The system boot ID. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **DisplayAdapterLuid** The display adapter LUID. -- **DriverDate** The date of the display driver. -- **DriverRank** The rank of the display driver. -- **DriverVersion** The display driver version. -- **GPUDeviceID** The GPU device ID. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURevisionID** The GPU revision ID. -- **GPUVendorID** The GPU vendor ID. -- **InterfaceId** The GPU interface ID. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsRemovable** TRUE if the adapter supports being disabled or removed. -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. -- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). -- **SubSystemID** The subsystem ID. -- **SubVendorID** The GPU sub vendor ID. -- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? -- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) -- **version** The event version. -- **WDDMVersion** The Windows Display Driver Model version. - - -## Failover Clustering events - -### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 - -This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. - -The following fields are available: - -- **autoAssignSite** The cluster parameter: auto site. -- **autoBalancerLevel** The cluster parameter: auto balancer level. -- **autoBalancerMode** The cluster parameter: auto balancer mode. -- **blockCacheSize** The configured size of the block cache. -- **ClusterAdConfiguration** The ad configuration of the cluster. -- **clusterAdType** The cluster parameter: mgmt_point_type. -- **clusterDumpPolicy** The cluster configured dump policy. -- **clusterFunctionalLevel** The current cluster functional level. -- **clusterGuid** The unique identifier for the cluster. -- **clusterWitnessType** The witness type the cluster is configured for. -- **countNodesInSite** The number of nodes in the cluster. -- **crossSiteDelay** The cluster parameter: CrossSiteDelay. -- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. -- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. -- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. -- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. -- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. -- **csvResourceCount** The number of resources in the cluster. -- **currentNodeSite** The name configured for the current site for the cluster. -- **dasModeBusType** The direct storage bus type of the storage spaces. -- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. -- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. -- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. -- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. -- **genAppNames** The win32 service name of a clustered service. -- **genSvcNames** The command line of a clustered genapp. -- **hangRecoveryAction** The cluster parameter: hang recovery action. -- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. -- **isCalabria** Specifies whether storage spaces direct is enabled. -- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. -- **isRunningDownLevel** Identifies if the current node is running down-level. -- **logLevel** Specifies the granularity that is logged in the cluster log. -- **logSize** Specifies the size of the cluster log. -- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. -- **minNeverPreempt** The cluster parameter: minimum never preempt. -- **minPreemptor** The cluster parameter: minimum preemptor priority. -- **netftIpsecEnabled** The parameter: netftIpsecEnabled. -- **NodeCount** The number of nodes in the cluster. -- **nodeId** The current node number in the cluster. -- **nodeResourceCounts** Specifies the number of node resources. -- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. -- **numberOfSites** The number of different sites. -- **numNodesInNoSite** The number of nodes not belonging to a site. -- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. -- **preferredSite** The preferred site location. -- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. -- **quarantineDuration** The quarantine duration. -- **quarantineThreshold** The quarantine threshold. -- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. -- **resiliencyLevel** Specifies the level of resiliency. -- **resourceCounts** Specifies the number of resources. -- **resourceTypeCounts** Specifies the number of resource types in the cluster. -- **resourceTypes** Data representative of each resource type. -- **resourceTypesPath** Data representative of the DLL path for each resource type. -- **sameSubnetDelay** The cluster parameter: same subnet delay. -- **sameSubnetThreshold** The cluster parameter: same subnet threshold. -- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). -- **securityLevel** The cluster parameter: security level. -- **securityLevelForStorage** The cluster parameter: security level for storage. -- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. -- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. -- **upNodeCount** Specifies the number of nodes that are up (online). -- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. -- **vmIsolationTime** The cluster parameter: VM isolation time. -- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. - - -## Fault Reporting events - -### Microsoft.Windows.FaultReporting.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. - -The following fields are available: - -- **AppName** The name of the app that has crashed. -- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModVersion** The version of the module that has crashed. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessId** The ID of the process that has crashed. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported -- **TargetAsId** The sequence number for the hanging process. - - -## Feature update events - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed - -This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **failureReason** Provides data about the uninstall initialization operation failure. -- **hr** Provides the Win32 error code for the operation failure. - - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFinalizedAndRebootTriggered - -This event indicates that the uninstall was properly configured and that a system reboot was initiated. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **name** Name of the event - - -### Microsoft.Windows.Upgrade.Uninstall.UninstallGoBackButtonClicked - -This event sends basic metadata about the starting point of uninstalling a feature update, which helps ensure customers can safely revert to a well-known state if the update caused any problems. - - - -## Hang Reporting events - -### Microsoft.Windows.HangReporting.AppHangEvent - -This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. - -The following fields are available: - -- **AppName** The name of the app that has hung. -- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. -- **AppVersion** The version of the app that has hung. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. - - -## Inventory events - -### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum - -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Device** A count of device objects in cache. -- **DeviceCensus** A count of devicecensus objects in cache. -- **DriverPackageExtended** A count of driverpackageextended objects in cache. -- **File** A count of file objects in cache. -- **FileSigningInfo** A count of file signing objects in cache. -- **Generic** A count of generic objects in cache. -- **HwItem** A count of hwitem objects in cache. -- **InventoryApplication** A count of application objects in cache. -- **InventoryApplicationFile** A count of application file objects in cache. -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDeviceUsbHubClass** A count of device usb objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **Metadata** A count of metadata objects in cache. -- **Orphan** A count of orphan file objects in cache. -- **Programs** A count of program objects in cache. - - -### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions - -This event sends inventory component versions for the Device Inventory data. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **aeinv** The version of the App inventory component. -- **devinv** The file version of the Device inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd - -This event sends basic metadata about an application on the system. The data collected with this event is used to keep Windows performing properly and up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). -- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 -- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. -- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. -- **InventoryVersion** The version of the inventory file generating the events. -- **Language** The language code of the program. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **PackageFullName** The package full name for a Store application. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. -- **Version** The version number of the program. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd - -This event represents what drivers an application installs. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. -- **ProgramIds** The unique program identifier the driver is associated with. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync - -The InventoryApplicationDriverStartSync event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd - -This event provides the basic metadata about the frameworks an application may depend on. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **FileId** A hash that uniquely identifies a file. -- **Frameworks** The list of frameworks this file depends on. -- **InventoryVersion** The version of the inventory file generating the events. -- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync - -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync - -This event indicates that a new set of InventoryApplicationAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerAdd - -This event sends basic metadata about a device container (such as a monitor or printer as opposed to a Plug and Play device). The data collected with this event is used to help keep Windows up to date and to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Categories** A comma separated list of functional categories in which the container belongs. -- **DiscoveryMethod** The discovery method for the device container. -- **FriendlyName** The name of the device container. -- **InventoryVersion** The version of the inventory file generating the events. -- **IsActive** Is the device connected, or has it been seen in the last 14 days? -- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. -- **IsMachineContainer** Is the container the root device itself? -- **IsNetworked** Is this a networked device? -- **IsPaired** Does the device container require pairing? -- **Manufacturer** The manufacturer name for the device container. -- **ModelId** A unique model ID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **PrimaryCategory** The primary category for the device container. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove - -This event indicates that the InventoryDeviceContainer object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync - -This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd - -This event retrieves information about what sensor interfaces are available on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Accelerometer3D** Indicates if an Accelerator3D sensor is found. -- **ActivityDetection** Indicates if an Activity Detection sensor is found. -- **AmbientLight** Indicates if an Ambient Light sensor is found. -- **Barometer** Indicates if a Barometer sensor is found. -- **Custom** Indicates if a Custom sensor is found. -- **EnergyMeter** Indicates if an Energy sensor is found. -- **FloorElevation** Indicates if a Floor Elevation sensor is found. -- **GeomagneticOrientation** Indicates if a Geo Magnetic Orientation sensor is found. -- **GravityVector** Indicates if a Gravity Detector sensor is found. -- **Gyrometer3D** Indicates if a Gyrometer3D sensor is found. -- **Humidity** Indicates if a Humidity sensor is found. -- **InventoryVersion** The version of the inventory file generating the events. -- **LinearAccelerometer** Indicates if a Linear Accelerometer sensor is found. -- **Magnetometer3D** Indicates if a Magnetometer3D sensor is found. -- **Orientation** Indicates if an Orientation sensor is found. -- **Pedometer** Indicates if a Pedometer sensor is found. -- **Proximity** Indicates if a Proximity sensor is found. -- **RelativeOrientation** Indicates if a Relative Orientation sensor is found. -- **SimpleDeviceOrientation** Indicates if a Simple Device Orientation sensor is found. -- **Temperature** Indicates if a Temperature sensor is found. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync - -This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassAdd - -This event sends additional metadata about a Plug and Play device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Audio_CaptureDriver** The Audio device capture driver endpoint. -- **Audio_RenderDriver** The Audio device render driver endpoint. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassRemove - -This event indicates that the InventoryDeviceMediaClass object represented by the objectInstanceId is no longer present. This event is used to understand a PNP device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync - -This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd - -This event sends basic metadata about a PNP device and its associated driver to help keep Windows up to date. This information is used to assess if the PNP device and driver will remain compatible when upgrading Windows. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **BusReportedDescription** The description of the device reported by the bus. -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class unique identifier of the driver package loaded on the device. -- **COMPID** The list of “Compatible IDs” for this device. -- **ContainerId** The system-supplied unique identifier that specifies which group(s) the device(s) installed on the parent (main) device belong to. -- **Description** The description of the device. -- **DeviceState** Identifies the current state of the parent (main) device. -- **DriverId** The unique identifier for the installed driver. -- **DriverName** The file name of the installed driver image. -- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **DriverVerDate** The date associated with the driver installed on the device. -- **DriverVerVersion** The version number of the driver installed on the device. -- **Enumerator** Identifies the bus that enumerated the device. -- **HWID** A list of hardware IDs for the device. -- **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: [Device Install State](/windows-hardware/drivers/ddi/wdm/ne-wdm-_device_install_state) -- **InventoryVersion** The version number of the inventory process generating the events. -- **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. -- **LowerFilters** The identifiers of the Lower filters installed for the device. -- **Manufacturer** The manufacturer of the device. -- **MatchingID** The Hardware ID or Compatible ID that Windows uses to install a device instance. -- **Model** Identifies the model of the device. -- **ParentId** The Device Instance ID of the parent of the device. -- **ProblemCode** The error code currently returned by the device, if applicable. -- **Provider** Identifies the device provider. -- **Service** The name of the device service. -- **STACKID** The list of hardware IDs for the stack. -- **UpperClassFilters** The identifiers of the Upper Class filters installed for the device. -- **UpperFilters** The identifiers of the Upper filters installed for the device. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove - -This event indicates that the InventoryDevicePnpRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassAdd - -This event sends basic metadata about the USB hubs on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. -- **TotalUserConnectablePorts** Total number of connectable USB ports. -- **TotalUserConnectableTypeCPorts** Total number of connectable USB Type C ports. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync - -This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd - -This event sends basic metadata about driver binaries running on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **DriverCheckSum** The checksum of the driver file. -- **DriverCompany** The company name that developed the driver. -- **DriverInBox** Is the driver included with the operating system? -- **DriverIsKernelMode** Is it a kernel mode driver? -- **DriverName** The file name of the driver. -- **DriverPackageStrongName** The strong name of the driver package -- **DriverSigned** Is the driver signed? -- **DriverTimeStamp** The low 32 bits of the time stamp of the driver file. -- **DriverType** A bitfield of driver attributes: 1. define DRIVER_MAP_DRIVER_TYPE_PRINTER 0x0001. 2. define DRIVER_MAP_DRIVER_TYPE_KERNEL 0x0002. 3. define DRIVER_MAP_DRIVER_TYPE_USER 0x0004. 4. define DRIVER_MAP_DRIVER_IS_SIGNED 0x0008. 5. define DRIVER_MAP_DRIVER_IS_INBOX 0x0010. 6. define DRIVER_MAP_DRIVER_IS_WINQUAL 0x0040. 7. define DRIVER_MAP_DRIVER_IS_SELF_SIGNED 0x0020. 8. define DRIVER_MAP_DRIVER_IS_CI_SIGNED 0x0080. 9. define DRIVER_MAP_DRIVER_HAS_BOOT_SERVICE 0x0100. 10. define DRIVER_MAP_DRIVER_TYPE_I386 0x10000. 11. define DRIVER_MAP_DRIVER_TYPE_IA64 0x20000. 12. define DRIVER_MAP_DRIVER_TYPE_AMD64 0x40000. 13. define DRIVER_MAP_DRIVER_TYPE_ARM 0x100000. 14. define DRIVER_MAP_DRIVER_TYPE_THUMB 0x200000. 15. define DRIVER_MAP_DRIVER_TYPE_ARMNT 0x400000. 16. define DRIVER_MAP_DRIVER_IS_TIME_STAMPED 0x800000. -- **DriverVersion** The version of the driver file. -- **ImageSize** The size of the driver file. -- **Inf** The name of the INF file. -- **InventoryVersion** The version of the inventory file generating the events. -- **Product** The product name that is included in the driver file. -- **ProductVersion** The product version that is included in the driver file. -- **Service** The name of the service that is installed for the device. -- **WdfVersion** The Windows Driver Framework version. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove - -This event indicates that the InventoryDriverBinary object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync - -This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageAdd - -This event sends basic metadata about drive packages installed on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **DriverInBox** Is the driver included with the operating system? -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync - -This event indicates that a new set of InventoryDriverPackageAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.General. InventoryMiscellaneousMemorySlotArrayInfoRemove - -This event indicates that this particular data object represented by the ObjectInstanceId is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.AppHealthStaticAdd - -This event sends details collected for a specific application on the source device. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AhaVersion** The binary version of the App Health Analyzer tool. -- **ApplicationErrors** The count of application errors from the event log. -- **Bitness** The architecture type of the application (16 Bit or 32 bit or 64 bit). -- **device_level** Various JRE/JAVA versions installed on a particular device. -- **ExtendedProperties** Attribute used for aggregating all other attributes under this event type. -- **Jar** Flag to determine if an app has a Java JAR file dependency. -- **Jre** Flag to determine if an app has JRE framework dependency. -- **Jre_version** JRE versions an app has declared framework dependency for. -- **Name** Name of the application. -- **NonDPIAware** Flag to determine if an app is non-DPI aware -- **NumBinaries** Count of all binaries (.sys,.dll,.ini) from application install location. -- **RequiresAdmin** Flag to determine if an app requests admin privileges for execution. -- **RequiresAdminv2** Additional flag to determine if an app requests admin privileges for execution. -- **RequiresUIAccess** Flag to determine if an app is based on UI features for accessibility. -- **VB6** Flag to determine if an app is based on VB6 framework. -- **VB6v2** Additional flag to determine if an app is based on VB6 framework. -- **Version** Version of the application. -- **VersionCheck** Flag to determine if an app has a static dependency on OS version. -- **VersionCheckv2** Additional flag to determine if an app has a static dependency on OS version. - - -### Microsoft.Windows.Inventory.General.AppHealthStaticStartSync - -This event indicates the beginning of a series of AppHealthStaticAdd events. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AllowTelemetry** Indicates the presence of the 'allowtelemetry' command line argument. -- **CommandLineArgs** Command line arguments passed when launching the App Health Analyzer executable. -- **Enhanced** Indicates the presence of the 'enhanced' command line argument. -- **StartTime** UTC date and time at which this event was sent. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoAdd - -This event provides basic information about active memory slots on the device. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Capacity** Memory size in bytes -- **Manufacturer** Name of the DRAM manufacturer -- **Model** Model and sub-model of the memory -- **Slot** Slot to which the DRAM is plugged into the motherboard. -- **Speed** The configured memory slot speed in MHz. -- **Type** Reports DDR as an enumeration value per DMTF SMBIOS standard version 3.3.0, section 7.18.2. -- **TypeDetails** Reports Non-volatile as a bit flag enumeration per DMTF SMBIOS standard version 3.3.0, section 7.18.3. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync - -This diagnostic event indicates a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd - -This event provides data on Unified Update Platform (UUP) products and what version they are at. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Identifier** UUP identifier -- **LastActivatedVersion** Last activated version -- **PreviousVersion** Previous version -- **Source** UUP source -- **Version** UUP version - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -This is a diagnostic event that indicates a new sync is being generated for this object type. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.Checksum - -This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **ChecksumDictionary** A count of each operating system indicator. -- **PCFP** Equivalent to the InventoryId field that is found in other core events. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd - -This event represents the basic metadata about the OS indicators installed on the system. The data collected with this event helps ensure the device is up to date and keeps Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **IndicatorValue** The indicator value. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -## Kernel events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch - -This event includes basic data about the Operating System, collected during Boot and used to evaluate the success of the upgrade process. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. -- **BootStatusPolicy** Identifies the applicable Boot Status Policy. -- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. -- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. -- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonPch** Reason for system reset provided by firmware. -- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). -- **LastBootSucceeded** Flag indicating whether the last boot was successful. -- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. -- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). -- **RecoveryEnabled** Indicates whether recovery is enabled. -- **UserInputTime** The amount of time the loader application spent waiting for user input. - - -## Migration events - -### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFSys - -This event returns data about the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.APIOperation - -This event includes basic data about install and uninstall OneDrive API operations. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **Duration** How long the operation took. -- **IsSuccess** Was the operation successful? -- **ResultCode** The result code. -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.EndExperience - -This event includes a success or failure summary of the installation. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **HResult** The result code of the last action performed before this operation -- **IsSuccess** Was the operation successful? -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -### Microsoft.OneDrive.Sync.Setup.RegisterStandaloneUpdaterAPIOperation - -This event is related to registering or unregistering the OneDrive update task. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **IsSuccess** Was the operation successful? -- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. -- **ScenarioName** The name of the scenario. -- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. - - -### Microsoft.OneDrive.Sync.Updater.ComponentInstallState - -This event includes basic data about the installation state of dependent OneDrive components. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ComponentName** The name of the dependent component. -- **isInstalled** Is the dependent component installed? - - -### Microsoft.OneDrive.Sync.Updater.OverlayIconStatus - -This event indicates if the OneDrive overlay icon is working correctly. 0 = healthy; 1 = can be fixed; 2 = broken. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **32bit** The status of the OneDrive overlay icon on a 32-bit operating system. -- **64bit** The status of the OneDrive overlay icon on a 64-bit operating system. - - -### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult - -This event sends information describing the result of the update. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. -- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. -- **UpdaterVersion** The version of the updater. - - -### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult - -This event determines the status when downloading the OneDrive update configuration file. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.WebConnectionStatus - -This event determines the error code that was returned when verifying Internet connectivity. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **winInetError** The HResult of the operation. - - -## Other events - -### Microsoft.ServerManagementExperience.Gateway.Service.ManagedNodeProperties - -This is a periodic rundown event that contains more detailed information about the nodes added to this Windows Admin Center gateway for management. - -The following fields are available: - -- **nodeId** The nodeTypeId concatenated with the hostname or IP address that gateway uses to connect to this node. -- **nodeOperatingSystem** A user friendly description of the node's OS version. -- **nodeOSVersion** A major or minor build version string for the node's OS. -- **nodeTypeId** A string that distinguishes between a connection target, whether it is a client, server, cluster or a hyper-converged cluster. -- **otherProperties** Contains a JSON object with variable content and may contain: "nodes": a list of host names or IP addresses of the servers belonging to a cluster, "aliases": the alias if it is set for this connection, "lastUpdatedTime": the number of milliseconds since Unix epoch when this connection was last updated, "ncUri", "caption", "version", "productType", "networkName", "operatingSystem", "computerManufacturer", "computerModel", "isS2dEnabled". This JSON object is formatted as an quotes-escaped string. - - -## Privacy logging notification events - -### Microsoft.Windows.Shell.PrivacyNotifierLogging.PrivacyNotifierCompleted - -This event returns data to report the efficacy of a single-use tool to inform users impacted by a known issue and to take corrective action to address the issue. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cleanupTask** Indicates whether the task that launched the dialog should be cleaned up. -- **cleanupTaskResult** The return code of the attempt to clean up the task used to show the dialog. -- **deviceEvaluated** Indicates whether the device was eligible for evaluation of a known issue. -- **deviceImpacted** Indicates whether the device was impacted by a known issue. -- **modalAction** The action the user took on the dialog that was presented to them. -- **modalResult** The return code of the attempt to show a dialog to the user explaining the issue. -- **resetSettingsResult** The return code of the action to correct the known issue. - - -## Quality Update Assistant events - -### Microsoft.Windows.QualityUpdateAssistant.Applicability - -This event sends basic info on whether the device should be updated to the latest cumulative update. The data collected with this event is used to help keep Windows up to date and secure. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Applicability check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck - -This event sends basic info on whether the device is ready to download the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Device readiness check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.Download - -This event sends basic info when download of the latest cumulative update begins. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Download of latest cumulative update payload. - - -### Microsoft.Windows.QualityUpdateAssistant.Install - -This event sends basic info on the result of the installation of the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Install of latest cumulative update payload. - - -## Remediation events - -### Microsoft.Windows.Remediation.Applicable - -This event indicates whether Windows Update sediment remediations need to be applied to the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **ActionName** The name of the action to be taken by the plug-in. -- **AppraiserBinariesValidResult** Indicates whether the plug-in was appraised as valid. -- **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. -- **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. -- **AppraiserTaskDisabled** Indicates the appraiser task is disabled. -- **CV** Correlation vector -- **DateTimeDifference** The difference between local and reference clock times. -- **DateTimeSyncEnabled** Indicates whether the Datetime Sync plug-in is enabled. -- **DaysSinceLastSIH** The number of days since the most recent SIH executed. -- **DaysToNextSIH** The number of days until the next scheduled SIH execution. -- **DetectedCondition** Indicates whether detected condition is true and the perform action will be run. -- **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. -- **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by the remediation system. -- **HResult** The HRESULT for detection or perform action phases of the plugin. -- **IsAppraiserLatestResult** The HRESULT from the appraiser task. -- **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. -- **LastHresult** The HRESULT for detection or perform action phases of the plugin. -- **LastRun** The date of the most recent SIH run. -- **NextRun** Date of the next scheduled SIH run. -- **PackageVersion** The version of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Reload** True if SIH reload is required. -- **RemediationNoisyHammerAcLineStatus** Indicates the AC Line Status of the device. -- **RemediationNoisyHammerAutoStartCount** The number of times Auto UA auto-started. -- **RemediationNoisyHammerCalendarTaskEnabled** Event that indicates Update Assistant Calendar Task is enabled. -- **RemediationNoisyHammerCalendarTaskExists** Event that indicates an Update Assistant Calendar Task exists. -- **RemediationNoisyHammerCalendarTaskTriggerEnabledCount** Event that indicates calendar triggers are enabled in the task. -- **RemediationNoisyHammerDaysSinceLastTaskRunTime** The number of days since the Auto UA ran. -- **RemediationNoisyHammerGetCurrentSize** Size in MB of the $GetCurrent folder. -- **RemediationNoisyHammerIsInstalled** TRUE if the Auto UA is installed. -- **RemediationNoisyHammerLastTaskRunResult** The result from the last Auto UA task run. -- **RemediationNoisyHammerMeteredNetwork** TRUE if the machine is on a metered network. -- **RemediationNoisyHammerTaskEnabled** TRUE if the Auto UA task is enabled. -- **RemediationNoisyHammerTaskExists** TRUE if the Auto UA task exists. -- **RemediationNoisyHammerTaskTriggerEnabledCount** Indicates whether the task has the count trigger enabled. -- **RemediationNoisyHammerUAExitCode** The exit code of the Update Assistant. -- **RemediationNoisyHammerUAExitState** The exit code of the Update Assistant. -- **RemediationNoisyHammerUserLoggedIn** TRUE if there is a user logged in. -- **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. -- **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. -- **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Configuration Manager. -- **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. -- **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. -- **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. -- **RemediationTaskHealthChkdskProactiveScan** True/False based on the health of the Check Disk task. -- **RemediationTaskHealthDiskCleanup_SilentCleanup** True/False based on the health of the Disk Cleanup task. -- **RemediationTaskHealthMaintenance_WinSAT** True/False based on the health of the Health Maintenance task. -- **RemediationTaskHealthServicing_ComponentCleanupTask** True/False based on the health of the Health Servicing Component task. -- **RemediationTaskHealthUSO_ScheduleScanTask** True/False based on the health of the USO (Update Session Orchestrator) Schedule task. -- **RemediationTaskHealthWindowsUpdate_ScheduledStartTask** True/False based on the health of the Windows Update Scheduled Start task. -- **RemediationTaskHealthWindowsUpdate_SihbootTask** True/False based on the health of the Sihboot task. -- **RemediationUHServiceBitsServiceEnabled** Indicates whether BITS service is enabled. -- **RemediationUHServiceDeviceInstallEnabled** Indicates whether Device Install service is enabled. -- **RemediationUHServiceDoSvcServiceEnabled** Indicates whether DO service is enabled. -- **RemediationUHServiceDsmsvcEnabled** Indicates whether DSMSVC service is enabled. -- **RemediationUHServiceLicensemanagerEnabled** Indicates whether License Manager service is enabled. -- **RemediationUHServiceMpssvcEnabled** Indicates whether MPSSVC service is enabled. -- **RemediationUHServiceTokenBrokerEnabled** Indicates whether Token Broker service is enabled. -- **RemediationUHServiceTrustedInstallerServiceEnabled** Indicates whether Trusted Installer service is enabled. -- **RemediationUHServiceUsoServiceEnabled** Indicates whether USO (Update Session Orchestrator) service is enabled. -- **RemediationUHServicew32timeServiceEnabled** Indicates whether W32 Time service is enabled. -- **RemediationUHServiceWecsvcEnabled** Indicates whether WECSVC service is enabled. -- **RemediationUHServiceWinmgmtEnabled** Indicates whether WMI service is enabled. -- **RemediationUHServiceWpnServiceEnabled** Indicates whether WPN service is enabled. -- **RemediationUHServiceWuauservServiceEnabled** Indicates whether WUAUSERV service is enabled. -- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -- **RunAppraiserFailed** Indicates RunAppraiser failed to run correctly. -- **RunTask** TRUE if SIH task should be run by the plug-in. -- **TimeServiceNTPServer** The URL for the NTP time server used by device. -- **TimeServiceStartType** The startup type for the NTP time service. -- **TimeServiceSyncDomainJoined** True if device domain joined and hence uses DC for clock. -- **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. - - -### Microsoft.Windows.Remediation.ChangePowerProfileDetection - -This event indicates whether the remediation system can put in a request to defer a system-initiated sleep to enable installation of security or quality updates, to keep Windows secure and up to date. - -The following fields are available: - -- **ActionName** A descriptive name for the plugin action -- **CurrentPowerPlanGUID** The ID of the current power plan configured on the device -- **CV** Correlation vector -- **GlobalEventCounter** Counter that indicates the ordering of events on the device -- **PackageVersion** Current package version of remediation service -- **RemediationBatteryPowerBatteryLevel** Integer between 0 and 100 indicating % battery power remaining (if not on battery, expect 0) -- **RemediationFUInProcess** Result that shows whether the device is currently installing a feature update -- **RemediationFURebootRequred** Indicates that a feature update reboot required was detected so the plugin will exit. -- **RemediationScanInProcess** Result that shows whether the device is currently scanning for updates -- **RemediationTargetMachine** Result that shows whether this device is a candidate for remediation(s) that will fix update issues -- **SetupMutexAvailable** Result that shows whether setup mutex is available or not -- **SysPowerStatusAC** Result that shows whether system is on AC power or not - - -### Microsoft.Windows.Remediation.Completed - -This event is sent when Windows Update sediment remediations have completed on the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **ActionName** Name of the action to be completed by the plug-in. -- **AppraiserTaskCreationFailed** TRUE if the appraiser task creation failed to complete successfully. -- **AppraiserTaskDeleteFailed** TRUE if deletion of appraiser task failed to complete successfully. -- **AppraiserTaskExistFailed** TRUE if detection of the appraiser task failed to complete successfully. -- **AppraiserTaskLoadXmlFailed** TRUE if the Appraiser XML Loader failed to complete successfully. -- **AppraiserTaskMissing** TRUE if the Appraiser task is missing. -- **AppraiserTaskTimeTriggerUpdateFailedId** TRUE if the Appraiser Task Time Trigger failed to update successfully. -- **AppraiserTaskValidateTaskXmlFailed** TRUE if the Appraiser Task XML failed to complete successfully. -- **branchReadinessLevel** Branch readiness level policy. -- **cloudControlState** Value indicating whether the shell is enabled on the cloud control settings. -- **CrossedDiskSpaceThreshold** Indicates if cleanup resulted in hard drive usage threshold required for feature update to be exceeded. -- **CV** The Correlation Vector. -- **DateTimeDifference** The difference between the local and reference clocks. -- **DaysSinceOsInstallation** The number of days since the installation of the Operating System. -- **DiskMbCleaned** The amount of space cleaned on the hard disk, measured in megabytes. -- **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. -- **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. -- **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. -- **GlobalEventCounter** Client-side counter that indicates ordering of events sent by the active user. -- **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in megabytes. -- **hasRolledBack** Indicates whether the client machine has rolled back. -- **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. -- **hResult** The result of the event execution. -- **HResult** The result of the event execution. -- **installDate** The value of installDate registry key. Indicates the install date. -- **isNetworkMetered** Indicates whether the client machine has uninstalled a later version of the OS. -- **LatestState** The final state of the plug-in component. -- **MicrosoftCompatibilityAppraiser** The name of the component targeted by the Appraiser plug-in. -- **PackageVersion** The package version for the current Remediation. -- **PageFileCount** The number of Windows Page files. -- **PageFileCurrentSize** The size of the Windows Page file, measured in Megabytes. -- **PageFileLocation** The storage location (directory path) of the Windows Page file. -- **PageFilePeakSize** The maximum amount of hard disk space used by the Windows Page file, measured in Megabytes. -- **PluginName** The name of the plug-in specified for each generic plug-in event. -- **RanCleanup** TRUE if the plug-in ran disk cleanup. -- **RemediationBatteryPowerBatteryLevel** Indicates the battery level at which it is acceptable to continue operation. -- **RemediationBatteryPowerExitDueToLowBattery** True when we exit due to low battery power. -- **RemediationBatteryPowerOnBattery** True if we allow execution on battery. -- **RemediationConfigurationTroubleshooterExecuted** True/False based on whether the Remediation Configuration Troubleshooter executed successfully. -- **RemediationConfigurationTroubleshooterIpconfigFix** TRUE if IPConfig Fix completed successfully. -- **RemediationConfigurationTroubleshooterNetShFix** TRUE if network card cache reset ran successfully. -- **RemediationDiskCleanSizeBtWindowsFolderInMegabytes** The size of the Windows BT folder (used to store Windows upgrade files), measured in Megabytes. -- **RemediationDiskCleanupBTFolderEsdSizeInMB** The size of the Windows BT folder (used to store Windows upgrade files) ESD (Electronic Software Delivery), measured in Megabytes. -- **RemediationDiskCleanupGetCurrentEsdSizeInMB** The size of any existing ESD (Electronic Software Delivery) folder, measured in Megabytes. -- **RemediationDiskCleanupSearchFileSizeInMegabytes** The size of the Cleanup Search index file, measured in Megabytes. -- **RemediationDiskCleanupUpdateAssistantSizeInMB** The size of the Update Assistant folder, measured in Megabytes. -- **RemediationDoorstopChangeSucceeded** TRUE if Doorstop registry key was successfully modified. -- **RemediationDoorstopExists** TRUE if there is a One Settings Doorstop value. -- **RemediationDoorstopRegkeyError** TRUE if an error occurred accessing the Doorstop registry key. -- **RemediationDRFKeyDeleteSucceeded** TRUE if the RecoveredFrom (Doorstop) registry key was successfully deleted. -- **RemediationDUABuildNumber** The build number of the DUA. -- **RemediationDUAKeyDeleteSucceeded** TRUE if the UninstallActive registry key was successfully deleted. -- **RemediationDuplicateTokenSucceeded** TRUE if the user token was successfully duplicated. -- **remediationExecution** Remediation shell is in "applying remediation" state. -- **RemediationHibernationMigrated** TRUE if hibernation was migrated. -- **RemediationHibernationMigrationSucceeded** TRUE if hibernation migration succeeded. -- **RemediationImpersonateUserSucceeded** TRUE if the user was successfully impersonated. -- **RemediationNoisyHammerTaskKickOffIsSuccess** TRUE if the Auto UA task started successfully. -- **RemediationQueryTokenSucceeded** TRUE if the user token was successfully queried. -- **RemediationRanHibernation** TRUE if the system entered Hibernation. -- **RemediationRevertToSystemSucceeded** TRUE if reversion to the system context succeeded. -- **RemediationShellHasUpgraded** TRUE if the device upgraded. -- **RemediationShellMinimumTimeBetweenShellRuns** Indicates the time between shell runs exceeded the minimum required to execute plugins. -- **RemediationShellRunFromService** TRUE if the shell driver was run from the service. -- **RemediationShellSessionIdentifier** Unique identifier tracking a shell session. -- **RemediationShellSessionTimeInSeconds** Indicates the time the shell session took in seconds. -- **RemediationShellTaskDeleted** Indicates that the shell task has been deleted so no additional sediment pack runs occur for this installation. -- **RemediationUpdateServiceHealthRemediationResult** The result of the Update Service Health plug-in. -- **RemediationUpdateTaskHealthRemediationResult** The result of the Update Task Health plug-in. -- **RemediationUpdateTaskHealthTaskList** A list of tasks fixed by the Update Task Health plug-in. -- **RemediationWindowsLogSpaceFound** The size of the Windows log files found, measured in Megabytes. -- **RemediationWindowsLogSpaceFreed** The amount of disk space freed by deleting the Windows log files, measured in Megabytes. -- **RemediationWindowsSecondaryDriveFreeSpace** The amount of free space on the secondary drive, measured in Megabytes. -- **RemediationWindowsSecondaryDriveLetter** The letter designation of the first secondary drive with a total capacity of 10GB or more. -- **RemediationWindowsSecondaryDriveTotalSpace** The total storage capacity of the secondary drive, measured in Megabytes. -- **RemediationWindowsTotalSystemDiskSize** The total storage capacity of the System Disk Drive, measured in Megabytes. -- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. -- **RunResult** The HRESULT for Detection or Perform Action phases of the plug-in. -- **ServiceHealthPlugin** The nae of the Service Health plug-in. -- **StartComponentCleanupTask** TRUE if the Component Cleanup task started successfully. -- **systemDriveFreeDiskSpace** Indicates the free disk space on system drive, in megabytes. -- **systemUptimeInHours** Indicates the amount of time the system in hours has been on since the last boot. -- **TotalSizeofOrphanedInstallerFilesInMegabytes** The size of any orphaned Windows Installer files, measured in Megabytes. -- **TotalSizeofStoreCacheAfterCleanupInMegabytes** The size of the Microsoft Store cache after cleanup, measured in Megabytes. -- **TotalSizeofStoreCacheBeforeCleanupInMegabytes** The size of the Microsoft Store cache (prior to cleanup), measured in Megabytes. -- **uninstallActive** TRUE if previous uninstall has occurred for current OS -- **usoScanDaysSinceLastScan** The number of days since the last USO (Update Session Orchestrator) scan. -- **usoScanInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. -- **usoScanIsAllowAutoUpdateKeyPresent** TRUE if the AllowAutoUpdate registry key is set. -- **usoScanIsAllowAutoUpdateProviderSetKeyPresent** TRUE if AllowAutoUpdateProviderSet registry key is set. -- **usoScanIsAuOptionsPresent** TRUE if Auto Update Options registry key is set. -- **usoScanIsFeatureUpdateInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. -- **usoScanIsNetworkMetered** TRUE if the device is currently connected to a metered network. -- **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. -- **usoScanIsUserLoggedOn** TRUE if the user is logged on. -- **usoScanPastThreshold** TRUE if the most recent Update Session Orchestrator (USO) scan is past the threshold (late). -- **usoScanType** The type of USO (Update Session Orchestrator) scan: "Interactive" or "Background". -- **windows10UpgraderBlockWuUpdates** Event to report the value of Windows 10 Upgrader BlockWuUpdates Key. -- **windowsEditionId** Event to report the value of Windows Edition ID. -- **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. -- **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. -- **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. -- **WindowsOldSpaceCleanedInMB** The amount of disk space freed by removing the Windows.OLD folder, measured in Megabytes. -- **WindowsPageFileSysSizeInMegabytes** The size of the Windows Page file, measured in Megabytes. -- **WindowsSoftwareDistributionFolderSizeInMegabytes** The size of the SoftwareDistribution folder, measured in Megabytes. -- **WindowsSwapFileSysSizeInMegabytes** The size of the Windows Swap file, measured in Megabytes. -- **WindowsSxsFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) folder, measured in Megabytes. -- **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. -- **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. - - -### Microsoft.Windows.Remediation.RemediationShellMainExeEventId - -This event enables tracking of completion of process that remediates issues preventing security and quality updates keep Windows up to date. - -The following fields are available: - -- **CV** Client side counter which indicates ordering of events sent by the remediation system. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by the remediation system. -- **PackageVersion** Current package version of Remediation. -- **RemediationShellCanAcquireSedimentMutex** True if the remediation was able to acquire the sediment mutex. False if it is already running. -- **RemediationShellExecuteShellResult** Indicates if the remediation system completed without errors. -- **RemediationShellFoundDriverDll** Result whether the remediation system found its component files to run properly. -- **RemediationShellLoadedShellDriver** Result whether the remediation system loaded its component files to run properly. -- **RemediationShellLoadedShellFunction** Result whether the remediation system loaded the functions from its component files to run properly. - - -### Microsoft.Windows.Remediation.Started - -This event is sent when Windows Update sediment remediations have started on the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** The version of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -## Sediment events - -### Microsoft.Windows.Sediment.Info.DetailedState - -This event is sent when detailed state information is needed from an update trial run. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. -- **Id** Identifies the trial being run, such as a disk related trial. -- **ReleaseVer** The version of the component. -- **State** The state of the reporting data from the trial, such as the top-level directory analysis. -- **Time** The time the event was fired. - - -### Microsoft.Windows.Sediment.Info.Error - -This event indicates an error in the updater payload. This information assists in keeping Windows up to date. - - - -### Microsoft.Windows.Sediment.Info.PhaseChange - -The event indicates progress made by the updater. This information assists in keeping Windows up to date. - - - -### Microsoft.Windows.Sediment.ServiceInstaller.ApplicabilityCheckFailed - -This event returns data relating to the error state after one of the applicability checks for the installer component of the Operating System Remediation System Service (OSRSS) has failed. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CheckName** The name of the applicability check that failed. -- **InstallerVersion** The version information for the installer component. -- **Time** The system timestamp for when the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.AttemptingUpdate - -This event indicates the Operating System Remediation System Service (OSRSS) installer is attempting an update to itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.BinaryUpdated - -This event indicates the Operating System Remediation System Service (OSRSS) updated installer binaries with new binaries as part of its self-update process. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.InstallerLaunched - -This event indicates the Operating System Remediation System Service (OSRSS) has launched. The information provided helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceInstalled - -This event indicates the Operating System Remediation System Service (OSRSS) successfully installed the Installer Component. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceRestarted - -This event indicates the Operating System Remediation System Service (OSRSS) has restarted after installing an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceStarted - -This event indicates the Operating System Remediation System Service (OSRSS) has started after installing an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceStopped - -This event indicates the Operating System Remediation System Service (OSRSS) was stopped by a self-updated to install an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UpdaterCompleted - -This event indicates the Operating System Remediation System Service (OSRSS) successfully completed the self-update operation. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UpdaterLaunched - -This event indicates the Operating System Remediation System Service (OSRSS) successfully launched the self-updater after downloading it. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.SedimentLauncher.Applicable - -This event is sent when the Windows Update sediment remediations launcher finds that an applicable plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. -- **IsSelfUpdateNeeded** True if self update needed by device. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentLauncher.Completed - -This event is sent when the Windows Update sediment remediations launcher finishes running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. - - -### Microsoft.Windows.SedimentLauncher.Error - -This event indicates an error occurred during the execution of the plug-in. The information provided helps ensure future upgrade/update attempts are more successful. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** The result for the Detection or Perform Action phases of the plug-in. -- **Message** A message containing information about the error that occurred (if any). -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.SedimentLauncher.FallbackError - -This event indicates that an error occurred during execution of the plug-in fallback. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **s0** Error occurred during execution of the plugin fallback. See [Microsoft.Windows.SedimentLauncher.wilResult](#microsoftwindowssedimentlauncherwilresult). -- **wilResult** Result from executing wil based function. See [wilResult](#wilresult). - - -### Microsoft.Windows.SedimentLauncher.Information - -This event provides general information returned from the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Information message returned from a plugin containing only information internal to the plugins execution. -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentLauncher.Started - -This event is sent when the Windows Update sediment remediations launcher starts running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentLauncher.wilResult - -This event provides the result from the Windows internal library. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - -### Microsoft.Windows.SedimentService.Applicable - -This event is sent when the Windows Update sediment remediations service finds that an applicable plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. -- **IsSelfUpdateNeeded** Indicates if self update is needed. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentService.Completed - -This event is sent when the Windows Update sediment remediations service finishes running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **SedimentServiceCheckTaskFunctional** True/False if scheduled task check succeeded. -- **SedimentServiceCurrentBytes** Number of current private bytes of memory consumed by sedsvc.exe. -- **SedimentServiceKillService** True/False if service is marked for kill (Shell.KillService). -- **SedimentServiceMaximumBytes** Maximum bytes allowed for the service. -- **SedimentServiceRetrievedKillService** True/False if result of One Settings check for kill succeeded - we only send back one of these indicators (not for each call). -- **SedimentServiceStopping** True/False indicating whether the service is stopping. -- **SedimentServiceTaskFunctional** True/False if scheduled task is functional. If task is not functional this indicates plugins will be run. -- **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. - - -### Microsoft.Windows.SedimentService.Error - -This event indicates whether an error condition occurred in the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.FallbackError - -This event indicates whether an error occurred for a fallback in the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **s0** Event returned when an error occurs for a fallback in the plugin. See [Microsoft.Windows.SedimentService.wilResult](#microsoftwindowssedimentservicewilresult). -- **wilResult** Result for wil based function. See [wilResult](#wilresult). - - -### Microsoft.Windows.SedimentService.Information - -This event provides general information returned from the plug-in. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.Started - -This event is sent when the Windows Update sediment remediations service starts running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. - - -### Microsoft.Windows.SedimentService.wilResult - -This event provides the result from the Windows internal library. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time - - -### SetupPlatformTel.SetupPlatformTelActivityStarted - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - -The following fields are available: - -- **Name** The name of the dynamic update type. Example: GDR driver - - -### SetupPlatformTel.SetupPlatformTelActivityStopped - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - - - -### SetupPlatformTel.SetupPlatformTelEvent - -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## Shared PC events - -### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount - -Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. - -The following fields are available: - -- **accountType** The type of account that was deleted. Example: AD, Azure Active Directory (Azure AD), or Local -- **deleteState** Whether the attempted deletion of the user account was successful. -- **userSid** The security identifier of the account. -- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation - -Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates - -The following fields are available: - -- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. -- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). - - -### wilActivity - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The function where the failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -### wilResult - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The call context stack where failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -## SIH events - -### SIHEngineTelemetry.EvalApplicability - -This event is sent when targeting logic is evaluated to determine if a device is eligible a given action. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -### SIHEngineTelemetry.ExecuteAction - -This event is triggered with SIH attempts to execute (e.g. install) the update or action in question. Includes important information like if the update required a reboot. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event, whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **RebootRequired** Indicates if a reboot was required to complete the action. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -### SIHEngineTelemetry.PostRebootReport - -This event reports the status of an action following a reboot, should one have been required. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event, whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -### SIHEngineTelemetry.ServiceStateChange - -This event reports the status of attempts to stop or start a service as part of executing an action. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event, whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **Service** The service that is being stopped/started. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **StateChange** The service operation (stop/start) is being attempted. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -### SIHEngineTelemetry.SLSActionData - -This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **FailedParseActions** The list of actions that were not successfully parsed. -- **ParsedActions** The list of actions that were successfully parsed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -This event sends tracking data about the software distribution client check for content that is applicable to a device, to help keep Windows up to date. - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Online** Indicates if this was an online scan. -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Commit - -This event sends data on whether the Update Service has been called to execute an upgrade, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client. -- **DeviceModel** What is the device model. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** State of call -- **EventType** Possible values are "Child", "Bundle", or "Driver". -- **FlightId** The specific id of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Unique revision number of Update -- **ServerId** Identifier for the service to which the software distribution client is connecting, such as Windows Update and Microsoft Store. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **UpdateId** Unique Update ID -- **WUDeviceID** UniqueDeviceID - - -### SoftwareUpdateClientTelemetry.Download - -This event sends tracking data about the software distribution client download of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The SKU number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). -- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. -- **CallerApplicationName** The name provided by the application that initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** The model of the device. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. -- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose for sending this event: whether because the software distribution just started downloading content; or whether it was cancelled, succeeded, or failed. -- **EventType** Identifies the type of the event (Child, Bundle, or Driver). -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific id of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The parent URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. -- **RevisionNumber** The revision number of the specified piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. -- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total size (in Bytes) expected to be downloaded. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether the content was marked as Important, Recommended, or Optional. -- **UsedDO** Indicates whether the download used the Delivery Optimization (DO) service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver" -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough -- **FileId** A hash that uniquely identifies a file -- **FileName** Name of the downloaded file -- **FlightId** The unique identifier for each flight -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RevisionNumber** Unique revision number of Update -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.) -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) -- **UpdateId** Unique Update ID -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### SoftwareUpdateClientTelemetry.DownloadHeartbeat - -This event allows tracking of ongoing downloads and contains data to explain the current state of the download. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **BundleID** Identifier associated with the specific content bundle. If this value is found, it shouldn't report as all zeros -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **EventType** Possible values are "Child", "Bundle", or "Driver" -- **FlightId** The unique identifier for each flight -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **ServiceID** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** The mobile operator to which the device is currently connected. -- **DeviceModel** The device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether this update is a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. -- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? -- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. -- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID that represents a given MSI installation. -- **UpdateId** Unique update ID. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates ultimately deemed applicable to the system after the detection process is complete. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.). -- **WUDeviceID** The unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity - -This event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** An encoded string of the timestamp token. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - -## Update Assistant events - -### Microsoft.Windows.UpdateAssistant.Orchestrator.BlockingEventId - -The event sends basic info on the reason that Windows 10 was not updated due to compatibility issues, previous rollbacks, or admin policies. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ApplicabilityBlockedReason** Blocked due to an applicability issue. -- **BlockWuUpgrades** The upgrade assistant is currently blocked. -- **clientID** An identification of the current release of Update Assistant. -- **CloverTrail** This device is Clovertrail. -- **DeviceIsMdmManaged** This device is MDM managed. -- **IsNetworkAvailable** If the device network is not available. -- **IsNetworkMetered** If network is metered. -- **IsSccmManaged** This device is managed by Configuration Manager. -- **NewlyInstalledOs** OS is newly installed quiet period. -- **PausedByPolicy** Updates are paused by policy. -- **RecoveredFromRS3** Previously recovered from RS3. -- **RS1UninstallActive** Blocked due to an active RS1 uninstall. -- **RS3RollBacks** Exceeded number of allowable RS3 rollbacks. -- **triggerTaskSource** Describe which task launches this instance. -- **WsusManaged** This device is WSUS managed. -- **ZeroExhaust** This device is zero exhaust. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.DeniedLaunchEventId - -The event sends basic info when a device was blocked or prevented from updating to the latest Windows 10 version. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **calendarRun** Indicates the calendar run task invoked the update assistant wrapper. -- **clientID** An identification of the current release of Update Assistant. -- **denyReason** All the reasons why the Update Assistant was prevented from launching. Bitmask with values from UpdateAssistant.cpp eUpgradeModeReason. -- **triggerTaskSource** Describe which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.FailedLaunchEventId - -This event indicates that Update Assistant Orchestrator failed to launch Update Assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **hResult** Error code of the Update Assistant Orchestrator failure. -- **triggerTaskSource** Describe which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.FailedOneSettingsQueryEventId - -This event indicates that One Settings was not queried by update assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **hResult** Error code of One Settings query failure. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.LaunchEventId - -This event sends basic information on whether the device should be updated to the latest Windows 10 version. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **autoStartRunCount** The auto start run count of Update Assistant. -- **clientID** The ID of the current release of Update Assistant. -- **launchMode** Indicates the type of launch performed. -- **launchTypeReason** A bitmask of all the reasons for type of launch. -- **triggerTaskSource** Indicates which task launches this instance. -- **UALaunchRunCount** Total number of times Update Assistant launched. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.RestoreEventId - -The event sends basic info on whether the Windows 10 update notification has previously launched. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **calendarRun** Indicates the update assistant wrapper was started by the calendar run task. -- **clientID** ID of the current release of Update Assistant. -- **restoreReason** All the reasons for the restore. -- **triggerTaskSource** Indicates which task launches this instance. - - -## Update events - -### Update360Telemetry.UpdateAgent_DownloadRequest - -This event sends data during the download request phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **ErrorCode** The error code returned for the current download request phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **PackageCountOptional** # of optional packages requested. -- **PackageCountRequired** # of required packages requested. -- **PackageCountTotal** Total # of packages needed. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **RangeRequestState** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgent_FellBackToCanonical - -This event collects information when Express could not be used, and the update had to fall back to “canonical” during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **PackageCount** The number of packages that fell back to “canonical”. -- **PackageList** PackageIDs which fell back to “canonical”. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgent_Initialize - -This event sends data during the initialize phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current initialize phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each Update Agent mode attempt . -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_Install - -This event sends data during the install phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest scan. -- **Result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_Merge - -This event sends data on the merge phase when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current reboot. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgent_ModeStart - -This event sends data for the start of each mode during the process of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgent_SetupBoxLaunch - -This event sends data during the launching of the setup box when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. 0 = false 1 = true -- **RelatedCV** Correlation vector value generated from the latest scan. -- **SandboxSize** The size of the sandbox folder on the device. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each Update Agent mode attempt. -- **SetupMode** Setup mode 1 = predownload, 2 = install, 3 = finalize -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **DownloadRequests** Number of times a download was retried. -- **ErrorCode** The error code returned for the current download request phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique ID for each flight. -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **PackageCategoriesSkipped** Indicates package categories that were skipped, if applicable. -- **PackageCountOptional** # of optional packages requested. -- **PackageCountRequired** # of required packages requested. -- **PackageCountTotal** Total # of packages needed. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageExpressType** Type of express package. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **RangeRequestState** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentExpand - -This event collects information regarding the expansion phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ElapsedTickCount** Time taken for expand phase. -- **EndFreeSpace** Free space after expand phase. -- **EndSandboxSize** Sandbox size after expand phase. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **StartFreeSpace** Free space before expand phase. -- **StartSandboxSize** Sandbox size after expand phase. -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentFellBackToCanonical - -This event collects information when express could not be used and we fall back to canonical during the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **PackageCount** Number of packages that feel back to canonical. -- **PackageList** PackageIds which fell back to canonical. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInitialize - -This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInstall - -This event sends data for the install phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** Indicates whether the mitigation is applicable for the current update. -- **CommandCount** The number of command operations in the mitigation entry. -- **CustomCount** The number of custom operations in the mitigation entry. -- **FileCount** The number of file operations in the mitigation entry. -- **FlightId** Unique identifier for each flight. -- **Index** The mitigation index of this particular mitigation. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **Name** The friendly name of the mitigation. -- **ObjectId** Unique value for each Update Agent mode. -- **OperationIndex** The mitigation operation index (in the event of a failure). -- **OperationName** The friendly name of the mitigation operation (in the event of failure). -- **RegistryCount** The number of registry operations in the mitigation entry. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentMitigationSummary - -This event sends a summary of all the update agent mitigations available for an this update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** The count of mitigations that were applicable to the system and scenario. -- **Failed** The count of mitigations that failed. -- **FlightId** Unique identifier for each flight. -- **MitigationScenario** The update scenario in which the mitigations were attempted. -- **ObjectId** The unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing all mitigations (in 100-nanosecond increments). -- **Total** Total number of mitigations that were available. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates the mode that has started. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **Version** Version of update - - -### Update360Telemetry.UpdateAgentOneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Count** The count of applicable OneSettings for the device. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. -- **Values** The values sent back to the device, if applicable. - - -### Update360Telemetry.UpdateAgentPostRebootResult - -This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **ObjectId** Unique value for each Update Agent mode. -- **PostRebootResult** Indicates the Hresult. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Indicates the Hresult -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ContainsExpressPackage** Indicates whether the download package is express. -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage - -This event indicates that Javascript is reporting a schema and a set of values for critical telemetry. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version of the current campaign. -- **CampaignID** ID of the currently running campaign. -- **ConfigCatalogVersion** Current catalog version of the update notification. -- **ContentVersion** Content version of the current update notification campaign. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign. -- **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. -- **key1** UI interaction data. -- **key10** UI interaction data. -- **key11** UI interaction data. -- **key12** UI interaction data. -- **key13** UI interaction data. -- **key14** UI interaction data. -- **key15** UI interaction data. -- **key16** UI interaction data. -- **key17** UI interaction data. -- **key18** UI interaction data. -- **key19** UI interaction data. -- **key2** UI interaction data. -- **key20** UI interaction data. -- **key21** UI interaction data. -- **key22** UI interaction data. -- **key23** UI interaction data. -- **key24** The interaction data for the user interface. -- **key25** The interaction data for the user interface. -- **key26** The interaction data for the user interface. -- **key27** The interaction data for the user interface. -- **key28** The interaction data for the user interface. -- **key29** UI interaction data. -- **key3** UI interaction data. -- **key30** UI interaction data. -- **key4** UI interaction data. -- **key5** UI interaction data. -- **key6** UI interaction data. -- **key7** UI interaction data. -- **key8** UI interaction data. -- **key9** UI interaction data. -- **PackageVersion** Current package version of the update notification. -- **schema** UI interaction type. - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat - -This event is sent at the start of each campaign, to be used as a heartbeat. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Current campaign that is running on Update Notification Pipeline. -- **ConfigCatalogVersion** Current catalog version of Update Notification Pipeline. -- **ContentVersion** Content version for the current campaign on Update Notification Pipeline. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on Update Notification Pipeline. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current package version for Update Notification Pipeline. - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign - -This event indicates that the Campaign Manager is cleaning up the campaign content. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** The current campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** The current catalog version of the Update Notification Pipeline (UNP). -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current UNP package version. - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed - -This event is sent when a campaign completion status query fails. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Current campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **hresult** HRESULT of the failure. -- **PackageVersion** Current UNP package version. - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Currently campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current UNP package version. - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed - -This event is sent when the Campaign Manager encounters an unexpected error while running the campaign. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Currently campaign that's running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **hresult** HRESULT of the failure. -- **PackageVersion** Current UNP package version. - - -## Upgrade events - -### FacilitatorTelemetry.DCATDownload - -This event indicates whether devices received additional or critical supplemental content during an OS Upgrade, to help keep Windows up to date and secure. - - - -### FacilitatorTelemetry.DUDownload - -This event returns data about the download of supplemental packages critical to upgrading a device to the next version of Windows. The data collected with this event is used to help keep Windows secure and up to date. - - - -### FacilitatorTelemetry.InitializeDU - -This event determines whether devices received additional or critical supplemental content during an OS upgrade. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). -- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). -- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** An ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** d -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PostRebootInstall - -This event sends data indicating that the device has invoked the post reboot install phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. - - -### Setup360Telemetry.PreDownloadQuiet - -This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreDownloadUX - -This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS, to help keep Windows up-to-date and secure. Specifically, it indicates the outcome of the PredownloadUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreInstallUX - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10, to help keep Windows up-to-date. Specifically, it indicates the outcome of the PreinstallUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.Setup360 - -This event sends data about OS deployment scenarios, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** Retrieves the upgrade ID. In the Windows Update scenario, this will be the Windows Update client ID. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FieldName** Retrieves the data point. -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. - - -### Setup360Telemetry.Setup360DynamicUpdate - -This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. - - - -### Setup360Telemetry.Setup360MitigationResult - -This event sends data indicating the result of each setup mitigation. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.Setup360MitigationSummary - -This event sends a summary of all the setup mitigations available for this update. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Setup360Telemetry.Setup360OneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The Windows Update client ID passed to Setup. -- **Count** The count of applicable OneSettings for the device. -- **FlightData** The ID for the flight (test instance version). -- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **ReportId** The Update ID passed to Setup. -- **Result** The HResult of the event error. -- **ScenarioId** The update scenario ID. -- **Values** Values sent back to the device, if applicable. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSAssessment.Error - -This event returns the name of the missing setting needed to determine the Operating System build age. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **m** The WaaS (“Workspace as a Service”—cloud-based “workspace”) Assessment Error String. - - -### Microsoft.Windows.WaaSMedic.EngineFailed - -This event indicates failure during medic engine execution. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **hResult** Error code from the execution. - - -### Microsoft.Windows.WaaSMedic.RemediationFailed - -This event is sent when the WaaS Medic update stack remediation tool fails to apply a described resolution to a problem that is blocking Windows Update from operating correctly on a target device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **diagnostic** Parameter where the resolution failed. -- **hResult** Error code that resulted from attempting the resolution. -- **isRemediated** Indicates whether the condition was remediated. -- **pluginName** Name of the attempted resolution. - - -### Microsoft.Windows.WaaSMedic.Summary - -This event provides the results of the WaaSMedic diagnostic run. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **detectionSummary** Result of each detection that ran -- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates -- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise -- **isManaged** Indicates the device is managed for updates -- **isWUConnected** Indicates the device is connected to Windows Update -- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions -- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on -- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client -- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client -- **versionString** Installed version of the WaaSMedic engine - - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -This event provides the result of the WaaSMedic operation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **detectionSummary** Result of each applicable detection that was run. -- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates -- **hrEngineResult** Indicates the WaaSMedic engine operation error codes -- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise -- **isManaged** Indicates the device is managed for updates -- **isWUConnected** Indicates the device is connected to Windows Update -- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions -- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. -- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client -- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client -- **versionString** Installed version of the WaaSMedic engine - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -## Windows Store events - -### Microsoft.Windows.Store.Partner.ReportApplication - -This is report application event for Microsoft Store client. The data collected with this event is used to help keep Windows up to date and secure. - - - -### Microsoft.Windows.Store.StoreActivating - -This event sends tracking data about when the Store app activation via protocol URI is in progress, to help keep Windows up to date. - -The following fields are available: - -- **correlationVectorRoot** Identifies multiple events within a session/sequence. Initial value before incrementation or extension. -- **protocolUri** Protocol URI used to activate the store. -- **reason** The reason for activating the store. - - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of the installs or updates. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IsBundle** Is this a bundle? -- **IsInteractive** Did the user initiate the installation? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this happening after a device restore? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndDownload - -This event is sent after an app is downloaded to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The identity of the Windows Insider build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **DownloadSize** The total size of the download. -- **ExtendedHResult** Any extended HResult error codes. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** The Product Family Name of the app being download. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UserAttemptNumber** The number of attempts by the user to download. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **ExtendedHResult** The extended HResult error code. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates - -This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnline** Is the request doing an online check? - - -### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages - -This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -FulfillmentComplete event is fired at the end of an app install or update. We use this to track the very end of the install/update process. StoreAgent events are needed to help keep Windows pre-installed 1st party apps up to date and secure such as the mail and calendar apps. App update failure can be unique across devices and without this data from every device we will not be able to track the success/failure and fix any future vulnerabilities related to these built in Windows Apps. - -The following fields are available: - -- **FailedRetry** Tells us if the retry for an install or update was successful or not. -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -FulfillmentInitiate event is fired at the start of an app install or update. We use this to track the very beginning of the install/update process. StoreAgent events are needed to help keep Windows pre-installed 1st party apps up to date and secure such as the mail and calendar apps. App update failure can be unique across devices and without this data from every device we will not be able to track the success/failure and fix any future vulnerabilities related to these built in Windows Apps. - -The following fields are available: - -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest - -This event is sent when a product install or update is initiated. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **BundleId** The identity of the build associated with this product. -- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition ID being installed. -- **VolumePath** The disk path of the installation. - - -### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation - -This event is sent when a product install or update is paused either by a user or the system. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The Product Full Name. -- **PreviousHResult** The result code of the last action performed before this operation. -- **PreviousInstallState** Previous state before the installation or update was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation - -This event is sent when a product install or update is resumed either by a user or the system. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsUserRetry** Did the user initiate the retry? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector for the original install before it was resumed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest - -This event is sent when a product install or update is resumed by a user and on install retries. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **ProductId** The Store Product ID for the product being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest - -This event is sent when searching for update packages to install. Store Agent events are needed to help keep Windows Apps up to date and secure, like the Mail and Calendar Apps. App install or update failures can be unique across devices and without this data from every device we will not be able to track failures and fix future vulnerabilities related to these Windows Apps. - -The following fields are available: - -- **CatalogId** The Store Catalog ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specfic edition of the app being updated. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - -## Windows Update Delivery Optimization events - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCanceled - -This event describes when a download was canceled with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **callerName** Name of the API caller. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **clientTelId** A random number used for device sampling. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Indicates whether the device is connected to a VPN (Virtual Private Network). -- **jobID** Identifier for the Windows Update job. -- **reasonCode** Reason the action or event occurred. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **callerName** Name of the API caller. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **clientTelId** A random number used for device sampling. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **numPeers** The total number of peers used for this download. -- **restrictedUpload** Is the upload restricted? -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **callerName** The name of the API caller. -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being paused. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **reasonCode** The reason for pausing the download. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being paused. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted - -This event sends data describing the start of a new download to enable Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. -- **callerName** Name of the API caller. -- **cdnUrl** The URL of the source CDN. -- **clientTelId** Random number used for device selection -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **minDiskSizeGB** The minimum disk size (in GB) policy set for the device to allow peering with delivery optimization. -- **minDiskSizePolicyEnforced** Indicates whether there is an enforced minimum disk size requirement for peering. -- **minFileSizePolicy** The minimum content file size policy to allow the download using peering with delivery optimization. -- **peerID** The ID for this delivery optimization client. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID for the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cdnHeaders** The HTTP headers returned by the CDN. -- **cdnIp** The IP address of the CDN. -- **cdnUrl** The URL of the CDN. -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **httpStatusCode** The HTTP status code returned by the CDN. -- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET -- **peerType** The type of peer (LAN, Group, Internet, CDN, Cache Host, etc.). -- **requestOffset** The byte offset within the file in the sent request. -- **requestSize** The size of the range requested from the CDN. -- **responseSize** The size of the range response received from the CDN. -- **sessionID** The ID of the download session. - - -### Microsoft.OSG.DU.DeliveryOptClient.JobError - -This event represents a Windows Update job error. It allows for investigation of top errors. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientTelId** A random number used for device sampling. -- **doErrorCode** Error code returned for delivery optimization. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -## Windows Update events - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit - -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** The unique GUID for each diagnostics session. -- **relatedCV** A correlation vector value generated from the latest USO scan. -- **result** Outcome of the initialization of the session. -- **scenarioId** Identifies the Update scenario. -- **sessionId** The unique value for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest - -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **deletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** Unique value for each Update Agent mode. -- **packageCountOptional** Number of optional packages requested. -- **packageCountRequired** Number of required packages requested. -- **packageCountTotal** Total number of packages needed. -- **packageCountTotalCanonical** Total number of canonical packages. -- **packageCountTotalDiff** Total number of diff packages. -- **packageCountTotalExpress** Total number of express packages. -- **packageSizeCanonical** Size of canonical packages in bytes. -- **packageSizeDiff** Size of diff packages in bytes. -- **packageSizeExpress** Size of express packages in bytes -- **rangeRequestState** Represents the state of the download range request. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Result of the download request phase of update. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInitialize - -This event sends data for initializing a new update session for the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **flightMetadata** Contains the FlightId and the build being flighted. -- **objectId** Unique value for each Update Agent mode. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Result of the initialize phase of the update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInstall - -This event collects information regarding the install phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current install phase. -- **flightId** The unique identifier for each flight (pre-release builds). -- **objectId** Unique value for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest scan. -- **result** Outcome of the install phase of the update. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each update session. -- **updateId** Unique ID for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario. The update scenario is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **flightId** The unique identifier for each flight (pre-release builds). -- **mode** Indicates the active Update Agent mode. -- **objectId** Unique value for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest scan. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** The unique identifier for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed - -This event indicates that a notification dialog box is about to be displayed to user. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog - -This event indicates that the Enhanced Engaged restart "accept automatically" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootFirstReminderDialog - -This event indicates that the Enhanced Engaged restart "first reminder" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog - -This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog - -This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootSecondReminderDialog - -This event indicates that the second reminder dialog box was displayed for Enhanced Engaged restart. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootThirdReminderDialog - -This event indicates that the third reminder dialog box for Enhanced Engaged restart was displayed. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.NotificationUx.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows secure and up-to-date by indicating when a reboot is scheduled by the system or a user for a security, quality, or feature update. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether an Active Hours policy is present on the device. -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** Indicates whether a restart is scheduled outside of active hours. -- **rebootScheduledByUser** Indicates whether the restart was scheduled by user (if not, it was scheduled automatically). -- **rebootState** The current state of the restart. -- **revisionNumber** Revision number of the update that is getting installed with this restart. -- **scheduledRebootTime** Time of the scheduled restart. -- **scheduledRebootTimeInUTC** Time of the scheduled restart in Coordinated Universal Time. -- **updateId** ID of the update that is getting installed with this restart. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy - -This event indicates a policy is present that may restrict update activity to outside of active hours. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.Orchestrator.AttemptImmediateReboot - -This event sends data when the Windows Update Orchestrator is set to reboot immediately after installing the update. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours - -This event indicates that update activity was blocked because it is within the active hours window. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.Orchestrator.CommitFailed - -This event indicates that a device was unable to restart after an update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code that was returned. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event sends launch data for a Windows Update scan to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** The reason why the device could not check for updates. -- **detectionBlockreason** The reason detection did not complete. -- **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **flightID** The unique identifier for the flight (Windows Insider pre-release build) should be delivered to the device, if applicable. -- **interactive** Indicates whether the user initiated the session. -- **revisionNumber** The Update revision number. -- **updateId** The unique identifier of the Update. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DisplayNeeded - -This event indicates the reboot was postponed due to needing a display. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **displayNeededReason** Reason the display is needed. -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### Microsoft.Windows.Update.Orchestrator.Download - -This event sends launch data for a Windows Update download to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** Reason for download not completing. -- **errorCode** An error code represented as a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session is user initiated. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event sends data on whether the update was applicable to the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time when this event was generated. -- **flightID** The specific ID of the Windows Insider build. -- **revisionNumber** Update revision number. -- **updateId** Unique Windows Update ID. -- **updateScenarioType** Update session type. -- **UpdateStatus** Last status of update. -- **UUPFallBackConfigured** Indicates whether UUP fallback is configured. -- **wuDeviceid** Unique Device ID. - - -### Microsoft.Windows.Update.Orchestrator.GameActive - -This event indicates that an enabled GameMode process prevented the device from restarting to complete an update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **gameModeReason** Name of the enabled GameMode process that prevented the device from restarting to complete an update. -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.InitiatingReboot - -This event sends data about an Orchestrator requesting a reboot from power management to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time of the event. -- **flightID** Unique update ID -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Install - -This event sends launch data for a Windows Update install to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **errorCode** The error code reppresented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **isLowUptimeMachine** Is the machine considered low uptime or not. -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection - -This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows secure and up to date. - -The following fields are available: - -- **externalOneshotupdate** The last time a task-triggered scan was completed. -- **interactiveOneshotupdate** The last time an interactive scan was completed. -- **oldlastscanOneshotupdate** The last time a scan completed successfully. -- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). - - -### Microsoft.Windows.Update.Orchestrator.PostInstall - -This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in megawatt-hours (mWh) or percentage left. -- **bundleId** The unique identifier associated with the specific content bundle. -- **bundleRevisionnumber** Identifies the revision number of the content bundle. -- **errorCode** The error code returned for the current phase. -- **eventScenario** State of update action. -- **flightID** The unique identifier for the flight (Windows Insider pre-release build) should be delivered to the device, if applicable. -- **sessionType** The Windows Update session type (Interactive or Background). -- **updateScenarioType** Identifies the type of Update session being performed. -- **wuDeviceid** The unique device identifier used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.PowerMenuOptionsChanged - -This event is sent when the options in power menu changed, usually due to an update pending reboot, or after a update is installed. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **EventPublishedTime** The time that the reboot failure occurred. -- **flightID** Unique update ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. -- **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RefreshSettings - -This event sends basic data about the version of upgrade settings applied to the system to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows secure and up to date. - -The following fields are available: - -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.SystemNeeded - -This event sends data about why a device is unable to reboot, to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** End-to-end update session ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateInstallPause - -This event indicates the data sent when the device pauses an in-progress update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **updateClassificationGUID** The classification GUID for the update that was paused. -- **updateId** An update ID for the update that was paused. -- **wuDeviceid** A unique Device ID. - - -### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows secure and up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### Microsoft.Windows.Update.Orchestrator.USODiagnostics - -This event sends data on whether the state of the update attempt, to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** result showing success or failure of current update -- **LastApplicableUpdateFoundTime** The time when the last applicable update was found. -- **LastDownloadDeferredReason** The last reason download was deferred. -- **LastDownloadDeferredTime** The time of the download deferral. -- **LastDownloadFailureError** The last download failure. -- **LastDownloadFailureTime** The time of the last download failure. -- **LastInstallCompletedTime** The time when the last successful install completed. -- **LastInstallDeferredReason** The reason the last install was deferred. -- **LastInstallDeferredTime** The time when the last install was deferred. -- **LastInstallFailureError** The error code associated with the last install failure. -- **LastInstallFailureTime** The time when the last install failed to complete. -- **LastRebootDeferredReason** The reason the last reboot was deferred. -- **LastRebootDeferredTime** The time when the last reboot was deferred. -- **LastRebootPendingTime** The time when the last reboot state was set to “Pending”. -- **LastScanDeferredReason** The reason the last scan was deferred. -- **LastScanDeferredTime** The time when the last scan was deferred. -- **LastScanFailureError** The error code for the last scan failure. -- **LastScanFailureTime** The time when the last scan failed. -- **LastUpdateCheckTime** The time of the last update check. -- **LastUpdateDownloadTime** The time when the last update was downloaded. -- **LastUpgradeInstallFailureError** The error code for the last upgrade install failure. -- **LastUpgradeInstallFailureTime** The time of the last upgrade install failure. -- **LowUpTimeDetectTime** The last time “low up-time” was detected. -- **NoLowUpTimeDetectTime** The last time no “low up-time” was detected. -- **RebootRequired** Indicates reboot is required. -- **revisionNumber** Unique revision number of the Update -- **updateId** Unique ID for Update -- **updateState** Progress within an update state -- **UpgradeInProgressTime** The amount of time a feature update has been in progress. -- **WaaSFeatureAssessmentDays** The number of days Feature Update Assessment has been out of date. -- **WaaSFeatureAssessmentImpact** The impact of the Feature Update Assessment. -- **WaaSUpToDateAssessmentDays** The number of days Quality Update Assessment has been out of date. -- **WaaSUpToDateAssessmentImpact** The impact of Quality Update Assessment. -- **wuDeviceid** Unique ID for Device - - -### Microsoft.Windows.Update.Orchestrator.UsoSession - -This event represents the state of the USO service at start and completion. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeSessionid** A unique session GUID. -- **eventScenario** The state of the update action. -- **interactive** Is the USO session interactive? -- **lastErrorcode** The last error that was encountered. -- **lastErrorstate** The state of the update when the last error was encountered. -- **sessionType** A GUID that refers to the update session type. -- **updateScenarioType** A descriptive update session type. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.Orchestrator.UUPFallBack - -This event indicates that USO determined UUP needs to fall back. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** The current event time. -- **UUPFallBackConfigured** The fall back error code. -- **UUPFallBackErrorReason** The reason for fall back error. -- **wuDeviceid** A Windows Update device ID. - - -### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState - -This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. -- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. -- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. -- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. -- **ETag** The Entity Tag that represents the OneSettings version. -- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. -- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. -- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. -- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. -- **RebootVersion** The version of the DTE (Direct-to-Engaged). -- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. -- **UpdateId** The ID of the update that is waiting for reboot to finish installation. -- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded - -This event is sent when a security update has successfully completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **UtcTime** The Coordinated Universal Time that the restart was no longer needed. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootRequestReasonsToIgnore - -This event is sent when the reboot can be deferred based on some reasons, before reboot attempts. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Reason** The reason sent which will cause the reboot to defer. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled - -This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether Active Hours applies on this device. -- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. -- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. -- **rebootState** Current state of the reboot. -- **revisionNumber** Revision number of the OS. -- **scheduledRebootTime** Time scheduled for the reboot. -- **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. -- **updateId** Identifies which update is being scheduled. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot - -This event is fired the first time when the reboot is required. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerScheduledTask - -This event is sent when MUSE broker schedules a task. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **TaskArgument** The arguments which the task is scheduled with -- **TaskName** Name of the task - - -### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Is the restart respecting Active Hours? -- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False -- **rebootArgument** The arguments that are passed to the OS for the restarted. -- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? -- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. -- **rebootState** The state of the restart. -- **revisionNumber** The revision number of the OS being updated. -- **scheduledRebootTime** Time of the scheduled reboot -- **scheduledRebootTimeInUTC** Time of the scheduled restart, in Coordinated Universal Time. -- **updateId** The Windows Update device GUID. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICOInteractionCampaignComplete - -This event is generated whenever a RUXIM user interaction campaign becomes complete. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that became complete. -- **ResultId** The final result of the interaction campaign. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSEvaluateInteractionCampaign - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) finishes processing an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **ControlId** String identifying the control (if any) that was selected by the user during presentation. -- **hrInteractionHandler** The error (if any) reported by the RUXIM Interaction Handler while processing the interaction campaign. -- **hrScheduler** The error (if any) encountered by RUXIM Interaction Campaign Scheduler itself while processing the interaction campaign. -- **InteractionCampaignID** The ID of the interaction campaign that was processed. -- **ResultId** The result of the evaluation/presentation. -- **WasCompleted** True if the interaction campaign is complete. -- **WasPresented** True if the Interaction Handler displayed the interaction campaign to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSExit - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSLaunch - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMICS. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncExit - -This event is sent when RUXIM completes checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **hrInitialize** Error, if any, that occurred while initializing OneSettings. -- **hrQuery** Error, if any, that occurred while retrieving UX interaction campaign data from OneSettings. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncLaunch - -This event is sent when RUXIM begins checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHEvaluateAndPresent - -This event is generated when the RUXIM Interaction Handler finishes evaluating, and possibly presenting an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **hrLocal** The error (if any) encountered by RUXIM Interaction Handler during evaluation and presentation. -- **hrPresentation** The error (if any) reported by RUXIM Presentation Handler during presentation. -- **InteractionCampaignID** GUID; the user interaction campaign processed by RUXIM Interaction Handler. -- **ResultId** The result generated by the evaluation and presentation. -- **WasCompleted** True if the user interaction campaign is complete. -- **WasPresented** True if the user interaction campaign is displayed to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHExit - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that RUXIMIH processed. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHLaunch - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMIH. -- **InteractionCampaignID** GUID identifying the user interaction campaign that the Interaction Handler will process. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.SystemEvaluator.Evaluation - -This event is generated whenever the RUXIM Evaluator DLL performs an evaluation. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **HRESULT** Error, if any, that occurred during evaluation. (Note that if errors encountered during individual checks do not affect the overall result of the evaluation, those errors will be reported in NodeEvaluationData, but this HRESULT will still be zero.) -- **Id** GUID passed in by the caller to identify the evaluation. -- **NodeEvaluationData** Structure showing the results of individual checks that occurred during the overall evaluation. -- **Result** Overall result generated by the evaluation. - - -## Windows Update mitigation events - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The client ID used by Windows Update. -- **FlightId** The ID of each Windows Insider build the device received. -- **InstanceId** A unique device ID that identifies each update instance. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** The number of mounted images. -- **MountedImageMatches** The number of mounted image matches. -- **MountedImagesFailed** The number of mounted images that could not be removed. -- **MountedImagesRemoved** The number of mounted images that were successfully removed. -- **MountedImagesSkipped** The number of mounted images that were not found. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Windows Update. -- **WuId** Unique ID for the Windows Update client. - - -## Windows Update Reserve Manager events - -### Microsoft.Windows.UpdateReserveManager.CommitPendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager commits a hard reserve adjustment that was pending. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.InitializeUpdateReserveManager - -This event returns data about the Update Reserve Manager, including whether it’s been initialized. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.RemovePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager removes a pending hard reserve adjustment. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. The data collected with this event is used to help keep Windows secure and up to date. - - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - - - -## XBOX events - -### Microsoft.Xbox.XamTelemetry.AppActivationError - -This event indicates whether the system detected an activation error in the app. - - - -### Microsoft.Xbox.XamTelemetry.AppActivity - -This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md deleted file mode 100644 index 9a5fa7bcfb..0000000000 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ /dev/null @@ -1,8235 +0,0 @@ ---- -description: Learn more about the Windows 10, version 1803 diagnostic data gathered at the basic level. -title: Windows 10, version 1803 basic diagnostic events and fields (Windows 10) -ms.service: windows-client -ms.subservice: itpro-privacy -localizationpriority: medium -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 03/27/2017 -ms.topic: reference ---- - - -# Windows 10, version 1803 basic level Windows diagnostic events and fields - - **Applies to** - -- Windows 10, version 1803 - - -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. - -The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. - -Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. - -You can learn more about Windows functional and diagnostic data through these articles: - -- [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) -- [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) -- [Windows 10, version 1903 and Windows 10, version 1909 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) -- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - -## Appraiser events - -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount - -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **DatasourceApplicationFile_RS1** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS3** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS5** The count of the number of this particular object type present on this device. -- **DatasourceDevicePnp_RS1** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS3** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS5** The count of the number of this particular object type present on this device. -- **DatasourceDriverPackage_RS1** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS3** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS5** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoBlock_RS1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS5** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPassive_RS1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS5** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS5** The count of the number of this particular object type present on this device. -- **DatasourceSystemBios_RS1** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS3** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS5** The count of the number of this particular object type present on this device. -- **DatasourceSystemBios_RS5Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS1** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS3** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS5** The count of the number of this particular object type present on this device. -- **DecisionDevicePnp_RS1** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS3** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS5** The count of the number of this particular object type present on this device. -- **DecisionDriverPackage_RS1** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS3** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS5** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoBlock_RS1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS5** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS5** The count of the number of this particular object type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS5** The count of the number of this particular object type present on this device. -- **DecisionMediaCenter_RS1** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS3** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS5** The count of the number of this particular object type present on this device. -- **DecisionSystemBios_RS1** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS3** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS5** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **DecisionSystemBios_RS5Setup** The total number of objects of this type present on this device. -- **DecisionTest_RS1** The total number of objects of this type present on this device. -- **InventoryApplicationFile** The total number of objects of this type present on this device. -- **InventoryLanguagePack** The total number of objects of this type present on this device. -- **InventoryMediaCenter** The total number of objects of this type present on this device. -- **InventorySystemBios** The total number of objects of this type present on this device. -- **InventoryTest** The total number of objects of this type present on this device. -- **InventoryUplevelDriverPackage** The total number of objects of this type present on this device. -- **PCFP** The total number of objects of this type present on this device. -- **SystemMemory** The total number of objects of this type present on this device. -- **SystemProcessorCompareExchange** The total number of objects of this type present on this device. -- **SystemProcessorLahfSahf** The total number of objects of this type present on this device. -- **SystemProcessorNx** The total number of objects of this type present on this device. -- **SystemProcessorPrefetchW** The total number of objects of this type present on this device. -- **SystemProcessorSse2** The total number of objects of this type present on this device. -- **SystemTouch** The total number of objects of this type present on this device. -- **SystemWim** The total number of objects of this type present on this device. -- **SystemWindowsActivationStatus** The total number of objects of this type present on this device. -- **SystemWlan** The total number of objects of this type present on this device. -- **Wmdrm_RS1** The total number of objects of this type present on this device. -- **Wmdrm_RS3** The total number of objects of this type present on this device. -- **Wmdrm_RS5** The count of the number of this particular object type present on this device. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd - -This event represents the basic metadata about specific application files installed on the system. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **AvDisplayName** If the app is an antivirus app, this is its display name. -- **CompatModelIndex** The compatibility prediction for this file. -- **HasCitData** Indicates whether the file is present in CIT data. -- **HasUpgradeExe** Indicates whether the anti-virus app has an upgrade.exe file. -- **IsAv** Is the file an antivirus reporting EXE? -- **ResolveAttempted** This will always be an empty string when sending diagnostic data. -- **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileRemove - -This event indicates that the DatasourceApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync - -This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd - -This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. -- **IsBootCritical** Indicates whether the device boot is critical. -- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. -- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd - -This event sends compatibility database data about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove - -This event indicates that the DatasourceDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync - -This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd - -This event sends blocking data about any compatibility blocking entries on the system that are not directly related to specific applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove - -This event indicates that the DataSourceMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events has completed being sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd - -This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd - -This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd - -This event sends compatibility database information about the BIOS to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove - -This event indicates that the DatasourceSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync - -This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileAdd - -This event sends compatibility decision data about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **BlockAlreadyInbox** The uplevel runtime block on the file already existed on the current OS. -- **BlockingApplication** Indicates whether there are any application issues that interfere with the upgrade due to the file in question. -- **DisplayGenericMessage** Will a generic message be shown for this file? -- **DisplayGenericMessageGated** Indicates whether a generic message will be shown for this file. -- **HardBlock** This file is blocked in the SDB. -- **HasUxBlockOverride** Does the file have a block that is overridden by a tag in the SDB? -- **MigApplication** Does the file have a MigXML from the SDB associated with it that applies to the current upgrade mode? -- **MigRemoval** Does the file have a MigXML from the SDB that will cause the app to be removed on upgrade? -- **NeedsDismissAction** Will the file cause an action that can be dismissed? -- **NeedsInstallPostUpgradeData** After upgrade, the file will have a post-upgrade notification to install a replacement for the app. -- **NeedsNotifyPostUpgradeData** Does the file have a notification that should be shown after upgrade? -- **NeedsReinstallPostUpgradeData** After upgrade, this file will have a post-upgrade notification to reinstall the app. -- **NeedsUninstallAction** The file must be uninstalled to complete the upgrade. -- **SdbBlockUpgrade** The file is tagged as blocking upgrade in the SDB, -- **SdbBlockUpgradeCanReinstall** The file is tagged as blocking upgrade in the SDB. It can be reinstalled after upgrade. -- **SdbBlockUpgradeUntilUpdate** The file is tagged as blocking upgrade in the SDB. If the app is updated, the upgrade can proceed. -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the SDB. It does not block upgrade. -- **SdbReinstallUpgradeWarn** The file is tagged as needing to be reinstalled after upgrade with a warning in the SDB. It does not block upgrade. -- **SoftBlock** The file is softblocked in the SDB and has a warning. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove - -This event indicates that the DecisionApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileStartSync - -This event indicates that a new set of DecisionApplicationFileAdd events will be sent. This event is used to make compatibility decisions about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpAdd - -This event sends compatibility decision data about a Plug and Play (PNP) device to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? -- **AssociatedDriverWillNotMigrate** Will the driver associated with this plug-and-play device migrate? -- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? -- **BlockingDevice** Is this PNP device blocking upgrade? -- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? -- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? -- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? -- **DisplayGenericMessageGated** Indicates whether a generic message will be shown during Setup for this PNP device. -- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? -- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? -- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? -- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? -- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? -- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? -- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? -- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove - -This event Indicates that the DecisionDevicePnp object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync - -This event indicates that a new set of DecisionDevicePnpAdd events will be sent. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd - -This event sends decision data about driver package compatibility to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for this driver package. -- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? -- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? -- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? -- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? -- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove - -This event indicates that the DecisionDriverPackage object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageStartSync - -The DecisionDriverPackageStartSync event indicates that a new set of DecisionDriverPackageAdd events will be sent. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd - -This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **BlockingApplication** Are there are any application issues that interfere with upgrade due to matching info blocks? -- **DisplayGenericMessage** Will a generic message be shown for this block? -- **NeedsUninstallAction** Does the user need to take an action in setup due to a matching info block? -- **SdbBlockUpgrade** Is a matching info block blocking upgrade? -- **SdbBlockUpgradeCanReinstall** Is a matching info block blocking upgrade, but has the can reinstall tag? -- **SdbBlockUpgradeUntilUpdate** Is a matching info block blocking upgrade but has the until update tag? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove - -This event indicates that the DecisionMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveAdd - -This event sends compatibility decision data about non-blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Are there any application issues that interfere with upgrade due to matching info blocks? -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown due to matching info blocks. -- **MigApplication** Is there a matching info block with a mig for the current mode of upgrade? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove - -This event Indicates that the DecisionMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd - -This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **NeedsInstallPostUpgradeData** Will the file have a notification after upgrade to install a replacement for the app? -- **NeedsNotifyPostUpgradeData** Should a notification be shown for this file after upgrade? -- **NeedsReinstallPostUpgradeData** Will the file have a notification after upgrade to reinstall the app? -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the compatibility database (but is not blocking upgrade). - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove - -This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd - -This event sends decision data about the presence of Windows Media Center, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **BlockingApplication** Is there any application issues that interfere with upgrade due to Windows Media Center? -- **MediaCenterActivelyUsed** If Windows Media Center is supported on the edition, has it been run at least once and are the MediaCenterIndicators are true? -- **MediaCenterIndicators** Do any indicators imply that Windows Media Center is in active use? -- **MediaCenterInUse** Is Windows Media Center actively being used? -- **MediaCenterPaidOrActivelyUsed** Is Windows Media Center actively being used or is it running on a supported edition? -- **NeedsDismissAction** Are there any actions that can be dismissed coming from Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove - -This event indicates that the DecisionMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync - -This event indicates that a new set of DecisionMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd - -This event sends compatibility decision data about the BIOS to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device blocked from upgrade due to a BIOS block? -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for the bios. -- **HasBiosBlock** Does the device have a BIOS block? - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove - -This event indicates that the DecisionSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync - -This event indicates that a new set of DecisionSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.GatedRegChange - -This event sends data about the results of running a set of quick-blocking instructions, to help keep Windows up to date. - -The following fields are available: - -- **NewData** The data in the registry value after the scan completed. -- **OldData** The previous data in the registry value before the scan ran. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **RegKey** The registry key name for which a result is being sent. -- **RegValue** The registry value for which a result is being sent. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd - -This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or be part of an antivirus program. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **AvDisplayName** If the app is an antivirus app, this is its display name. -- **AvProductState** Indicates whether the antivirus program is turned on and the signatures are up to date. -- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64. -- **BinFileVersion** An attempt to clean up FileVersion at the client that tries to place the version into 4 octets. -- **BinProductVersion** An attempt to clean up ProductVersion at the client that tries to place the version into 4 octets. -- **BoeProgramId** If there is no entry in Add/Remove Programs, this is the ProgramID that is generated from the file metadata. -- **CompanyName** The company name of the vendor who developed this file. -- **FileId** A hash that uniquely identifies a file. -- **FileVersion** The File version field from the file metadata under Properties -> Details. -- **HasUpgradeExe** Indicates whether the antivirus app has an upgrade.exe file. -- **IsAv** Indicates whether the file an antivirus reporting EXE. -- **LinkDate** The date and time that this file was linked on. -- **LowerCaseLongPath** The full file path to the file that was inventoried on the device. -- **Name** The name of the file that was inventoried. -- **ProductName** The Product name field from the file metadata under Properties -> Details. -- **ProductVersion** The Product version field from the file metadata under Properties -> Details. -- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it. -- **Size** The size of the file (in hexadecimal bytes). - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove - -This event indicates that the InventoryApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync - -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd - -This event sends data about the number of language packs installed on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **HasLanguagePack** Indicates whether this device has 2 or more language packs. -- **LanguagePackCount** The number of language packs are installed. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove - -This event indicates that the InventoryLanguagePack object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync - -This event indicates that a new set of InventoryLanguagePackAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterAdd - -This event sends true/false data about decision points used to understand whether Windows Media Center is used on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **EverLaunched** Has Windows Media Center ever been launched? -- **HasConfiguredTv** Has the user configured a TV tuner through Windows Media Center? -- **HasExtendedUserAccounts** Are any Windows Media Center Extender user accounts configured? -- **HasWatchedFolders** Are any folders configured for Windows Media Center to watch? -- **IsDefaultLauncher** Is Windows Media Center the default app for opening music or video files? -- **IsPaid** Is the user running a Windows Media Center edition that implies they paid for Windows Media Center? -- **IsSupported** Does the running OS support Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove - -This event indicates that the InventoryMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync - -This event indicates that a new set of InventoryMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd - -This event sends basic metadata about the BIOS to determine whether it has a compatibility block. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BiosDate** The release date of the BIOS in UTC format. -- **BiosName** The name field from Win32_BIOS. -- **Manufacturer** The manufacturer field from Win32_ComputerSystem. -- **Model** The model field from Win32_ComputerSystem. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove - -This event indicates that the InventorySystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event runs only during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. It is critical in understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BootCritical** Is the driver package marked as boot critical? -- **Build** The build value from the driver package. -- **CatalogFile** The name of the catalog file within the driver package. -- **Class** The device class from the driver package. -- **ClassGuid** The device class unique ID from the driver package. -- **Date** The date from the driver package. -- **Inbox** Is the driver package of a driver that is included with Windows? -- **OriginalName** The original name of the INF file before it was renamed. Generally a path under $WINDOWS.~BT\Drivers\DU. -- **Provider** The provider of the driver package. -- **PublishedName** The name of the INF file after it was renamed. -- **Revision** The revision of the driver package. -- **SignatureStatus** Indicates if the driver package is signed. Unknown = 0, Unsigned = 1, Signed = 2. -- **VersionMajor** The major version of the driver package. -- **VersionMinor** The minor version of the driver package. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove - -This event indicates that the InventoryUplevelDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageStartSync - -This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.RunContext - -This event is sent at the beginning of an appraiser run, the RunContext indicates what should be expected in the following data payload. This event is used with the other Appraiser events to make compatibility decisions to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the currently running version of Appraiser was built. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Context** Indicates what mode Appraiser is running in. Example: Setup or Telemetry. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryAdd - -This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device from upgrade due to memory restrictions? -- **MemoryRequirementViolated** Was a memory requirement violated? -- **pageFile** The current committed memory limit for the system or the current process, whichever is smaller (in bytes). -- **ram** The amount of memory on the device. -- **ramKB** The amount of memory (in KB). -- **virtual** The size of the user-mode portion of the virtual address space of the calling process (in bytes). -- **virtualKB** The amount of virtual memory (in KB). - - -### Microsoft.Windows.Appraiser.General.SystemMemoryRemove - -This event that the SystemMemory object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync - -This event indicates that a new set of SystemMemoryAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd - -This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **CompareExchange128Support** Does the CPU support CompareExchange128? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove - -This event indicates that the SystemProcessorCompareExchange object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync - -This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfAdd - -This event sends data indicating whether the system supports the LAHF & SAHF CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **LahfSahfSupport** Does the CPU support LAHF/SAHF? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove - -This event indicates that the SystemProcessorLahfSahf object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfStartSync - -This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd - -This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **NXDriverResult** The result of the driver used to do a non-deterministic check for NX support. -- **NXProcessorSupport** Does the processor support NX? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove - -This event indicates that the SystemProcessorNx object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxStartSync - -This event indicates that a new set of SystemProcessorNxAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd - -This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **PrefetchWSupport** Does the processor support PrefetchW? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove - -This event indicates that the SystemProcessorPrefetchW object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add - -This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **SSE2ProcessorSupport** Does the processor support SSE2? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove - -This event indicates that the SystemProcessorSse2 object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync - -This event indicates that a new set of SystemProcessorSse2Add events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchAdd - -This event sends data indicating whether the system supports touch, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? -- **MaximumTouches** The maximum number of touch points supported by the device hardware. - - -### Microsoft.Windows.Appraiser.General.SystemTouchRemove - -This event indicates that the SystemTouch object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimAdd - -This event sends data indicating whether the operating system is running from a compressed Windows Imaging Format (WIM) file, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IsWimBoot** Is the current operating system running from a compressed WIM file? -- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. - - -### Microsoft.Windows.Appraiser.General.SystemWimRemove - -This event indicates that the SystemWim object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd - -This event sends data indicating whether the current operating system is activated, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. -- **WindowsNotActivatedDecision** Is the current operating system activated? - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusEndSync - -This event indicates that a full set of SystemWindowsActivationStatusAdd events has succeeded in being sent. The data collected with this event is used to help keep Windows up to date. - - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove - -This event indicates that the SystemWindowsActivationStatus object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusStartSync - -This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanAdd - -This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? -- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? -- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? -- **WlanExists** Does the device support WLAN at all? -- **WlanModulePresent** Are any WLAN modules present? -- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? - - -### Microsoft.Windows.Appraiser.General.SystemWlanRemove - -This event indicates that the SystemWlan object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanStartSync - -This event indicates that a new set of SystemWlanAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InboxDataVersion** The original version of the data files before retrieving any newer version. -- **IndicatorsWritten** Indicates if all relevant UEX indicators were successfully written or updated. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and therefore is making decisions using up-to-date driver coverage information. -- **RunResult** The result of the Appraiser diagnostic data run. -- **SendingUtc** Indicates whether the Appraiser client is sending events during the current diagnostic data run. -- **StoreHandleIsNotNull** Obsolete, always set to false -- **TelementrySent** Indicates whether diagnostic data was successfully sent. -- **ThrottlingUtc** Indicates whether the Appraiser client is throttling its output of CUET events to avoid being disabled. This increases runtime but also diagnostic data reliability. -- **Time** The client time of the event. -- **VerboseMode** Indicates if appraiser ran in Verbose mode, which is a test-only mode with extra logging. -- **WhyFullSyncWithoutTablePrefix** Indicates the reason or reasons that a full sync was generated. - - -### Microsoft.Windows.Appraiser.General.WmdrmAdd - -This event sends data about the usage of older digital rights management on the system, to help keep Windows up to date. This data does not indicate the details of the media using the digital rights management, only whether any such files exist. Collecting this data was critical to ensuring the correct mitigation for customers, and should be able to be removed once all mitigations are in place. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Same as NeedsDismissAction. -- **NeedsDismissAction** Indicates if a dismissible message is needed to warn the user about a potential loss of data due to DRM deprecation. -- **WmdrmApiResult** Raw value of the API used to gather DRM state. -- **WmdrmCdRipped** Indicates if the system has any files encrypted with personal DRM, which was used for ripped CDs. -- **WmdrmIndicators** WmdrmCdRipped OR WmdrmPurchased. -- **WmdrmInUse** WmdrmIndicators AND dismissible block in setup was not dismissed. -- **WmdrmNonPermanent** Indicates if the system has any files with non-permanent licenses. -- **WmdrmPurchased** Indicates if the system has any files with permanent licenses. - - -### Microsoft.Windows.Appraiser.General.WmdrmRemove - -This event indicates that the Wmdrm object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.WmdrmStartSync - -The WmdrmStartSync event indicates that a new set of WmdrmAdd events will be sent. This event is used to understand the usage of older digital rights management on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -## Census events - -### Census.App - -This event sends version data about the Apps running on this device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. -- **AppraiserErrorCode** The error code of the last Appraiser run. -- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. -- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. -- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. -- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. -- **AppraiserTaskExitCode** The Appraiser task exist code. -- **AppraiserTaskLastRun** The last runtime for the Appraiser task. -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Azure - -This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **CloudCoreBuildEx** The Azure CloudCore build number. -- **CloudCoreSupportBuildEx** The Azure CloudCore support build number. -- **NodeID** The node identifier on the device that indicates whether the device is part of the Azure fleet. -- **PartA_PrivTags** The privacy tags associated with the event. - - -### Census.Battery - -This event sends type and capacity data about the battery on the device, as well as the number of connected standby devices in use. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalBatteryCapablities** Represents information about what the battery is capable of doing. -- **InternalBatteryCapacityCurrent** Represents the battery's current fully charged capacity in mWh (or relative). Compare this value to DesignedCapacity  to estimate the battery's wear. -- **InternalBatteryCapacityDesign** Represents the theoretical capacity of the battery when new, in mWh. -- **InternalBatteryNumberOfCharges** Provides the number of battery charges. This is used when creating new products and validating that existing products meets targeted functionality performance. -- **IsAlwaysOnAlwaysConnectedCapable** Represents whether the battery enables the device to be AlwaysOnAlwaysConnected . Boolean value. - - -### Census.Enterprise - -This event sends data about Azure presence, type, and cloud domain use in order to provide an understanding of the use and integration of devices in an enterprise, cloud, and server environment. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AADDeviceId** Azure Active Directory device ID. -- **AzureOSIDPresent** Represents the field used to identify an Azure machine. -- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. -- **CDJType** Represents the type of cloud domain joined for the machine. -- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. -- **ContainerType** The type of container, such as process or virtual machine hosted. -- **EnrollmentType** Defines the type of MDM enrollment on the device. -- **HashedDomain** The hashed representation of the user domain used for login. -- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an enterprise Configuration Manager environment. -- **ServerFeatures** Represents the features installed on a Windows Server. This can be used by developers and administrators who need to automate the process of determining the features installed on a set of server computers. -- **SystemCenterID** The Configuration Manager ID is an anonymized one-way hash of the Active Directory Organization identifier - - -### Census.Firmware - -This event sends data about the BIOS and startup embedded in the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FirmwareManufacturer** Represents the manufacturer of the device's firmware (BIOS). -- **FirmwareReleaseDate** Represents the date the current firmware was released. -- **FirmwareType** Represents the firmware type. The various types can be unknown, BIOS, UEFI. -- **FirmwareVersion** Represents the version of the current firmware. - - -### Census.Flighting - -This event sends Windows Insider data from customers participating in improvement testing and feedback programs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceSampleRate** The telemetry sample rate assigned to the device. -- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. -- **FlightIds** A list of the different Windows Insider builds on this device. -- **FlightingBranchName** The name of the Windows Insider branch currently used by the device. -- **IsFlightsDisabled** Represents if the device is participating in the Windows Insider program. -- **MSA_Accounts** Represents a list of hashed IDs of the Microsoft Accounts that are flighting (pre-release builds) on this device. -- **SSRK** Retrieves the mobile targeting settings. - - -### Census.Hardware - -This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActiveMicCount** The number of active microphones attached to the device. -- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. -- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. -- **D3DMaxFeatureLevel** Supported Direct3D version. -- **DeviceColor** Indicates a color of the device. -- **DeviceForm** Indicates the form as per the device classification. -- **DeviceName** The device name that is set by the user. -- **DigitizerSupport** Is a digitizer supported? -- **DUID** The device unique ID. -- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). -- **InventoryId** The device ID used for compatibility testing. -- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). -- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. -- **SoCName** The firmware manufacturer of the device. -- **StudyID** Used to identify retail and non-retail device. -- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. -- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. -- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. -- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. -- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? - - -### Census.Memory - -This event sends data about the memory on the device, including ROM and RAM. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **TotalPhysicalRAM** Represents the physical memory (in MB). -- **TotalVisibleMemory** Represents the memory that is not reserved by the system. - - -### Census.Network - -This event sends data about the mobile and cellular network used by the device (mobile service provider, network, device ID, and service cost factors). The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **AssignedAccessStatus** Kiosk configuration mode. -- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. -- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time -- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. -- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). -- **InstallLanguage** The first language installed on the user machine. -- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. -- **IsEduData** Returns Boolean if the education data policy is enabled. -- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go -- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. -- **LanguagePacks** The list of language packages installed on the device. -- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. -- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. -- **OSEdition** Retrieves the version of the current OS. -- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc. -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivationResult** Returns Boolean if the OS Activation was successful. -- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. -- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. -- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. -- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. -- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. -- **ServiceProductKeyID** Retrieves the License key of the KMS -- **SharedPCMode** Returns Boolean for devices that have enabled the configuration EnableSharedPCMode.ration EnableSharedPCMode. -- **Signature** Retrieves if it is a signature machine sold by Microsoft store. -- **SLICStatus** Whether a SLIC table exists on the device. -- **SLICVersion** Returns OS type/version from SLIC table. - - -### Census.PrivacySettings - -This event provides information about the device level privacy settings and whether device-level access was granted to these capabilities. Not all settings are applicable to all devices. Each field records the consent state for the corresponding privacy setting. The consent state is encoded as a 16-bit signed integer, where the first 8 bits represents the effective consent value, and the last 8 bits represent the authority that set the value. The effective consent (first 8 bits) is one of the following values: -3 = unexpected consent value, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = undefined, 1 = allow, 2 = deny, 3 = prompt. The consent authority (last 8 bits) is one of the following values: -3 = unexpected authority, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = system, 1 = a higher authority (a gating setting, the system-wide setting, or a group policy), 2 = advertising ID group policy, 3 = advertising ID policy for child account, 4 = privacy setting provider doesn't know the actual consent authority, 5 = consent was not configured and a default set in code was used, 6 = system default, 7 = organization policy, 8 = OneSettings. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **FindMyDevice** Current state of the "find my device" setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.Processor - -This event sends data about the processor. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **KvaShadow** This is the micro code information of the processor. -- **MMSettingOverride** Microcode setting of the processor. -- **MMSettingOverrideMask** Microcode setting override of the processor. -- **PreviousUpdateRevision** Previous microcode revision. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. -- **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** The microcode revision. -- **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. -- **SocketCount** Count of CPU sockets. -- **SpeculationControl** Indicates whether the system has enabled protections needed to validate the speculation control vulnerability. - - -### Census.Security - -This event provides information about security settings. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. -- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. -- **DGState** This field summarizes the Device Guard state. -- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. -- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. -- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. -- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **SModeState** The Windows S mode trail state. -- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. - - -### Census.Speech - -This event is used to gather basic speech settings on the device. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AboveLockEnabled** Cortana setting that represents if Cortana can be invoked when the device is locked. -- **GPAllowInputPersonalization** Indicates if a Group Policy setting has enabled speech functionalities. -- **HolographicSpeechInputDisabled** Holographic setting that represents if the attached HMD devices have speech functionality disabled by the user. -- **HolographicSpeechInputDisabledRemote** Indicates if a remote policy has disabled speech functionalities for the HMD devices. -- **KWSEnabled** Cortana setting that represents if a user has enabled the "Hey Cortana" keyword spotter (KWS). -- **MDMAllowInputPersonalization** Indicates if an MDM policy has enabled speech functionalities. -- **RemotelyManaged** Indicates if the device is being controlled by a remote administrator (MDM or Group Policy) in the context of speech functionalities. -- **SpeakerIdEnabled** Cortana setting that represents if keyword detection has been trained to try to respond to a single user's voice. -- **SpeechServicesEnabled** Windows setting that represents whether a user is opted-in for speech services on the device. - - -### Census.Storage - -This event sends data about the total capacity of the system volume and primary disk. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PrimaryDiskTotalCapacity** Retrieves the amount of disk space on the primary disk of the device in MB. -- **PrimaryDiskType** Retrieves an enumerator value of type STORAGE_BUS_TYPE that indicates the type of bus to which the device is connected. This should be used to interpret the raw device properties at the end of this structure (if any). -- **SystemVolumeTotalCapacity** Retrieves the size of the partition that the System volume is installed on in MB. - - -### Census.Userdefault - -This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultApp** The current user's default program selected for the following extension or protocol: .html, .htm, .jpg, .jpeg, .png, .mp3, .mp4, .mov, .pdf. -- **DefaultBrowserProgId** The ProgramId of the current user's default browser. - - -### Census.UserDisplay - -This event sends data about the logical/physical display size, resolution and number of internal/external displays, and VRAM on the system. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalPrimaryDisplayLogicalDPIX** Retrieves the logical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayLogicalDPIY** Retrieves the logical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIX** Retrieves the physical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIY** Retrieves the physical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayResolutionHorizontal** Retrieves the number of pixels in the horizontal direction of the internal display. -- **InternalPrimaryDisplayResolutionVertical** Retrieves the number of pixels in the vertical direction of the internal display. -- **InternalPrimaryDisplaySizePhysicalH** Retrieves the physical horizontal length of the display in mm. Used for calculating the diagonal length in inches. -- **InternalPrimaryDisplaySizePhysicalY** Retrieves the physical vertical length of the display in mm. Used for calculating the diagonal length in inches -- **NumberofExternalDisplays** Retrieves the number of external displays connected to the machine -- **NumberofInternalDisplays** Retrieves the number of internal displays in a machine. -- **VRAMDedicated** Retrieves the video RAM in MB. -- **VRAMDedicatedSystem** Retrieves the amount of memory on the dedicated video card. -- **VRAMSharedSystem** Retrieves the amount of RAM memory that the video card can use. - - -### Census.UserNLS - -This event sends data about the default app language, input, and display language preferences set by the user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultAppLanguage** The current user Default App Language. -- **DisplayLanguage** The current user preferred Windows Display Language. -- **HomeLocation** The current user location, which is populated using GetUserGeoId() function. -- **KeyboardInputLanguages** The Keyboard input languages installed on the device. -- **SpeechInputLanguages** The Speech Input languages installed on the device. - - -### Census.UserPrivacySettings - -This event provides information about the current users privacy settings and whether device-level access was granted to these capabilities. Not all settings are applicable to all devices. Each field records the consent state for the corresponding privacy setting. The consent state is encoded as a 16-bit signed integer, where the first 8 bits represents the effective consent value, and the last 8 bits represents the authority that set the value. The effective consent is one of the following values: -3 = unexpected consent value, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = undefined, 1 = allow, 2 = deny, 3 = prompt. The consent authority is one of the following values: -3 = unexpected authority, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = user, 1 = a higher authority (a gating setting, the system-wide setting, or a group policy), 2 = advertising ID group policy, 3 = advertising ID policy for child account, 4 = privacy setting provider doesn't know the actual consent authority, 5 = consent was not configured and a default set in code was used, 6 = system default, 7 = organization policy, 8 = OneSettings. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **InkTypePersonalization** Current state of the inking and typing personalization setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.VM - -This event sends data indicating whether virtualization is enabled on the device, and its various characteristics. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. -- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. -- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. -- **IsVDI** Is the device using Virtual Desktop Infrastructure? -- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **OSAssessmentFeatureOutOfDate** How many days has it been since the last feature update was released but the device did not install it? -- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? -- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? -- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? -- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? -- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. -- **OSRollbackCount** The number of times feature updates have rolled back on the device. -- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. -- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . -- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. -- **OSWUAutoUpdateOptionsSource** The source of auto update setting that appears in the OSWUAutoUpdateOptions field. For example: Group Policy (GP), Mobile Device Management (MDM), and Default. -- **UninstallActive** A flag that represents when a device has uninstalled a previous upgrade recently. -- **UpdateServiceURLConfigured** Retrieves if the device is managed by Windows Server Update Services (WSUS). -- **WUDeferUpdatePeriod** Retrieves if deferral is set for Updates. -- **WUDeferUpgradePeriod** Retrieves if deferral is set for Upgrades. -- **WUDODownloadMode** Retrieves whether DO is turned on and how to acquire/distribute updates Delivery Optimization (DO) allows users to deploy previously downloaded Windows Update (WU) updates to other devices on the same network. -- **WUMachineId** Retrieves the Windows Update (WU) Machine Identifier. -- **WUPauseState** Retrieves Windows Update setting to determine if updates are paused. -- **WUServer** Retrieves the HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default). - - -### Census.Xbox - -This event sends data about the Xbox Console, such as Serial Number and DeviceId, to help keep Windows up to date. - -The following fields are available: - -- **XboxConsolePreferredLanguage** Retrieves the preferred language selected by the user on Xbox console. -- **XboxConsoleSerialNumber** Retrieves the serial number of the Xbox console. -- **XboxLiveDeviceId** Retrieves the unique device ID of the console. -- **XboxLiveSandboxId** Retrieves the developer sandbox ID if the device is internal to Microsoft. - - -## Common data extensions - -### Common Data Extensions.app - -Describes the properties of the running application. This extension could be populated by a client app or a web app. - -The following fields are available: - -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **env** The environment from which the event was logged. -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **locale** The locale of the app. -- **name** The name of the app. -- **userId** The userID as known by the application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.container - -Describes the properties of the container for events logged within a container. - -The following fields are available: - -- **epoch** An ID that's incremented for each SDK initialization. -- **localId** The device ID as known by the client. -- **osVer** The operating system version. -- **seq** An ID that's incremented for each event. -- **type** The container type. Examples: Process or VMHost - - -### Common Data Extensions.cs - -Describes properties related to the schema of the event. - -The following fields are available: - -- **sig** A common schema signature that identifies new and modified event schemas. - - -### Common Data Extensions.device - -Describes the device-related fields. - -The following fields are available: - -- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. -- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId -- **make** Device manufacturer. -- **model** Device model. - - -### Common Data Extensions.Envelope - -Represents an envelope that contains all of the common data extensions. - -The following fields are available: - -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related telemetry events across component boundaries. -- **data** Represents the optional unique diagnostic data for a particular event schema. -- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). -- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). -- **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). -- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). -- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). -- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). -- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). -- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). -- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **iKey** Represents an ID for applications or other logical groupings of events. -- **name** Represents the uniquely qualified name for the event. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.os - -Describes some properties of the operating system. - -The following fields are available: - -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. -- **name** Represents the operating system name. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.sdk - -Used by platform specific libraries to record fields that are required for a specific SDK. - -The following fields are available: - -- **epoch** An ID that is incremented for each SDK initialization. -- **installId** An ID that's created during the initialization of the SDK for the first time. -- **libVer** The SDK version. -- **seq** An ID that is incremented for each event. - - -### Common Data Extensions.user - -Describes the fields related to a user. - -The following fields are available: - -- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **locale** The language and region. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.utc - -Describes the properties that could be populated by a logging library on Windows. - -The following fields are available: - -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence -- **op** Represents the ETW Op Code. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. - - -### Common Data Extensions.xbl - -Describes the fields that are related to XBOX Live. - -The following fields are available: - -- **claims** Any additional claims whose short claim name hasn't been added to this structure. -- **did** XBOX device ID -- **dty** XBOX device type -- **dvr** The version of the operating system on the device. -- **eid** A unique ID that represents the developer entity. -- **exp** Expiration time -- **ip** The IP address of the client device. -- **nbf** Not before time -- **pid** A comma separated list of PUIDs listed as base10 numbers. -- **sbx** XBOX sandbox identifier -- **sid** The service instance ID. -- **sty** The service type. -- **tid** The XBOX Live title ID. -- **tvr** The XBOX Live title version. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. -- **xid** A list of base10-encoded XBOX User IDs. - - -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - -## Compatibility events - -### Microsoft.Windows.Compatibility.Apphelp.SdbFix - -Product instrumentation for helping debug/troubleshoot issues with inbox compatibility components. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AppName** Name of the application impacted by SDB. -- **FixID** SDB GUID. -- **Flags** List of flags applied. -- **ImageName** Name of file. - - -## Component-based Servicing events - -### CbsServicingProvider.CbsCapabilityEnumeration - -This event reports on the results of scanning for optional Windows content on Windows Update to keep Windows up to date. - -The following fields are available: - -- **architecture** Indicates the scan was limited to the specified architecture. -- **capabilityCount** The number of optional content packages found during the scan. -- **clientId** The name of the application requesting the optional content. -- **duration** The amount of time it took to complete the scan. -- **hrStatus** The HReturn code of the scan. -- **language** Indicates the scan was limited to the specified language. -- **majorVersion** Indicates the scan was limited to the specified major version. -- **minorVersion** Indicates the scan was limited to the specified minor version. -- **namespace** Indicates the scan was limited to packages in the specified namespace. -- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionFinalize - -This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **capabilities** The names of the optional content packages that were installed. -- **clientId** The name of the application requesting the optional content. -- **currentID** The ID of the current install session. -- **highestState** The highest final install state of the optional content. -- **hrLCUReservicingStatus** Indicates whether the optional content was updated to the latest available version. -- **hrStatus** The HReturn code of the install operation. -- **rebootCount** The number of reboots required to complete the install. -- **retryID** The session ID that will be used to retry a failed operation. -- **retryStatus** Indicates whether the install will be retried in the event of failure. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionPended - -This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. - -The following fields are available: - -- **clientId** The name of the application requesting the optional content. -- **pendingDecision** Indicates the cause of reboot, if applicable. - - -### CbsServicingProvider.CbsPackageRemoval - -This event provides information about the results of uninstalling a Windows Cumulative Security Update to help keep Windows up to date. - -The following fields are available: - -- **buildVersion** The build number of the security update being uninstalled. -- **clientId** The name of the application requesting the uninstall. -- **currentStateEnd** The final state of the update after the operation. -- **failureDetails** Information about the cause of a failure, if applicable. -- **failureSourceEnd** The stage during the uninstall where the failure occurred. -- **hrStatusEnd** The overall exit code of the operation. -- **initiatedOffline** Indicates if the uninstall was initiated for a mounted Windows image. -- **majorVersion** The major version number of the security update being uninstalled. -- **minorVersion** The minor version number of the security update being uninstalled. -- **originalState** The starting state of the update before the operation. -- **pendingDecision** Indicates the cause of reboot, if applicable. -- **primitiveExecutionContext** The state during system startup when the uninstall was completed. -- **revisionVersion** The revision number of the security update being uninstalled. -- **transactionCanceled** Indicates whether the uninstall was canceled. - - -### CbsServicingProvider.CbsQualityUpdateInstall - -This event reports on the performance and reliability results of installing Servicing content from Windows Update to keep Windows up to date. - -The following fields are available: - -- **buildVersion** The build version number of the update package. -- **clientId** The name of the application requesting the optional content. -- **corruptionHistoryFlags** A bitmask of the types of component store corruption that have caused update failures on the device. -- **corruptionType** An enumeration listing the type of data corruption responsible for the current update failure. -- **currentStateEnd** The final state of the package after the operation has completed. -- **doqTimeSeconds** The time in seconds spent updating drivers. -- **executeTimeSeconds** The number of seconds required to execute the install. -- **failureDetails** The driver or installer that caused the update to fail. -- **failureSourceEnd** An enumeration indicating at what phase of the update a failure occurred. -- **hrStatusEnd** The return code of the install operation. -- **initiatedOffline** A true or false value indicating whether the package was installed into an offline Windows Imaging Format (WIM) file. -- **majorVersion** The major version number of the update package. -- **minorVersion** The minor version number of the update package. -- **originalState** The starting state of the package. -- **overallTimeSeconds** The time (in seconds) to perform the overall servicing operation. -- **PartA_PrivTags** The privacy tags associated with the event. -- **planTimeSeconds** The time in seconds required to plan the update operations. -- **poqTimeSeconds** The time in seconds processing file and registry operations. -- **postRebootTimeSeconds** The time (in seconds) to do startup processing for the update. -- **preRebootTimeSeconds** The time (in seconds) between execution of the installation and the reboot. -- **primitiveExecutionContext** An enumeration indicating at what phase of shutdown or startup the update was installed. -- **rebootCount** The number of reboots required to install the update. -- **rebootTimeSeconds** The time (in seconds) before startup processing begins for the update. -- **resolveTimeSeconds** The time in seconds required to resolve the packages that are part of the update. -- **revisionVersion** The revision version number of the update package. -- **rptTimeSeconds** The time in seconds spent executing installer plugins. -- **shutdownTimeSeconds** The time (in seconds) required to do shutdown processing for the update. -- **stackRevision** The revision number of the servicing stack. -- **stageTimeSeconds** The time (in seconds) required to stage all files that are part of the update. - - -### CbsServicingProvider.CbsSelectableUpdateChangeV2 - -This event reports the results of enabling or disabling optional Windows Content to keep Windows up to date. - -The following fields are available: - -- **applicableUpdateState** Indicates the highest applicable state of the optional content. -- **buildVersion** The build version of the package being installed. -- **clientId** The name of the application requesting the optional content change. -- **downloadSource** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **downloadtimeInSeconds** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **executionID** A unique ID used to identify events associated with a single servicing operation and not reused for future operations. -- **executionSequence** A counter that tracks the number of servicing operations attempted on the device. -- **firstMergedExecutionSequence** The value of a pervious executionSequence counter that is being merged with the current operation, if applicable. -- **firstMergedID** A unique ID of a pervious servicing operation that is being merged with this operation, if applicable. -- **hrDownloadResult** The return code of the download operation. -- **hrStatusUpdate** The return code of the servicing operation. -- **identityHash** A pseudonymized (hashed) identifier for the Windows Package that is being installed or uninstalled. -- **initiatedOffline** Indicates whether the operation was performed against an offline Windows image file or a running instance of Windows. -- **majorVersion** The major version of the package being installed. -- **minorVersion** The minor version of the package being installed. -- **packageArchitecture** The architecture of the package being installed. -- **packageLanguage** The language of the package being installed. -- **packageName** The name of the package being installed. -- **rebootRequired** Indicates whether a reboot is required to complete the operation. -- **revisionVersion** The revision number of the package being installed. -- **stackBuild** The build number of the servicing stack binary performing the installation. -- **stackMajorVersion** The major version number of the servicing stack binary performing the installation. -- **stackMinorVersion** The minor version number of the servicing stack binary performing the installation. -- **stackRevision** The revision number of the servicing stack binary performing the installation. -- **updateName** The name of the optional Windows Operation System feature being enabled or disabled. -- **updateStartState** A value indicating the state of the optional content before the operation started. -- **updateTargetState** A value indicating the desired state of the optional content. - - -## Deployment extensions - -### DeploymentTelemetry.Deployment_End - -This event indicates that a Deployment 360 API has completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of the user utilizing the D360 API. -- **ErrorCode** Error code of action. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Mode** Phase in upgrade. -- **RelatedCV** The correction vector (CV) of any other related events -- **Result** End result of the action. - - -### DeploymentTelemetry.Deployment_Initialize - -This event indicates that the Deployment 360 APIs have been initialized for use. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of user utilizing the D360 API. -- **ErrorCode** Error code of the action. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **RelatedCV** The correlation vector of any other related events. -- **Result** End result of the action. - - -### DeploymentTelemetry.Deployment_SetupBoxLaunch - -This event indicates that the Deployment 360 APIs have launched Setup Box. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The client ID of the user utilizing the D360 API. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Quiet** Whether Setup will run in quiet mode or full mode. -- **RelatedCV** The correlation vector (CV) of any other related events. -- **SetupMode** The current setup phase. - - -### DeploymentTelemetry.Deployment_SetupBoxResult - -This event indicates that the Deployment 360 APIs have received a return from Setup Box. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of the user utilizing the D360 API. -- **ErrorCode** Error code of the action. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Quiet** Indicates whether Setup will run in quiet mode or full mode. -- **RelatedCV** The correlation vector (CV) of any other related events. -- **SetupMode** The current Setup phase. - - -### DeploymentTelemetry.Deployment_Start - -This event indicates that a Deployment 360 API has been called. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of the user utilizing the D360 API. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Mode** The current phase of the upgrade. -- **RelatedCV** The correlation vector (CV) of any other related events. - - -## Diagnostic data events - -### TelClientSynthetic.AuthorizationInfo_RuntimeTransition - -This event is fired by UTC at state transitions to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - -### TelClientSynthetic.AuthorizationInfo_Startup - -This event is fired by UTC at startup to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - -### TelClientSynthetic.ConnectivityHeartBeat_0 - -This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads telemetry events. If an unrestricted free network (such as Wi-Fi) is available, this event updates the last successful upload time. Otherwise, it checks whether a Connectivity Heartbeat event was fired in the past 24 hours, and if not, it sends an event. A Connectivity Heartbeat event is also sent when a device recovers from costed network to free network. This event is fired by UTC during periods of no network as a heartbeat signal, to keep Windows secure and up to date. - -The following fields are available: - -- **CensusExitCode** Last exit code of the Census task. -- **CensusStartTime** Time of last Census run. -- **CensusTaskEnabled** True if Census is enabled, false otherwise. -- **LastConnectivityLossTime** The FILETIME at which the last free network loss occurred. -- **NetworkState** The network state of the device. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedNetworkTime** The total number of seconds with restricted network during this heartbeat period. - - -### TelClientSynthetic.HeartBeat_5 - -This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. - -The following fields are available: - -- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** The last exit code of the Census task. -- **CensusStartTime** Time of last Census run. -- **CensusTaskEnabled** True if Census is enabled, false otherwise. -- **CompressedBytesUploaded** Number of compressed bytes uploaded. -- **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. -- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. -- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. -- **DbDroppedCount** Number of events dropped due to DB fullness. -- **DbDroppedFailureCount** Number of events dropped due to DB failures. -- **DbDroppedFullCount** Number of events dropped due to DB fullness. -- **DecodingDroppedCount** Number of events dropped due to decoding failures. -- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. -- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. -- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. -- **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventSubStoreResetCounter** Number of times event DB was reset. -- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. -- **EventsUploaded** Number of events uploaded. -- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. -- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. -- **HeartBeatSequenceNumber** The sequence number of this heartbeat. -- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. -- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. -- **LastEventSizeOffender** Event name of last event which exceeded max event size. -- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. -- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. -- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). -- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. -- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. -- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** The number of timeout failures received from Vortex. -- **VortexHttpAttempts** Number of attempts to contact Vortex. -- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. -- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. -- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. - - -### TelClientSynthetic.HeartBeat_Aria_5 - -This event is the telemetry client ARIA heartbeat. - -The following fields are available: - -- **CompressedBytesUploaded** Number of compressed bytes uploaded. -- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event database. -- **DbCriticalDroppedCount** Total number of dropped critical events in event database. -- **DbDroppedCount** Number of events dropped at the database layer. -- **DbDroppedFailureCount** Number of events dropped due to database failures. -- **DbDroppedFullCount** Number of events dropped due to database being full. -- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. -- **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventSubStoreResetCounter** Number of times event database was reset. -- **EventSubStoreResetSizeSum** Total size of event database across all resets reports in this instance. -- **EventsUploaded** Number of events uploaded. -- **HeartBeatSequenceNumber** The sequence number of this heartbeat. -- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. -- **LastEventSizeOffender** Event name of last event which exceeded max event size. -- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **PreviousHeartBeatTime** The FILETIME of the previous heartbeat fire. -- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting OneSettings service. -- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures received from Vortex. -- **VortexHttpAttempts** Number of attempts to contact Vortex. -- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. -- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. -- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. - - -## Direct to update events - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicability - -This event indicates that the Coordinator CheckApplicability call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ApplicabilityResult** Result of CheckApplicability function. -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicabilityGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinators CheckApplicability call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Cleanup call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupSuccess - -This event indicates that the Coordinator Cleanup call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Commit call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess - -This event indicates that the Coordinator Commit call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Download call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure - -This event indicates that we have received an error in the Direct to Update (DTU) Coordinator Download call that will be ignored. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadSuccess - -This event indicates that the Coordinator Download call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator HandleShutdown call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinate version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownSuccess - -This event indicates that the Coordinator HandleShutdown call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Initialize call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeSuccess - -This event indicates that the Coordinator Initialize call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Install call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallIgnoredFailure - -This event indicates that we have received an error in the Direct to Update (DTU) Coordinator Install call that will be ignored. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallSuccess - -This event indicates that the Coordinator Install call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorProgressCallBack - -This event indicates that the Coordinator's progress callback has been called. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **DeployPhase** Current Deploy Phase. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator SetCommitReady call. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadySuccess - -This event indicates that the Coordinator SetCommitReady call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator WaitForRebootUi call. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiNotShown - -This event indicates that the Coordinator WaitForRebootUi call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection - -This event indicates that the user selected an option on the Reboot UI. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **rebootUiSelection** Selection on the Reboot UI. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSuccess - -This event indicates that the Coordinator WaitForRebootUi call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector -- **hResult** HRESULT of the failure - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicabilityInternal call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalSuccess - -This event indicates that the Handler CheckApplicabilityInternal call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ApplicabilityResult** The result of the applicability check. -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilitySuccess - -This event indicates that the Handler CheckApplicability call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ApplicabilityResult** The result code indicating whether the update is applicable. -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **CV_new** New correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckIfCoordinatorMinApplicableVersion call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionSuccess - -This event indicates that the Handler CheckIfCoordinatorMinApplicableVersion call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **CheckIfCoordinatorMinApplicableVersionResult** Result of CheckIfCoordinatorMinApplicableVersion function. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Commit call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **CV_new** New correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess - -This event indicates that the Handler Commit call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **CV_new** New correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabAlreadyDownloaded - -This event indicates that the Handler Download and Extract cab returned a value indicating that the cab has already been downloaded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabFailure - -This event indicates that the Handler Download and Extract cab call failed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **DownloadAndExtractCabFunction_failureReason** Reason why the update download and extract process failed. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabSuccess - -This event indicates that the Handler Download and Extract cab call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Download call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess - -This event indicates that the Handler Download call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Initialize call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **DownloadAndExtractCabFunction_hResult** HRESULT of the download and extract. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess - -This event indicates that the Handler Initialize call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **DownloadAndExtractCabFunction_hResult** HRESULT of the download and extraction. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Install call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess - -This event indicates that the Coordinator Install call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadyGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler SetCommitReady call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadySuccess - -This event indicates that the Handler SetCommitReady call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler WaitForRebootUi call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** The ID of the campaigning being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** The HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess - -This event indicates that the Handler WaitForRebootUi call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -## DxgKernelTelemetry events - -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. -- **aiSeqId** The event sequence ID. -- **bootId** The system boot ID. -- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **DisplayAdapterLuid** The display adapter LUID. -- **DriverDate** The date of the display driver. -- **DriverRank** The rank of the display driver. -- **DriverVersion** The display driver version. -- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. -- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. -- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. -- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. -- **GPUDeviceID** The GPU device ID. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURevisionID** The GPU revision ID. -- **GPUVendorID** The GPU vendor ID. -- **InterfaceId** The GPU interface ID. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsRemovable** TRUE if the adapter supports being disabled or removed. -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. -- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). -- **SubSystemID** The subsystem ID. -- **SubVendorID** The GPU sub vendor ID. -- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? -- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) -- **version** The event version. -- **WDDMVersion** The Windows Display Driver Model version. - - -### DxgKrnlTelemetry.GPUAdapterStop - -This event collects information about an adapter when it stops. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **AdapterLuid** Local Identifier for the adapter. -- **AdapterTypeValue** Numeric value indicating the type of the adapter. -- **DriverDate** Date of the driver. -- **DriverVersion** Version of the driver. -- **GPUDeviceID** Device identifier for the adapter. -- **GPUVendorID** Vendor identifier for the adapter. -- **InterfaceId** Identifier for the adapter. -- **IsDetachable** Boolean value indicating whether the adapter is removable or detachable. -- **IsDisplayDevice** Boolean value indicating whether the adapter has display capabilities. -- **IsHybridDiscrete** Boolean value indicating whether the adapter is a discrete adapter in a hybrid configuration. -- **IsHybridIntegrated** Boolean value indicating whether the adapter is an integrated adapter in a hybrid configuration. -- **IsRenderDevice** Boolean value indicating whether the adapter has rendering capabilities. -- **IsSoftwareDevice** Boolean value indicating whether the adapter is implemented in software. -- **IsSurpriseRemoved** Boolean value indicating whether the adapter was surprise removed. -- **SubSystemID** Subsystem identifier for the adapter. -- **SubVendorID** Sub-vendor identifier for the adapter. -- **version** Version of the schema for this event. -- **WDDMVersion** Display driver model version for the driver. - - -## Failover Clustering events - -### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 - -This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. - -The following fields are available: - -- **autoAssignSite** The cluster parameter: auto site. -- **autoBalancerLevel** The cluster parameter: auto balancer level. -- **autoBalancerMode** The cluster parameter: auto balancer mode. -- **blockCacheSize** The configured size of the block cache. -- **ClusterAdConfiguration** The ad configuration of the cluster. -- **clusterAdType** The cluster parameter: mgmt_point_type. -- **clusterDumpPolicy** The cluster configured dump policy. -- **clusterFunctionalLevel** The current cluster functional level. -- **clusterGuid** The unique identifier for the cluster. -- **clusterWitnessType** The witness type the cluster is configured for. -- **countNodesInSite** The number of nodes in the cluster. -- **crossSiteDelay** The cluster parameter: CrossSiteDelay. -- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. -- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. -- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. -- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. -- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. -- **csvResourceCount** The number of resources in the cluster. -- **currentNodeSite** The name configured for the current site for the cluster. -- **dasModeBusType** The direct storage bus type of the storage spaces. -- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. -- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. -- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. -- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. -- **genAppNames** The win32 service name of a clustered service. -- **genSvcNames** The command line of a clustered genapp. -- **hangRecoveryAction** The cluster parameter: hang recovery action. -- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. -- **isCalabria** Specifies whether storage spaces direct is enabled. -- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. -- **isRunningDownLevel** Identifies if the current node is running down-level. -- **logLevel** Specifies the granularity that is logged in the cluster log. -- **logSize** Specifies the size of the cluster log. -- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. -- **minNeverPreempt** The cluster parameter: minimum never preempt. -- **minPreemptor** The cluster parameter: minimum preemptor priority. -- **netftIpsecEnabled** The parameter: netftIpsecEnabled. -- **NodeCount** The number of nodes in the cluster. -- **nodeId** The current node number in the cluster. -- **nodeResourceCounts** Specifies the number of node resources. -- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. -- **numberOfSites** The number of different sites. -- **numNodesInNoSite** The number of nodes not belonging to a site. -- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. -- **preferredSite** The preferred site location. -- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. -- **quarantineDuration** The quarantine duration. -- **quarantineThreshold** The quarantine threshold. -- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. -- **resiliencyLevel** Specifies the level of resiliency. -- **resourceCounts** Specifies the number of resources. -- **resourceTypeCounts** Specifies the number of resource types in the cluster. -- **resourceTypes** Data representative of each resource type. -- **resourceTypesPath** Data representative of the DLL path for each resource type. -- **sameSubnetDelay** The cluster parameter: same subnet delay. -- **sameSubnetThreshold** The cluster parameter: same subnet threshold. -- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). -- **securityLevel** The cluster parameter: security level. -- **securityLevelForStorage** The cluster parameter: security level for storage. -- **sharedVolumeBlockCacheSize** Specifies the block cache size shared volumes. -- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. -- **upNodeCount** Specifies the number of nodes that are up (online). -- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. -- **vmIsolationTime** The cluster parameter: VM isolation time. -- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. - - -## Fault Reporting events - -### Microsoft.Windows.FaultReporting.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. - -The following fields are available: - -- **AppName** The name of the app that has crashed. -- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. -- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. -- **IsCrashFatal** (Deprecated) True/False to indicate whether the crash resulted in process termination. -- **IsFatal** True/False to indicate whether the crash resulted in process termination. -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModVersion** The version of the module that has crashed. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessId** The ID of the process that has crashed. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported -- **TargetAsId** The sequence number for the hanging process. - - -## Feature update events - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed - -This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **failureReason** Provides data about the uninstall initialization operation failure. -- **hr** Provides the Win32 error code for the operation failure. - - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFinalizedAndRebootTriggered - -This event indicates that the uninstall was properly configured and that a system reboot was initiated. The data collected with this event is used to help keep Windows up to date and performing properly. - - - -### Microsoft.Windows.Upgrade.Uninstall.UninstallGoBackButtonClicked - -This event sends basic metadata about the starting point of uninstalling a feature update, which helps ensure customers can safely revert to a well-known state if the update caused any problems. - - - -## Hang Reporting events - -### Microsoft.Windows.HangReporting.AppHangEvent - -This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. - -The following fields are available: - -- **AppName** The name of the app that has hung. -- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. -- **AppVersion** The version of the app that has hung. -- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. - - -## Inventory events - -### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum - -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **DeviceCensus** A count of device census objects in cache. -- **DriverPackageExtended** A count of driverpackageextended objects in cache. -- **FileSigningInfo** A count of file signing objects in cache. -- **InventoryApplication** A count of application objects in cache. -- **InventoryApplicationAppV** A count of application AppV objects in cache. -- **InventoryApplicationDriver** A count of application driver objects in cache. -- **InventoryApplicationFile** A count of application file objects in cache. -- **InventoryApplicationFramework** A count of application framework objects in cache. -- **InventoryApplicationShortcut** A count of application shortcut objects in cache. -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDeviceUsbHubClass** A count of device USB objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache. -- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. -- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache. -- **InventoryMiscellaneousOfficeIESettings** A count of office IE settings objects in cache. -- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache. -- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache. -- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache. -- **InventoryMiscellaneousOfficeVBA** A count of office VBA objects in cache. -- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office VBA rule violations objects in cache. -- **InventoryMiscellaneousUUPInfo** A count of UUP info objects in cache. - - -### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions - -This event sends inventory component versions for the Device Inventory data. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **aeinv** The version of the App inventory component. -- **devinv** The file version of the Device inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd - -This event sends basic metadata about an application on the system. The data collected with this event is used to keep Windows performing properly and up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). -- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 -- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. -- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. -- **InventoryVersion** The version of the inventory file generating the events. -- **Language** The language code of the program. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **PackageFullName** The package full name for a Store application. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. -- **Version** The version number of the program. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd - -This event represents what drivers an application installs. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. -- **ProgramIds** The unique program identifier the driver is associated with. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync - -The InventoryApplicationDriverStartSync event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd - -This event provides the basic metadata about the frameworks an application may depend on. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **FileId** A hash that uniquely identifies a file. -- **Frameworks** The list of frameworks this file depends on. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync - -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync - -This event indicates that a new set of InventoryApplicationAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerAdd - -This event sends basic metadata about a device container (such as a monitor or printer as opposed to a Plug and Play device). The data collected with this event is used to help keep Windows up to date and to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Categories** A comma separated list of functional categories in which the container belongs. -- **DiscoveryMethod** The discovery method for the device container. -- **FriendlyName** The name of the device container. -- **InventoryVersion** The version of the inventory file generating the events. -- **IsActive** Is the device connected, or has it been seen in the last 14 days? -- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. -- **IsMachineContainer** Is the container the root device itself? -- **IsNetworked** Is this a networked device? -- **IsPaired** Does the device container require pairing? -- **Manufacturer** The manufacturer name for the device container. -- **ModelId** A unique model ID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **PrimaryCategory** The primary category for the device container. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove - -This event indicates that the InventoryDeviceContainer object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync - -This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd - -This event retrieves information about what sensor interfaces are available on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Accelerometer3D** Indicates if an Accelerator3D sensor is found. -- **ActivityDetection** Indicates if an Activity Detection sensor is found. -- **AmbientLight** Indicates if an Ambient Light sensor is found. -- **Barometer** Indicates if a Barometer sensor is found. -- **Custom** Indicates if a Custom sensor is found. -- **EnergyMeter** Indicates if an Energy sensor is found. -- **FloorElevation** Indicates if a Floor Elevation sensor is found. -- **GeomagneticOrientation** Indicates if a Geo Magnetic Orientation sensor is found. -- **GravityVector** Indicates if a Gravity Detector sensor is found. -- **Gyrometer3D** Indicates if a Gyrometer3D sensor is found. -- **Humidity** Indicates if a Humidity sensor is found. -- **InventoryVersion** The version of the inventory file generating the events. -- **LinearAccelerometer** Indicates if a Linear Accelerometer sensor is found. -- **Magnetometer3D** Indicates if a Magnetometer3D sensor is found. -- **Orientation** Indicates if an Orientation sensor is found. -- **Pedometer** Indicates if a Pedometer sensor is found. -- **Proximity** Indicates if a Proximity sensor is found. -- **RelativeOrientation** Indicates if a Relative Orientation sensor is found. -- **SimpleDeviceOrientation** Indicates if a Simple Device Orientation sensor is found. -- **Temperature** Indicates if a Temperature sensor is found. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync - -This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassAdd - -This event sends additional metadata about a Plug and Play device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Audio_CaptureDriver** The Audio device capture driver endpoint. -- **Audio_RenderDriver** The Audio device render driver endpoint. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassRemove - -This event indicates that the InventoryDeviceMediaClass object represented by the objectInstanceId is no longer present. This event is used to understand a PNP device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync - -This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd - -This event sends basic metadata about a PNP device and its associated driver to help keep Windows up to date. This information is used to assess if the PNP device and driver will remain compatible when upgrading Windows. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **BusReportedDescription** The description of the device reported by the bus. -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class unique identifier of the driver package loaded on the device. -- **COMPID** The list of “Compatible IDs” for this device. -- **ContainerId** The system-supplied unique identifier that specifies which group(s) the device(s) installed on the parent (main) device belong to. -- **Description** The description of the device. -- **DeviceState** Identifies the current state of the parent (main) device. -- **DriverId** The unique identifier for the installed driver. -- **DriverName** The name of the driver image file. -- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **DriverVerDate** The date associated with the driver loaded on the device. -- **DriverVerVersion** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **Enumerator** Identifies the bus that enumerated the device. -- **HWID** A list of hardware IDs for the device. -- **Inf** The name of the INF file (possibly renamed by the OS, such as oemXX.inf). -- **InstallState** The device installation state. For a list of values, see: [Device Install State](/windows-hardware/drivers/ddi/wdm/ne-wdm-_device_install_state) -- **InventoryVersion** The version number of the inventory process generating the events. -- **LowerClassFilters** The identifiers of the Lower Class filters installed for the device. -- **LowerFilters** The identifiers of the Lower filters installed for the device. -- **Manufacturer** The manufacturer of the device. -- **MatchingID** The Hardware ID or Compatible ID that Windows uses to install a device instance. -- **Model** Identifies the model of the device. -- **ParentId** The Device Instance ID of the parent of the device. -- **ProblemCode** The error code currently returned by the device, if applicable. -- **Provider** Identifies the device provider. -- **Service** The name of the device service. -- **STACKID** The list of hardware IDs for the stack. -- **UpperClassFilters** The identifiers of the Upper Class filters installed for the device. -- **UpperFilters** The identifiers of the Upper filters installed for the device. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove - -This event indicates that the InventoryDevicePnpRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassAdd - -This event sends basic metadata about the USB hubs on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. -- **TotalUserConnectablePorts** Total number of connectable USB ports. -- **TotalUserConnectableTypeCPorts** Total number of connectable USB Type C ports. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync - -This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd - -This event sends basic metadata about driver binaries running on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **DriverCheckSum** The checksum of the driver file. -- **DriverCompany** The company name that developed the driver. -- **DriverInBox** Is the driver included with the operating system? -- **DriverIsKernelMode** Is it a kernel mode driver? -- **DriverName** The file name of the driver. -- **DriverPackageStrongName** The strong name of the driver package -- **DriverSigned** Is the driver signed? -- **DriverTimeStamp** The low 32 bits of the time stamp of the driver file. -- **DriverType** A bitfield of driver attributes: 1. define DRIVER_MAP_DRIVER_TYPE_PRINTER 0x0001. 2. define DRIVER_MAP_DRIVER_TYPE_KERNEL 0x0002. 3. define DRIVER_MAP_DRIVER_TYPE_USER 0x0004. 4. define DRIVER_MAP_DRIVER_IS_SIGNED 0x0008. 5. define DRIVER_MAP_DRIVER_IS_INBOX 0x0010. 6. define DRIVER_MAP_DRIVER_IS_WINQUAL 0x0040. 7. define DRIVER_MAP_DRIVER_IS_SELF_SIGNED 0x0020. 8. define DRIVER_MAP_DRIVER_IS_CI_SIGNED 0x0080. 9. define DRIVER_MAP_DRIVER_HAS_BOOT_SERVICE 0x0100. 10. define DRIVER_MAP_DRIVER_TYPE_I386 0x10000. 11. define DRIVER_MAP_DRIVER_TYPE_IA64 0x20000. 12. define DRIVER_MAP_DRIVER_TYPE_AMD64 0x40000. 13. define DRIVER_MAP_DRIVER_TYPE_ARM 0x100000. 14. define DRIVER_MAP_DRIVER_TYPE_THUMB 0x200000. 15. define DRIVER_MAP_DRIVER_TYPE_ARMNT 0x400000. 16. define DRIVER_MAP_DRIVER_IS_TIME_STAMPED 0x800000. -- **DriverVersion** The version of the driver file. -- **ImageSize** The size of the driver file. -- **Inf** The name of the INF file. -- **InventoryVersion** The version of the inventory file generating the events. -- **Product** The product name that is included in the driver file. -- **ProductVersion** The product version that is included in the driver file. -- **Service** The name of the service that is installed for the device. -- **WdfVersion** The Windows Driver Framework version. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove - -This event indicates that the InventoryDriverBinary object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync - -This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageAdd - -This event sends basic metadata about drive packages installed on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **DriverInBox** Is the driver included with the operating system? -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync - -This event indicates that a new set of InventoryDriverPackageAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.General. InventoryMiscellaneousMemorySlotArrayInfoRemove - -This event indicates that this particular data object represented by the ObjectInstanceId is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.AppHealthStaticAdd - -This event sends details collected for a specific application on the source device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AhaVersion** The binary version of the App Health Analyzer tool. -- **ApplicationErrors** The count of application errors from the event log. -- **Bitness** The architecture type of the application (16 Bit or 32 bit or 64 bit). -- **device_level** Various JRE/JAVA versions installed on a particular device. -- **ExtendedProperties** Attribute used for aggregating all other attributes under this event type. -- **Jar** Flag to determine if an app has a Java JAR file dependency. -- **Jre** Flag to determine if an app has JRE framework dependency. -- **Jre_version** JRE versions an app has declared framework dependency for. -- **Name** Name of the application. -- **NonDPIAware** Flag to determine if an app is non-DPI aware -- **NumBinaries** Count of all binaries (.sys,.dll,.ini) from application install location. -- **ProgramId** The ID of the associated program. -- **RequiresAdmin** Flag to determine if an app requests admin privileges for execution. -- **RequiresAdminv2** Additional flag to determine if an app requests admin privileges for execution. -- **RequiresUIAccess** Flag to determine if an app is based on UI features for accessibility. -- **VB6** Flag to determine if an app is based on VB6 framework. -- **VB6v2** Additional flag to determine if an app is based on VB6 framework. -- **Version** Version of the application. -- **VersionCheck** Flag to determine if an app has a static dependency on OS version. -- **VersionCheckv2** Additional flag to determine if an app has a static dependency on OS version. - - -### Microsoft.Windows.Inventory.General.AppHealthStaticStartSync - -This event indicates the beginning of a series of AppHealthStaticAdd events. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AllowTelemetry** Indicates the presence of the 'allowtelemetry' command line argument. -- **CommandLineArgs** Command line arguments passed when launching the App Health Analyzer executable. -- **Enhanced** Indicates the presence of the 'enhanced' command line argument. -- **StartTime** UTC date and time at which this event was sent. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoAdd - -This event provides basic information about active memory slots on the device. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Capacity** Memory size in bytes -- **Manufacturer** Name of the DRAM manufacturer -- **Model** Model and sub-model of the memory -- **Slot** Slot to which the DRAM is plugged into the motherboard. -- **Speed** The configured memory slot speed in MHz. -- **Type** Reports DDR as an enumeration value as per the DMTF SMBIOS standard version 3.3.0, section 7.18.2. -- **TypeDetails** Reports Non-volatile as a bit flag enumeration as per the DMTF SMBIOS standard version 3.3.0, section 7.18.3. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync - -This diagnostic event indicates a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd - -This event provides data on Unified Update Platform (UUP) products and what version they are at. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Identifier** UUP identifier -- **LastActivatedVersion** Last activated version -- **PreviousVersion** Previous version -- **Source** UUP source -- **Version** UUP version - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -This is a diagnostic event that indicates a new sync is being generated for this object type. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.Checksum - -This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **ChecksumDictionary** A count of each operating system indicator. -- **PCFP** Equivalent to the InventoryId field that is found in other core events. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd - -This event represents the basic metadata about the OS indicators installed on the system. The data collected with this event helps ensure the device is up to date and keeps Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **IndicatorValue** The indicator value. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -## Kernel events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch - -This event includes basic data about the Operating System, collected during Boot and used to evaluate the success of the upgrade process. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. -- **BootStatusPolicy** Identifies the applicable Boot Status Policy. -- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. -- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. -- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonPch** Reason for system reset provided by firmware. -- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). -- **LastBootSucceeded** Flag indicating whether the last boot was successful. -- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. -- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. -- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. -- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). -- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). -- **RecoveryEnabled** Indicates whether recovery is enabled. -- **SecureLaunchPrepared** This field indicates if DRTM was prepared during boot. -- **UserInputTime** The amount of time the loader application spent waiting for user input. - - -### Microsoft.Windows.Kernel.Power.OSStateChange - -This event indicates an OS state change. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AcPowerOnline** If "TRUE," the device is using AC power. If "FALSE," the device is using battery power. -- **ActualTransitions** The number of transitions between operating system states since the last system boot -- **BatteryCapacity** Maximum battery capacity in mWh -- **BatteryCharge** Current battery charge as a percentage of total capacity -- **BatteryDischarging** Flag indicating whether the battery is discharging or charging -- **BootId** Total boot count since the operating system was installed -- **BootTimeUTC** Date and time of a particular boot event (identified by BootId) -- **EnergyChangeV2** A snapshot value in mWh reflecting a change in power usage -- **EnergyChangeV2Flags** Flags for disambiguating EnergyChangeV2 context -- **EventSequence** Indicates the sequence order for this event instance, relative to previous instances of OSStateChange events that have occurred since boot -- **LastStateTransition** ID of the last operating system state transition -- **LastStateTransitionSub** ID of the last operating system sub-state transition -- **StateDurationMS** Number of milliseconds spent in the last operating system state -- **StateTransition** ID of the operating system state the system is transitioning to -- **StateTransitionSub** ID of the operating system sub-state the system is transitioning to -- **TotalDurationMS** Total time (in milliseconds) spent in all states since the last boot -- **TotalUptimeMS** Total time (in milliseconds) the device was in Up or Running states since the last boot -- **TransitionsToOn** Number of transitions to the Powered On state since the last boot -- **UptimeDeltaMS** Total time (in milliseconds) added to Uptime since the last event - - -## Microsoft Edge events - -### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - - -### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - - -### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - - -### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - - -### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -This Ping event sends a detailed inventory of software and hardware information about the EdgeUpdate service, Edge applications, and the current system environment including app configuration, update configuration, and hardware capabilities. This event contains Device Connectivity and Configuration, Product and Service Performance, and Software Setup and Inventory data. One or more events is sent each time any installation, update, or uninstallation occurs with the EdgeUpdate service or with Edge applications. This event is used to measure the reliability and performance of the EdgeUpdate service and if Edge applications are up to date. This is an indication that the event is designed to keep Windows secure and up to date. - -The following fields are available: - -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. -- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsCdnCCC** ISO 2 character country code that matches to the country updated binaries are delivered from. E.g.: US. -- **appPingEventDownloadMetricsCdnCID** Numeric value used to internally track the origins of the updated binaries. For example, 2. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. - - -### Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -This event sends hardware and software inventory information about the Microsoft Edge Update service, Microsoft Edge applications, and the current system environment, including app configuration, update configuration, and hardware capabilities. It's used to measure the reliability and performance of the EdgeUpdate service and if Microsoft Edge applications are up to date. This is an indication that the event is designed to keep Windows secure and up to date. - -The following fields are available: - -- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." -- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. -- **appBrandCode** The 4-digit brand code under which the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). -- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). -- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. -- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsCdnCCC** ISO 2 character country code that matches to the country updated binaries are delivered from. E.g.: US. -- **appPingEventDownloadMetricsCdnCID** Numeric value used to internally track the origins of the updated binaries. For example, 2. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). -- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. -- **appVersion** The version of the product install. Default: '0.0.0.0'. -- **eventType** A string representation of appPingEventEventType indicating the type of the event. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -## Migration events - -### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFSys - -This event returns data about the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - - - -## Miracast events - -### Microsoft.Windows.Cast.Miracast.MiracastSessionEnd - -This event sends data at the end of a Miracast session that helps determine RTSP related Miracast failures along with some statistics about the session. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AudioChannelCount** The number of audio channels. -- **AudioSampleRate** The sample rate of audio in terms of samples per second. -- **AudioSubtype** The unique subtype identifier of the audio codec (encoding method) used for audio encoding. -- **AverageBitrate** The average video bitrate used during the Miracast session, in bits per second. -- **AverageDataRate** The average available bandwidth reported by the WiFi driver during the Miracast session, in bits per second. -- **AveragePacketSendTimeInMs** The average time required for the network to send a sample, in milliseconds. -- **ConnectorType** The type of connector used during the Miracast session. -- **EncodeAverageTimeMS** The average time to encode a frame of video, in milliseconds. -- **EncodeCount** The count of total frames encoded in the session. -- **EncodeMaxTimeMS** The maximum time to encode a frame, in milliseconds. -- **EncodeMinTimeMS** The minimum time to encode a frame, in milliseconds. -- **EncoderCreationTimeInMs** The time required to create the video encoder, in milliseconds. -- **ErrorSource** Identifies the component that encountered an error that caused a disconnect, if applicable. -- **FirstFrameTime** The time (tick count) when the first frame is sent. -- **FirstLatencyMode** The first latency mode. -- **FrameAverageTimeMS** Average time to process an entire frame, in milliseconds. -- **FrameCount** The total number of frames processed. -- **FrameMaxTimeMS** The maximum time required to process an entire frame, in milliseconds. -- **FrameMinTimeMS** The minimum time required to process an entire frame, in milliseconds. -- **Glitches** The number of frames that failed to be delivered on time. -- **HardwareCursorEnabled** Indicates if hardware cursor was enabled when the connection ended. -- **HDCPState** The state of HDCP (High-bandwidth Digital Content Protection) when the connection ended. -- **HighestBitrate** The highest video bitrate used during the Miracast session, in bits per second. -- **HighestDataRate** The highest available bandwidth reported by the WiFi driver, in bits per second. -- **LastLatencyMode** The last reported latency mode. -- **LastLatencyTime** The last reported latency time. -- **LogTimeReference** The reference time, in tick counts. -- **LowestBitrate** The lowest video bitrate used during the Miracast session, in bits per second. -- **LowestDataRate** The lowest video bitrate used during the Miracast session, in bits per second. -- **MediaErrorCode** The error code reported by the media session, if applicable. -- **MiracastEntry** The time (tick count) when the Miracast driver was first loaded. -- **MiracastM1** The time (tick count) when the M1 request was sent. -- **MiracastM2** The time (tick count) when the M2 request was sent. -- **MiracastM3** The time (tick count) when the M3 request was sent. -- **MiracastM4** The time (tick count) when the M4 request was sent. -- **MiracastM5** The time (tick count) when the M5 request was sent. -- **MiracastM6** The time (tick count) when the M6 request was sent. -- **MiracastM7** The time (tick count) when the M7 request was sent. -- **MiracastSessionState** The state of the Miracast session when the connection ended. -- **MiracastStreaming** The time (tick count) when the Miracast session first started processing frames. -- **ProfileCount** The count of profiles generated from the receiver M4 response. -- **ProfileCountAfterFiltering** The count of profiles after filtering based on available bandwidth and encoder capabilities. -- **RefreshRate** The refresh rate set on the remote display. -- **RotationSupported** Indicates if the Miracast receiver supports display rotation. -- **RTSPSessionId** The unique identifier of the RTSP session. This matches the RTSP session ID for the receiver for the same session. -- **SessionGuid** The unique identifier of to correlate various Miracast events from a session. -- **SinkHadEdid** Indicates if the Miracast receiver reported an EDID. -- **SupportMicrosoftColorSpaceConversion** Indicates whether the Microsoft color space conversion for extra color fidelity is supported by the receiver. -- **SupportsMicrosoftDiagnostics** Indicates whether the Miracast receiver supports the Microsoft Diagnostics Miracast extension. -- **SupportsMicrosoftFormatChange** Indicates whether the Miracast receiver supports the Microsoft Format Change Miracast extension. -- **SupportsMicrosoftLatencyManagement** Indicates whether the Miracast receiver supports the Microsoft Latency Management Miracast extension. -- **SupportsMicrosoftRTCP** Indicates whether the Miracast receiver supports the Microsoft RTCP Miracast extension. -- **SupportsMicrosoftVideoFormats** Indicates whether the Miracast receiver supports Microsoft video format for 3:2 resolution. -- **SupportsWiDi** Indicates whether Miracast receiver supports Intel WiDi extensions. -- **TeardownErrorCode** The error code reason for teardown provided by the receiver, if applicable. -- **TeardownErrorReason** The text string reason for teardown provided by the receiver, if applicable. -- **UIBCEndState** Indicates whether UIBC was enabled when the connection ended. -- **UIBCEverEnabled** Indicates whether UIBC was ever enabled. -- **UIBCStatus** The result code reported by the UIBC setup process. -- **VideoBitrate** The starting bitrate for the video encoder. -- **VideoCodecLevel** The encoding level used for encoding, specific to the video subtype. -- **VideoHeight** The height of encoded video frames. -- **VideoSubtype** The unique subtype identifier of the video codec (encoding method) used for video encoding. -- **VideoWidth** The width of encoded video frames. -- **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. - - -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.APIOperation - -This event includes basic data about install and uninstall OneDrive API operations. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **Duration** How long the operation took. -- **IsSuccess** Was the operation successful? -- **ResultCode** The result code. -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.EndExperience - -This event includes a success or failure summary of the installation. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **HResult** HResult of the operation -- **IsSuccess** Whether the operation is successful or not -- **ScenarioName** The name of the scenario. - - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -### Microsoft.OneDrive.Sync.Setup.RegisterStandaloneUpdaterAPIOperation - -This event is related to registering or unregistering the OneDrive update task. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **APIName** The name of the API. -- **IsSuccess** Was the operation successful? -- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. -- **ScenarioName** The name of the scenario. -- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. - - -### Microsoft.OneDrive.Sync.Updater.ComponentInstallState - -This event includes basic data about the installation state of dependent OneDrive components. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ComponentName** The name of the dependent component. -- **isInstalled** Is the dependent component installed? - - -### Microsoft.OneDrive.Sync.Updater.OverlayIconStatus - -This event indicates if the OneDrive overlay icon is working correctly. 0 = healthy; 1 = can be fixed; 2 = broken. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **32bit** The status of the OneDrive overlay icon on a 32-bit operating system. -- **64bit** The status of the OneDrive overlay icon on a 64-bit operating system. - - -### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult - -This event sends information describing the result of the update. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. -- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. -- **UpdaterVersion** The version of the updater. - - -### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult - -This event determines the status when downloading the OneDrive update configuration file. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **hr** The HResult of the operation. - - -### Microsoft.OneDrive.Sync.Updater.WebConnectionStatus - -This event determines the error code that was returned when verifying Internet connectivity. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **winInetError** The HResult of the operation. - - -## Privacy consent logging events - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted - -This event is used to determine whether the user successfully completed the privacy consent experience. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **presentationVersion** Which display version of the privacy consent experience the user completed -- **privacyConsentState** The current state of the privacy consent experience -- **settingsVersion** Which setting version of the privacy consent experience the user completed -- **userOobeExitReason** The exit reason of the privacy consent experience - - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentPrep - -This event is used to determine whether the user needs to see the privacy consent experience or not. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **s0** Indicates the error level encountered during Privacy Consent Preparation. See [Microsoft.Windows.Shell.PrivacyConsentLogging.wilActivity](#microsoftwindowsshellprivacyconsentloggingwilactivity). -- **wilActivity** Information of the thread where the error occurred (thread ID). See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentStatus - -This event provides the effectiveness of new privacy experience. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **isAdmin** whether the person who is logging in is an admin -- **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience -- **userRegionCode** The current user's region setting - - -### Microsoft.Windows.Shell.PrivacyConsentLogging.wilActivity - -This event returns information if an error is encountered while computing whether the user needs to complete privacy consents in certain upgrade scenarios. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** A list of Windows Diagnostic activities/events containing this error. -- **currentContextId** The ID for the newest activity/event containing this error. -- **currentContextMessage** Any custom message for the activity context. -- **currentContextName** The name of the newest activity/event context containing this error. -- **failureType** The type of failure observed: exception, returned error, etc. -- **fileName** The name of the fine in which the error was encountered. -- **hresult** The Result Code of the error. -- **lineNumber** The line number where the error was encountered. -- **message** Any message associated with the error. -- **module** The name of the binary module where the error was encountered. -- **originatingContextId** The ID of the oldest telemetry activity containing this error. -- **originatingContextMessage** Any custom message associated with the oldest Windows Diagnostic activity/event containing this error. -- **originatingContextName** The name associated with the oldest Windows Diagnostic activity/event containing this error. -- **threadId** The ID of the thread the activity was run on. - - -## Privacy logging notification events - -### Microsoft.Windows.Shell.PrivacyNotifierLogging.PrivacyNotifierCompleted - -This event returns data to report the efficacy of a single-use tool to inform users impacted by a known issue and to take corrective action to address the issue. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cleanupTask** Indicates whether the task that launched the dialog should be cleaned up. -- **cleanupTaskResult** The return code of the attempt to clean up the task used to show the dialog. -- **deviceEvaluated** Indicates whether the device was eligible for evaluation of a known issue. -- **deviceImpacted** Indicates whether the device was impacted by a known issue. -- **modalAction** The action the user took on the dialog that was presented to them. -- **modalResult** The return code of the attempt to show a dialog to the user explaining the issue. -- **resetSettingsResult** The return code of the action to correct the known issue. - - -## Quality Update Assistant events - -### Microsoft.Windows.QualityUpdateAssistant.Applicability - -This event sends basic info on whether the device should be updated to the latest cumulative update. The data collected with this event is used to help keep Windows up to date and secure. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Applicability check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck - -This event sends basic info on whether the device is ready to download the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Device readiness check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.Download - -This event sends basic info when download of the latest cumulative update begins. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Download of latest cumulative update payload. - - -### Microsoft.Windows.QualityUpdateAssistant.Install - -This event sends basic info on the result of the installation of the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **PackageVersion** Current package version of quality update assistant. -- **Result** Install of latest cumulative update payload. - - -## Remediation events - -### Microsoft.Windows.Remediation.Applicable - -This event indicates whether Windows Update sediment remediations need to be applied to the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **ActionName** The name of the action to be taken by the plug-in. -- **AppraiserBinariesValidResult** Indicates whether the plug-in was appraised as valid. -- **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. -- **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. -- **AppraiserTaskDisabled** Indicates the appraiser task is disabled. -- **AppraiserTaskValidFailed** Indicates the Appraiser task did not function and requires intervention. -- **CV** Correlation vector -- **DateTimeDifference** The difference between local and reference clock times. -- **DateTimeSyncEnabled** Indicates whether the Datetime Sync plug-in is enabled. -- **DaysSinceLastSIH** The number of days since the most recent SIH executed. -- **DaysToNextSIH** The number of days until the next scheduled SIH execution. -- **DetectedCondition** Indicates whether detected condition is true and the perform action will be run. -- **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. -- **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by the remediation system. -- **HResult** The HRESULT for detection or perform action phases of the plugin. -- **IsAppraiserLatestResult** The HRESULT from the appraiser task. -- **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. -- **LastHresult** The HRESULT for detection or perform action phases of the plugin. -- **LastRun** The date of the most recent SIH run. -- **NextRun** Date of the next scheduled SIH run. -- **PackageVersion** The version of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Reload** True if SIH reload is required. -- **RemediationNoisyHammerAcLineStatus** Indicates the AC Line Status of the device. -- **RemediationNoisyHammerAutoStartCount** The number of times Auto UA auto-started. -- **RemediationNoisyHammerCalendarTaskEnabled** Event that indicates Update Assistant Calendar Task is enabled. -- **RemediationNoisyHammerCalendarTaskExists** Event that indicates an Update Assistant Calendar Task exists. -- **RemediationNoisyHammerCalendarTaskTriggerEnabledCount** Event that indicates calendar triggers are enabled in the task. -- **RemediationNoisyHammerDaysSinceLastTaskRunTime** The number of days since the Auto UA ran. -- **RemediationNoisyHammerGetCurrentSize** Size in MB of the $GetCurrent folder. -- **RemediationNoisyHammerIsInstalled** TRUE if the Auto UA is installed. -- **RemediationNoisyHammerLastTaskRunResult** The result from the last Auto UA task run. -- **RemediationNoisyHammerMeteredNetwork** TRUE if the machine is on a metered network. -- **RemediationNoisyHammerTaskEnabled** TRUE if the Auto UA task is enabled. -- **RemediationNoisyHammerTaskExists** TRUE if the Auto UA task exists. -- **RemediationNoisyHammerTaskTriggerEnabledCount** Indicates whether the task has the count trigger enabled. -- **RemediationNoisyHammerUAExitCode** The exit code of the Update Assistant. -- **RemediationNoisyHammerUAExitState** The exit code of the Update Assistant. -- **RemediationNoisyHammerUserLoggedIn** TRUE if there is a user logged in. -- **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. -- **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. -- **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. -- **RemediationShellDeviceSccm** TRUE if the device is managed by Configuration Manager. -- **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. -- **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. -- **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. -- **RemediationTaskHealthChkdskProactiveScan** True/False based on the health of the Check Disk task. -- **RemediationTaskHealthDiskCleanup_SilentCleanup** True/False based on the health of the Disk Cleanup task. -- **RemediationTaskHealthMaintenance_WinSAT** True/False based on the health of the Health Maintenance task. -- **RemediationTaskHealthServicing_ComponentCleanupTask** True/False based on the health of the Health Servicing Component task. -- **RemediationTaskHealthUSO_ScheduleScanTask** True/False based on the health of the USO (Update Session Orchestrator) Schedule task. -- **RemediationTaskHealthWindowsUpdate_ScheduledStartTask** True/False based on the health of the Windows Update Scheduled Start task. -- **RemediationTaskHealthWindowsUpdate_SihbootTask** True/False based on the health of the Sihboot task. -- **RemediationUHServiceBitsServiceEnabled** Indicates whether BITS service is enabled. -- **RemediationUHServiceDeviceInstallEnabled** Indicates whether Device Install service is enabled. -- **RemediationUHServiceDoSvcServiceEnabled** Indicates whether DO service is enabled. -- **RemediationUHServiceDsmsvcEnabled** Indicates whether DSMSVC service is enabled. -- **RemediationUHServiceLicensemanagerEnabled** Indicates whether License Manager service is enabled. -- **RemediationUHServiceMpssvcEnabled** Indicates whether MPSSVC service is enabled. -- **RemediationUHServiceTokenBrokerEnabled** Indicates whether Token Broker service is enabled. -- **RemediationUHServiceTrustedInstallerServiceEnabled** Indicates whether Trusted Installer service is enabled. -- **RemediationUHServiceUsoServiceEnabled** Indicates whether USO (Update Session Orchestrator) service is enabled. -- **RemediationUHServicew32timeServiceEnabled** Indicates whether W32 Time service is enabled. -- **RemediationUHServiceWecsvcEnabled** Indicates whether WECSVC service is enabled. -- **RemediationUHServiceWinmgmtEnabled** Indicates whether WMI service is enabled. -- **RemediationUHServiceWpnServiceEnabled** Indicates whether WPN service is enabled. -- **RemediationUHServiceWuauservServiceEnabled** Indicates whether WUAUSERV service is enabled. -- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -- **RunAppraiserFailed** Indicates RunAppraiser failed to run correctly. -- **RunTask** TRUE if SIH task should be run by the plug-in. -- **TimeServiceNTPServer** The URL for the NTP time server used by device. -- **TimeServiceStartType** The startup type for the NTP time service. -- **TimeServiceSyncDomainJoined** True if device domain joined and hence uses DC for clock. -- **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. - - -### Microsoft.Windows.Remediation.ChangePowerProfileDetection - -This event indicates whether the remediation system can put in a request to defer a system-initiated sleep to enable installation of security or quality updates, to keep Windows secure and up to date. - -The following fields are available: - -- **ActionName** A descriptive name for the plugin action -- **CurrentPowerPlanGUID** The ID of the current power plan configured on the device -- **CV** Correlation vector -- **GlobalEventCounter** Counter that indicates the ordering of events on the device -- **PackageVersion** Current package version of remediation service -- **RemediationBatteryPowerBatteryLevel** Integer between 0 and 100 indicating % battery power remaining (if not on battery, expect 0) -- **RemediationFUInProcess** Result that shows whether the device is currently installing a feature update -- **RemediationFURebootRequred** Indicates that a feature update reboot required was detected so the plugin will exit. -- **RemediationScanInProcess** Result that shows whether the device is currently scanning for updates -- **RemediationTargetMachine** Result that shows whether this device is a candidate for remediation(s) that will fix update issues -- **SetupMutexAvailable** Result that shows whether setup mutex is available or not -- **SysPowerStatusAC** Result that shows whether system is on AC power or not - - -### Microsoft.Windows.Remediation.Completed - -This event is sent when Windows Update sediment remediations have completed on the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **ActionName** Name of the action to be completed by the plug-in. -- **AppraiserTaskCreationFailed** TRUE if the appraiser task creation failed to complete successfully. -- **AppraiserTaskDeleteFailed** TRUE if deletion of appraiser task failed to complete successfully. -- **AppraiserTaskExistFailed** TRUE if detection of the appraiser task failed to complete successfully. -- **AppraiserTaskLoadXmlFailed** TRUE if the Appraiser XML Loader failed to complete successfully. -- **AppraiserTaskMissing** TRUE if the Appraiser task is missing. -- **AppraiserTaskTimeTriggerUpdateFailedId** TRUE if the Appraiser Task Time Trigger failed to update successfully. -- **AppraiserTaskValidateTaskXmlFailed** TRUE if the Appraiser Task XML failed to complete successfully. -- **branchReadinessLevel** Branch readiness level policy. -- **cloudControlState** Value indicating whether the shell is enabled on the cloud control settings. -- **CrossedDiskSpaceThreshold** Indicates if cleanup resulted in hard drive usage threshold required for feature update to be exceeded. -- **CV** The Correlation Vector. -- **DateTimeDifference** The difference between the local and reference clocks. -- **DaysSinceOsInstallation** The number of days since the installation of the Operating System. -- **DiskMbCleaned** The amount of space cleaned on the hard disk, measured in megabytes. -- **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. -- **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. -- **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. -- **GlobalEventCounter** Client-side counter that indicates ordering of events sent by the active user. -- **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in megabytes. -- **hasRolledBack** Indicates whether the client machine has rolled back. -- **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. -- **hResult** The result of the event execution. -- **HResult** The result of the event execution. -- **installDate** The value of installDate registry key. Indicates the install date. -- **isNetworkMetered** Indicates whether the client machine has uninstalled a later version of the OS. -- **LatestState** The final state of the plug-in component. -- **MicrosoftCompatibilityAppraiser** The name of the component targeted by the Appraiser plug-in. -- **PackageVersion** The package version for the current Remediation. -- **PageFileCount** The number of Windows Page files. -- **PageFileCurrentSize** The size of the Windows Page file, measured in Megabytes. -- **PageFileLocation** The storage location (directory path) of the Windows Page file. -- **PageFilePeakSize** The maximum amount of hard disk space used by the Windows Page file, measured in Megabytes. -- **PluginName** The name of the plug-in specified for each generic plug-in event. -- **RanCleanup** TRUE if the plug-in ran disk cleanup. -- **RemediationBatteryPowerBatteryLevel** Indicates the battery level at which it is acceptable to continue operation. -- **RemediationBatteryPowerExitDueToLowBattery** True when we exit due to low battery power. -- **RemediationBatteryPowerOnBattery** True if we allow execution on battery. -- **RemediationConfigurationTroubleshooterExecuted** True/False based on whether the Remediation Configuration Troubleshooter executed successfully. -- **RemediationConfigurationTroubleshooterIpconfigFix** TRUE if IPConfig Fix completed successfully. -- **RemediationConfigurationTroubleshooterNetShFix** TRUE if network card cache reset ran successfully. -- **RemediationDiskCleanSizeBtWindowsFolderInMegabytes** The size of the Windows BT folder (used to store Windows upgrade files), measured in Megabytes. -- **RemediationDiskCleanupBTFolderEsdSizeInMB** The size of the Windows BT folder (used to store Windows upgrade files) ESD (Electronic Software Delivery), measured in Megabytes. -- **RemediationDiskCleanupGetCurrentEsdSizeInMB** The size of any existing ESD (Electronic Software Delivery) folder, measured in Megabytes. -- **RemediationDiskCleanupSearchFileSizeInMegabytes** The size of the Cleanup Search index file, measured in Megabytes. -- **RemediationDiskCleanupUpdateAssistantSizeInMB** The size of the Update Assistant folder, measured in Megabytes. -- **RemediationDoorstopChangeSucceeded** TRUE if Doorstop registry key was successfully modified. -- **RemediationDoorstopExists** TRUE if there is a One Settings Doorstop value. -- **RemediationDoorstopRegkeyError** TRUE if an error occurred accessing the Doorstop registry key. -- **RemediationDRFKeyDeleteSucceeded** TRUE if the RecoveredFrom (Doorstop) registry key was successfully deleted. -- **RemediationDUABuildNumber** The build number of the DUA. -- **RemediationDUAKeyDeleteSucceeded** TRUE if the UninstallActive registry key was successfully deleted. -- **RemediationDuplicateTokenSucceeded** TRUE if the user token was successfully duplicated. -- **remediationExecution** Remediation shell is in "applying remediation" state. -- **RemediationHibernationMigrated** TRUE if hibernation was migrated. -- **RemediationHibernationMigrationSucceeded** TRUE if hibernation migration succeeded. -- **RemediationImpersonateUserSucceeded** TRUE if the user was successfully impersonated. -- **RemediationNoisyHammerTaskFixSuccessId** Indicates whether the Update Assistant task fix was successful. -- **RemediationNoisyHammerTaskKickOffIsSuccess** TRUE if the Auto UA task started successfully. -- **RemediationQueryTokenSucceeded** TRUE if the user token was successfully queried. -- **RemediationRanHibernation** TRUE if the system entered Hibernation. -- **RemediationRevertToSystemSucceeded** TRUE if reversion to the system context succeeded. -- **RemediationShellHasUpgraded** TRUE if the device upgraded. -- **RemediationShellMinimumTimeBetweenShellRuns** Indicates the time between shell runs exceeded the minimum required to execute plugins. -- **RemediationShellRunFromService** TRUE if the shell driver was run from the service. -- **RemediationShellSessionIdentifier** Unique identifier tracking a shell session. -- **RemediationShellSessionTimeInSeconds** Indicates the time the shell session took in seconds. -- **RemediationShellTaskDeleted** Indicates that the shell task has been deleted so no additional sediment pack runs occur for this installation. -- **RemediationUpdateServiceHealthRemediationResult** The result of the Update Service Health plug-in. -- **RemediationUpdateTaskHealthRemediationResult** The result of the Update Task Health plug-in. -- **RemediationUpdateTaskHealthTaskList** A list of tasks fixed by the Update Task Health plug-in. -- **RemediationWindowsLogSpaceFound** The size of the Windows log files found, measured in Megabytes. -- **RemediationWindowsLogSpaceFreed** The amount of disk space freed by deleting the Windows log files, measured in Megabytes. -- **RemediationWindowsSecondaryDriveFreeSpace** The amount of free space on the secondary drive, measured in Megabytes. -- **RemediationWindowsSecondaryDriveLetter** The letter designation of the first secondary drive with a total capacity of 10GB or more. -- **RemediationWindowsSecondaryDriveTotalSpace** The total storage capacity of the secondary drive, measured in Megabytes. -- **RemediationWindowsTotalSystemDiskSize** The total storage capacity of the System Disk Drive, measured in Megabytes. -- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. -- **RunResult** The HRESULT for Detection or Perform Action phases of the plug-in. -- **ServiceHardeningExitCode** The exit code returned by Windows Service Repair. -- **ServiceHealthEnabledBitMap** List of services updated by the plugin. -- **ServiceHealthInstalledBitMap** List of services installed by the plugin. -- **ServiceHealthPlugin** The nae of the Service Health plug-in. -- **StartComponentCleanupTask** TRUE if the Component Cleanup task started successfully. -- **systemDriveFreeDiskSpace** Indicates the free disk space on system drive, in megabytes. -- **systemUptimeInHours** Indicates the amount of time the system in hours has been on since the last boot. -- **TotalSizeofOrphanedInstallerFilesInMegabytes** The size of any orphaned Windows Installer files, measured in Megabytes. -- **TotalSizeofStoreCacheAfterCleanupInMegabytes** The size of the Microsoft Store cache after cleanup, measured in Megabytes. -- **TotalSizeofStoreCacheBeforeCleanupInMegabytes** The size of the Microsoft Store cache (prior to cleanup), measured in Megabytes. -- **uninstallActive** TRUE if previous uninstall has occurred for current OS -- **usoScanDaysSinceLastScan** The number of days since the last USO (Update Session Orchestrator) scan. -- **usoScanInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. -- **usoScanIsAllowAutoUpdateKeyPresent** TRUE if the AllowAutoUpdate registry key is set. -- **usoScanIsAllowAutoUpdateProviderSetKeyPresent** TRUE if AllowAutoUpdateProviderSet registry key is set. -- **usoScanIsAuOptionsPresent** TRUE if Auto Update Options registry key is set. -- **usoScanIsFeatureUpdateInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. -- **usoScanIsNetworkMetered** TRUE if the device is currently connected to a metered network. -- **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. -- **usoScanIsUserLoggedOn** TRUE if the user is logged on. -- **usoScanPastThreshold** TRUE if the most recent Update Session Orchestrator (USO) scan is past the threshold (late). -- **usoScanType** The type of USO (Update Session Orchestrator) scan: "Interactive" or "Background". -- **windows10UpgraderBlockWuUpdates** Event to report the value of Windows 10 Upgrader BlockWuUpdates Key. -- **windowsEditionId** Event to report the value of Windows Edition ID. -- **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. -- **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. -- **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. -- **WindowsOldSpaceCleanedInMB** The amount of disk space freed by removing the Windows.OLD folder, measured in Megabytes. -- **WindowsPageFileSysSizeInMegabytes** The size of the Windows Page file, measured in Megabytes. -- **WindowsSoftwareDistributionFolderSizeInMegabytes** The size of the SoftwareDistribution folder, measured in Megabytes. -- **WindowsSwapFileSysSizeInMegabytes** The size of the Windows Swap file, measured in Megabytes. -- **WindowsSxsFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) folder, measured in Megabytes. -- **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. -- **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. - - -### Microsoft.Windows.Remediation.RemediationShellMainExeEventId - -This event enables tracking of completion of process that remediates issues preventing security and quality updates keep Windows up to date. - -The following fields are available: - -- **CV** Client side counter which indicates ordering of events sent by the remediation system. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by the remediation system. -- **PackageVersion** Current package version of Remediation. -- **RemediationShellCanAcquireSedimentMutex** True if the remediation was able to acquire the sediment mutex. False if it is already running. -- **RemediationShellExecuteShellResult** Indicates if the remediation system completed without errors. -- **RemediationShellFoundDriverDll** Result whether the remediation system found its component files to run properly. -- **RemediationShellLoadedShellDriver** Result whether the remediation system loaded its component files to run properly. -- **RemediationShellLoadedShellFunction** Result whether the remediation system loaded the functions from its component files to run properly. - - -### Microsoft.Windows.Remediation.Started - -This event is sent when Windows Update sediment remediations have started on the sediment device to keep Windows up to date. A sediment device is one that has been on a previous OS version for an extended period. The remediations address issues on the system that prevent the device from receiving OS updates. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** The version of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **RunCount** The number of times the remediation event started (whether it completed successfully or not). - - -## Sediment events - -### Microsoft.Windows.Sediment.Info.DetailedState - -This event is sent when detailed state information is needed from an update trial run. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. -- **Id** Identifies the trial being run, such as a disk related trial. -- **ReleaseVer** The version of the component. -- **State** The state of the reporting data from the trial, such as the top-level directory analysis. -- **Time** The time the event was fired. - - -### Microsoft.Windows.Sediment.Info.Error - -This event indicates an error in the updater payload. This information assists in keeping Windows up to date. - - - -### Microsoft.Windows.Sediment.Info.PhaseChange - -The event indicates progress made by the updater. This information assists in keeping Windows up to date. - -The following fields are available: - -- **NewPhase** The phase of progress made. -- **ReleaseVer** The version information for the component in which the change occurred. -- **Time** The system time at which the phase chance occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.AttemptingUpdate - -This event indicates the Operating System Remediation System Service (OSRSS) installer is attempting an update to itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.BinaryUpdated - -This event indicates the Operating System Remediation System Service (OSRSS) updated installer binaries with new binaries as part of its self-update process. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceRestarted - -This event indicates the Operating System Remediation System Service (OSRSS) has restarted after installing an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.ServiceStopped - -This event indicates the Operating System Remediation System Service (OSRSS) was stopped by a self-updated to install an updated version of itself. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UpdaterCompleted - -This event indicates the Operating System Remediation System Service (OSRSS) successfully completed the self-update operation. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.Sediment.ServiceInstaller.UpdaterLaunched - -This event indicates the Operating System Remediation System Service (OSRSS) successfully launched the self-updater after downloading it. This information helps ensure Windows is up to date. - -The following fields are available: - -- **InstallerVersion** The version information of the Installer component. -- **Time** The system time at which the event occurred. - - -### Microsoft.Windows.SedimentLauncher.Applicable - -This event is sent when the Windows Update sediment remediations launcher finds that an applicable plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. -- **IsSelfUpdateNeeded** True if self update needed by device. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentLauncher.Completed - -This event is sent when the Windows Update sediment remediations launcher finishes running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. - - -### Microsoft.Windows.SedimentLauncher.Started - -This event is sent when the Windows Update sediment remediations launcher starts running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentService.Applicable - -This event is sent when the Windows Update sediment remediations service finds that an applicable plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. -- **IsSelfUpdateNeeded** Indicates if self update is needed. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. - - -### Microsoft.Windows.SedimentService.Completed - -This event is sent when the Windows Update sediment remediations service finishes running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of Remediation. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for detection or perform action phases of the plugin. -- **SedimentServiceCheckTaskFunctional** True/False if scheduled task check succeeded. -- **SedimentServiceCurrentBytes** Number of current private bytes of memory consumed by sedsvc.exe. -- **SedimentServiceKillService** True/False if service is marked for kill (Shell.KillService). -- **SedimentServiceMaximumBytes** Maximum bytes allowed for the service. -- **SedimentServiceRetrievedKillService** True/False if result of One Settings check for kill succeeded - we only send back one of these indicators (not for each call). -- **SedimentServiceStopping** True/False indicating whether the service is stopping. -- **SedimentServiceTaskFunctional** True/False if scheduled task is functional. If task is not functional this indicates plugins will be run. -- **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. - - -### Microsoft.Windows.SedimentService.Started - -This event is sent when the Windows Update sediment remediations service starts running a plug-in to address issues that may be preventing the sediment device from receiving OS updates. A sediment device is one that has been on a previous OS version for an extended period. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **PluginName** Name of the plugin specified for each generic plugin event. -- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time - - -### SetupPlatformTel.SetupPlatformTelActivityStarted - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - -The following fields are available: - -- **Name** The name of the dynamic update type. Example: GDR driver - - -### SetupPlatformTel.SetupPlatformTelActivityStopped - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - - - -### SetupPlatformTel.SetupPlatformTelEvent - -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## Shared PC events - -### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount - -Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. - -The following fields are available: - -- **accountType** The type of account that was deleted. Example: AD, Azure Active Directory (Azure AD), or Local -- **deleteState** Whether the attempted deletion of the user account was successful. -- **userSid** The security identifier of the account. -- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation - -Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates - -The following fields are available: - -- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. -- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). - - -### wilActivity - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The function where the failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -### wilResult - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The call context stack where failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -## SIH events - -### SIHEngineTelemetry.EvalApplicability - -This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was canceled, succeeded, or failed. -- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. -- **IsExecutingAction** If the action is presently being executed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **SihclientVersion** The client version that is being used. -- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -### SIHEngineTelemetry.ExecuteAction - -This event is triggered with SIH attempts to execute (e.g. install) the update or action in question. Includes important information like if the update required a reboot. The data collected with this event is used to help keep Windows up to date. - - - -### SIHEngineTelemetry.PostRebootReport - -This event reports the status of an action following a reboot, should one have been required. The data collected with this event is used to help keep Windows up to date. - - - -### SIHEngineTelemetry.SLSActionData - -This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was canceled, succeeded, or failed. -- **FailedParseActions** The list of actions that were not successfully parsed. -- **ParsedActions** The list of actions that were successfully parsed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **SihclientVersion** The client version that is being used. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -This event sends tracking data about the software distribution client check for content that is applicable to a device, to help keep Windows up to date. - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was canceled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Online** Indicates if this was an online scan. -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Commit - -This event sends data on whether the Update Service has been called to execute an upgrade, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** Device family as defined in the system BIOS -- **BiosName** Name of the system BIOS -- **BiosReleaseDate** Release date of the system BIOS -- **BiosSKUNumber** Device SKU as defined in the system BIOS -- **BIOSVendor** Vendor of the system BIOS -- **BiosVersion** Version of the system BIOS -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** Version number of the software distribution client -- **DeviceModel** Device model as defined in the system bios -- **EventInstanceID** A globally unique identifier for event instance -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeeded, failed, etc. -- **EventType** Possible values are "Child", "Bundle", "Release" or "Driver". -- **FlightId** The specific id of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **SystemBIOSMajorRelease** Major release version of the system bios -- **SystemBIOSMinorRelease** Minor release version of the system bios -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Download - -This event sends tracking data about the software distribution client download of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The SKU number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). -- **CallerApplicationName** The name provided by the application that initiated API calls into the software distribution client. -- **CbsDownloadMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** The model of the device. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose for sending this event: whether because the software distribution just started downloading content; or whether it was canceled, succeeded, or failed. -- **EventType** Identifies the type of the event (Child, Bundle, or Driver). -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific ID of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The parent URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **NetworkCostBitMask** A flag indicating the cost of the network (congested, fixed, variable, over data limit, roaming, etc.) used for downloading the update content. -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the application that initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RegulationReason** The reason that the update is regulated -- **RelatedCV** The Correlation Vector that was used before the most recent change to a new Correlation Vector. -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. -- **RevisionNumber** The revision number of the specified piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. -- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total size (in Bytes) expected to be downloaded. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether the content was marked as Important, Recommended, or Optional. -- **UsedDO** Whether the download used the Delivery Optimization (DO) service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was canceled, succeeded, or failed -- **EventType** Possible values are "Child", "Bundle", "Release" or "Driver" -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough -- **FileId** A hash that uniquely identifies a file -- **FileName** Name of the downloaded file -- **FlightId** The unique identifier for each flight -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RevisionNumber** Unique revision number of Update -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.) -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) -- **UpdateId** Unique Update ID -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### SoftwareUpdateClientTelemetry.DownloadHeartbeat - -This event allows tracking of ongoing downloads and contains data to explain the current state of the download. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **EventType** Possible values are "Child", "Bundle", or "Driver" -- **FlightId** The unique identifier for each flight -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeat (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** The mobile operator to which the device is currently connected. -- **DeviceModel** The device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was canceled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether this update is a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. -- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. -- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID that represents a given MSI installation. -- **UpdateId** Unique update ID. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates ultimately deemed applicable to the system after the detection process is complete. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.). -- **WUDeviceID** The unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity - -This event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** An encoded string of the timestamp token. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - -## Surface events - -### Microsoft.Surface.Battery.Prod.BatteryInfoEvent - -This event includes the hardware level data about battery performance. The data collected with this event is used to help keep Windows products and services performing properly. - -The following fields are available: - -- **pszBatteryDataXml** Battery performance data. -- **szBatteryInfo** Battery performance data. - - -## Update Assistant events - -### Microsoft.Windows.UpdateAssistant.Orchestrator.BlockingEventId - -The event sends basic info on the reason that Windows 10 was not updated due to compatibility issues, previous rollbacks, or admin policies. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ApplicabilityBlockedReason** Blocked due to an applicability issue. -- **BlockWuUpgrades** The upgrade assistant is currently blocked. -- **clientID** An identification of the current release of Update Assistant. -- **CloverTrail** This device is Clovertrail. -- **DeviceIsMdmManaged** This device is MDM managed. -- **IsNetworkAvailable** If the device network is not available. -- **IsNetworkMetered** If network is metered. -- **IsSccmManaged** This device is managed by Configuration Manager. -- **NewlyInstalledOs** OS is newly installed quiet period. -- **PausedByPolicy** Updates are paused by policy. -- **RecoveredFromRS3** Previously recovered from RS3. -- **RS1UninstallActive** Blocked due to an active RS1 uninstall. -- **RS3RollBacks** Exceeded number of allowable RS3 rollbacks. -- **triggerTaskSource** Describe which task launches this instance. -- **WsusManaged** This device is WSUS managed. -- **ZeroExhaust** This device is zero exhaust. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.DeniedLaunchEventId - -The event sends basic info when a device was blocked or prevented from updating to the latest Windows 10 version. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **denyReason** All the reasons why the Update Assistant was prevented from launching. Bitmask with values from UpdateAssistant.cpp eUpgradeModeReason. -- **triggerTaskSource** Describe which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.FailedLaunchEventId - -This event indicates that Update Assistant Orchestrator failed to launch Update Assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **calendarRun** Standard time-based triggered task. -- **clientID** An identification of the current release of Update Assistant. -- **hResult** Error code of the Update Assistant Orchestrator failure. -- **triggerTaskSource** Describe which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.FailedOneSettingsQueryEventId - -This event indicates that One Settings was not queried by update assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** An identification of the current release of Update Assistant. -- **hResult** Error code of One Settings query failure. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.LaunchEventId - -This event sends basic information on whether the device should be updated to the latest Windows 10 version. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **autoStartRunCount** The auto start run count of Update Assistant. -- **clientID** The ID of the current release of Update Assistant. -- **launchMode** Indicates the type of launch performed. -- **launchTypeReason** A bitmask of all the reasons for type of launch. -- **triggerTaskSource** Indicates which task launches this instance. - - -### Microsoft.Windows.UpdateAssistant.Orchestrator.RestoreEventId - -The event sends basic info on whether the Windows 10 update notification has previously launched. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **clientID** ID of the current release of Update Assistant. -- **restoreReason** All the reasons for the restore. -- **triggerTaskSource** Indicates which task launches this instance. - - -## Update events - -### Update360Telemetry.Revert - -This event sends data relating to the Revert phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the Revert phase. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **RebootRequired** Indicates reboot is required. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **DownloadRequests** Number of times a download was retried. -- **ErrorCode** The error code returned for the current download request phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique ID for each flight. -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **PackageCategoriesSkipped** Indicates package categories that were skipped, if applicable. -- **PackageCountOptional** Number of optional packages requested. -- **PackageCountRequired** Number of required packages requested. -- **PackageCountTotal** Total number of packages needed. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageExpressType** Type of express package. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **RangeRequestState** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentExpand - -This event collects information regarding the expansion phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ElapsedTickCount** Time taken for expand phase. -- **EndFreeSpace** Free space after expand phase. -- **EndSandboxSize** Sandbox size after expand phase. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **StartFreeSpace** Free space before expand phase. -- **StartSandboxSize** Sandbox size after expand phase. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentFellBackToCanonical - -This event collects information when express could not be used and we fall back to canonical during the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **PackageCount** Number of packages that feel back to canonical. -- **PackageList** PackageIds which fell back to canonical. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInitialize - -This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInstall - -This event sends data for the install phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** Indicates whether the mitigation is applicable for the current update. -- **CommandCount** The number of command operations in the mitigation entry. -- **CustomCount** The number of custom operations in the mitigation entry. -- **FileCount** The number of file operations in the mitigation entry. -- **FlightId** Unique identifier for each flight. -- **Index** The mitigation index of this particular mitigation. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **Name** The friendly name of the mitigation. -- **ObjectId** Unique value for each Update Agent mode. -- **OperationIndex** The mitigation operation index (in the event of a failure). -- **OperationName** The friendly name of the mitigation operation (in the event of failure). -- **RegistryCount** The number of registry operations in the mitigation entry. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentMitigationSummary - -This event sends a summary of all the update agent mitigations available for this update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** The count of mitigations that were applicable to the system and scenario. -- **Failed** The count of mitigations that failed. -- **FlightId** Unique identifier for each flight. -- **MitigationScenario** The update scenario in which the mitigations were attempted. -- **ObjectId** The unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing all mitigations (in 100-nanosecond increments). -- **Total** Total number of mitigations that were available. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates the mode that has started. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **Version** Version of update - - -### Update360Telemetry.UpdateAgentOneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Count** The count of applicable OneSettings for the device. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. -- **Values** The values sent back to the device, if applicable. - - -### Update360Telemetry.UpdateAgentPostRebootResult - -This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **ObjectId** Unique value for each Update Agent mode. -- **PostRebootResult** Indicates the Hresult. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentReboot - -This event sends information indicating that a request has been sent to suspend an update. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ContainsExpressPackage** Indicates whether the download package is express. -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage - -This event indicates that Javascript is reporting a schema and a set of values for critical telemetry. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version of the current campaign. -- **CampaignID** ID of the currently running campaign. -- **ConfigCatalogVersion** Current catalog version of the update notification. -- **ContentVersion** Content version of the current update notification campaign. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign. -- **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. -- **key1** UI interaction data. -- **key10** UI interaction data. -- **key11** UI interaction data. -- **key12** UI interaction data. -- **key13** UI interaction data. -- **key14** UI interaction data. -- **key15** UI interaction data. -- **key16** UI interaction data. -- **key17** UI interaction data. -- **key18** UI interaction data. -- **key19** UI interaction data. -- **key2** UI interaction data. -- **key20** UI interaction data. -- **key21** UI interaction data. -- **key22** UI interaction data. -- **key23** UI interaction data. -- **key24** UI interaction data. -- **key25** UI interaction data. -- **key26** The interaction data for the user interface. -- **key27** UI interaction data. -- **key28** UI interaction data. -- **key29** UI interaction data. -- **key3** UI interaction data. -- **key30** UI interaction data. -- **key4** UI interaction data. -- **key5** UI interaction data. -- **key6** UI interaction data. -- **key7** UI interaction data. -- **key8** UI interaction data. -- **key9** UI interaction data. -- **PackageVersion** Current package version of the update notification. -- **schema** UI interaction type. - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat - -This event is sent at the start of each campaign, to be used as a heartbeat. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Current campaign that is running on Update Notification Pipeline. -- **ConfigCatalogVersion** Current catalog version of Update Notification Pipeline. -- **ContentVersion** Content version for the current campaign on Update Notification Pipeline. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on Update Notification Pipeline. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current package version for Update Notification Pipeline. - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign - -This event indicates that the Campaign Manager is cleaning up the campaign content. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** The current campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** The current catalog version of the Update Notification Pipeline (UNP). -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current UNP package version. - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed - -This event is sent when a campaign completion status query fails. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Current campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **hresult** HRESULT of the failure. -- **PackageVersion** Current UNP package version. - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Currently campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current UNP package version. - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed - -This event is sent when the Campaign Manager encounters an unexpected error while running the campaign. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Currently campaign that's running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **hresult** HRESULT of the failure. -- **PackageVersion** Current UNP package version. - - -## Upgrade events - -### FacilitatorTelemetry.DCATDownload - -This event indicates whether devices received additional or critical supplemental content during an OS Upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **DownloadSize** Download size of payload. -- **ElapsedTime** Time taken to download payload. -- **MediaFallbackUsed** Used to determine if we used Media CompDBs to figure out package requirements for the upgrade. -- **ResultCode** Result returned by the Facilitator DCAT call. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **Type** Type of package that was downloaded. - - -### FacilitatorTelemetry.DUDownload - -This event returns data about the download of supplemental packages critical to upgrading a device to the next version of Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PackageCategoriesFailed** Lists the categories of packages that failed to download. -- **PackageCategoriesSkipped** Lists the categories of package downloads that were skipped. - - -### FacilitatorTelemetry.InitializeDU - -This event determines whether devices received additional or critical supplemental content during an OS upgrade. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. -- **DownloadRequestAttributes** The attributes we send to DCAT. -- **ResultCode** The result returned from the initialization of Facilitator with the URL/attributes. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **Url** The Delivery Catalog (DCAT) URL we send the request to. -- **Version** Version of Facilitator. - - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). -- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). -- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** An ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PostRebootInstall - -This event sends data indicating that the device has invoked the post reboot install phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. - - -### Setup360Telemetry.PreDownloadQuiet - -This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreDownloadUX - -This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS, to help keep Windows up-to-date and secure. Specifically, it indicates the outcome of the PredownloadUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreInstallUX - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10, to help keep Windows up-to-date. Specifically, it indicates the outcome of the PreinstallUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.Setup360 - -This event sends data about OS deployment scenarios, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** Retrieves the upgrade ID. In the Windows Update scenario, this will be the Windows Update client ID. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FieldName** Retrieves the data point. -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. - - -### Setup360Telemetry.Setup360DynamicUpdate - -This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **Operation** Facilitator’s last known operation (scan, download, etc.). -- **ReportId** ID for tying together events stream side. -- **ResultCode** Result returned for the entire setup operation. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **ScenarioId** Identifies the update scenario. -- **TargetBranch** Branch of the target OS. -- **TargetBuild** Build of the target OS. - - -### Setup360Telemetry.Setup360MitigationResult - -This event sends data indicating the result of each setup mitigation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** TRUE if the mitigation is applicable for the current update. -- **ClientId** In the Windows Update scenario, this is the client ID passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **CommandCount** The number of command operations in the mitigation entry. -- **CustomCount** The number of custom operations in the mitigation entry. -- **FileCount** The number of file operations in the mitigation entry. -- **FlightData** The unique identifier for each flight (test release). -- **Index** The mitigation index of this particular mitigation. -- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **Name** The friendly (descriptive) name of the mitigation. -- **OperationIndex** The mitigation operation index (in the event of a failure). -- **OperationName** The friendly (descriptive) name of the mitigation operation (in the event of failure). -- **RegistryCount** The number of registry operations in the mitigation entry. -- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. -- **Result** HResult of this operation. -- **ScenarioId** Setup360 flow type. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). - - -### Setup360Telemetry.Setup360MitigationSummary - -This event sends a summary of all the setup mitigations available for this update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** The count of mitigations that were applicable to the system and scenario. -- **ClientId** The Windows Update client ID passed to Setup. -- **Failed** The count of mitigations that failed. -- **FlightData** The unique identifier for each flight (test release). -- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. -- **MitigationScenario** The update scenario in which the mitigations were attempted. -- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. -- **Result** HResult of this operation. -- **ScenarioId** Setup360 flow type. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). -- **Total** The total number of mitigations that were available. - - -### Setup360Telemetry.Setup360OneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The Windows Update client ID passed to Setup. -- **Count** The count of applicable OneSettings for the device. -- **FlightData** The ID for the flight (test instance version). -- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **ReportId** The Update ID passed to Setup. -- **Result** The HResult of the event error. -- **ScenarioId** The update scenario ID. -- **Values** Values sent back to the device, if applicable. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSMedic.DetectionFailed - -This event is sent when WaaSMedic fails to apply the named diagnostic. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **diagnostic** Parameter where the diagnostic failed. -- **hResult** Error code from attempting the diagnostic. -- **isDetected** Flag indicating whether the condition was detected. -- **pluginName** Name of the attempted diagnostic. -- **versionString** The version number of the remediation engine. - - -### Microsoft.Windows.WaaSMedic.EngineFailed - -This event indicates failure during medic engine execution. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **hResult** Error code from the execution. -- **versionString** Version of Medic engine. - - -### Microsoft.Windows.WaaSMedic.RemediationFailed - -This event is sent when the WaaS Medic update stack remediation tool fails to apply a described resolution to a problem that is blocking Windows Update from operating correctly on a target device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **diagnostic** Parameter where the resolution failed. -- **hResult** Error code that resulted from attempting the resolution. -- **isRemediated** Indicates whether the condition was remediated. -- **pluginName** Name of the attempted resolution. -- **versionString** Version of the engine. - - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -This event provides the result of the WaaSMedic operation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **detectionSummary** Result of each applicable detection that was run. -- **featureAssessmentImpact** WaaS Assessment impact for feature updates. -- **hrEngineResult** Error code from the engine operation. -- **insufficientSessions** Device not eligible for diagnostics. -- **isManaged** Device is managed for updates. -- **isWUConnected** Device is connected to Windows Update. -- **noMoreActions** No more applicable diagnostics. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. -- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. -- **versionString** Version of the WaaSMedic engine. - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file whenever a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -## Windows Error Reporting MTT events - -### Microsoft.Windows.WER.MTT.Denominator - -This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. - -The following fields are available: - -- **Value** Standard UTC emitted DP value structure See [Microsoft.Windows.WER.MTT.Value](#microsoftwindowswermttvalue). - - -### Microsoft.Windows.WER.MTT.Value - -This event is used for differential privacy to help keep Windows up to date. - -The following fields are available: - -- **Algorithm** Privacy protecting algorithm used for randomization. -- **DPRange** Maximum mean value range. -- **DPValue** Randomized bit value (0 or 1) that can be reconstituted over a large population to estimate mean. -- **Epsilon** Constant used in algorithm for randomization. -- **HistType** Histogram type. -- **PertProb** Constant used in algorithm for randomization. - - -## Windows Store events - -### Microsoft.Windows.Store.StoreActivating - -This event sends tracking data about when the Store app activation via protocol URI is in progress, to help keep Windows up to date. - -The following fields are available: - -- **correlationVectorRoot** Identifies multiple events within a session/sequence. Initial value before incrementation or extension. -- **protocolUri** Protocol URI used to activate the store. -- **reason** The reason for activating the store. - - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IsBundle** Is this a bundle? -- **IsInteractive** Did the user initiate the installation? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this happening after a device restore? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndDownload - -This event is sent after an app is downloaded to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The identity of the Windows Insider build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **DownloadSize** The total size of the download. -- **ExtendedHResult** Any extended HResult error codes. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** The Product Family Name of the app being download. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UserAttemptNumber** The number of attempts by the user to download. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **ExtendedHResult** The extended HResult error code. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** Licensing identity of this package. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates - -This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnline** Is the request doing an online check? - - -### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages - -This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest - -This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **BundleId** The identity of the build associated with this product. -- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition ID being installed. -- **VolumePath** The disk path of the installation. - - -### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation - -This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The Product Full Name. -- **PreviousHResult** The result code of the last action performed before this operation. -- **PreviousInstallState** Previous state before the installation or update was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation - -This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsUserRetry** Did the user initiate the retry? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector for the original install before it was resumed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest - -This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ProductId** The Store Product ID for the product being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest - -This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Catalog ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition of the app being updated. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - -## Windows Update CSP events - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed - -This event sends basic telemetry on the failure of the Feature Rollback. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureNotApplicable - -This event sends basic telemetry on whether Feature Rollback (rolling back features updates) is applicable to a device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureStarted - -This event sends basic information indicating that Feature Rollback has started. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureSucceeded - -This event sends basic telemetry on the success of the rollback of feature updates. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityFailed - -This event sends basic telemetry on the failure of the rollback of the Quality/LCU builds. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityNotApplicable - -This event informs you whether a rollback of Quality updates is applicable to the devices that you are attempting to rollback. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityStarted - -This event indicates that the Quality Rollback process has started. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualitySucceeded - -This event sends basic telemetry on the success of the rollback of the Quality/LCU builds. The data collected with this event is used to help keep Windows secure and up to date. - - - -## Windows Update Delivery Optimization events - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCanceled - -This event describes when a download was canceled with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **callerName** Name of the API caller. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Indicates whether the device is connected to a VPN (Virtual Private Network). -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller. -- **reasonCode** Reason the action or event occurred. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **callerName** Name of the API caller. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **numPeers** The total number of peers used for this download. -- **predefinedCallerName** The name of the API Caller. -- **restrictedUpload** Is the upload restricted? -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **callerName** The name of the API caller. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being paused. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller object. -- **reasonCode** The reason for pausing the download. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being paused. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted - -This event sends data describing the start of a new download to enable Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. -- **callerName** Name of the API caller. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isEncrypted** Indicates whether the download is encrypted. -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **minDiskSizeGB** The minimum disk size (in GB) policy set for the device to allow peering with delivery optimization. -- **minDiskSizePolicyEnforced** Indicates whether there is an enforced minimum disk size requirement for peering. -- **minFileSizePolicy** The minimum content file size policy to allow the download using peering with delivery optimization. -- **peerID** The ID for this delivery optimization client. -- **predefinedCallerName** Name of the API caller. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID for the file download session. -- **setConfigs** A JSON representation of the configurations that have been set, and their sources. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cdnHeaders** The HTTP headers returned by the CDN. -- **cdnIp** The IP address of the CDN. -- **cdnUrl** The URL of the CDN. -- **errorCode** The error code that was returned. -- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **httpStatusCode** The HTTP status code returned by the CDN. -- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET -- **peerType** The type of peer (LAN, Group, Internet, CDN, Cache Host, etc.). -- **requestOffset** The byte offset within the file in the sent request. -- **requestSize** The size of the range requested from the CDN. -- **responseSize** The size of the range response received from the CDN. -- **sessionID** The ID of the download session. - - -### Microsoft.OSG.DU.DeliveryOptClient.JobError - -This event represents a Windows Update job error. It allows for investigation of top errors. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **doErrorCode** Error code returned for delivery optimization. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -## Windows Update events - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary - -This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. -- **flightId** Unique ID for each flight. -- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. -- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. -- **objectId** Unique value for each diagnostics session. -- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** Indicates the update scenario. -- **sessionId** Unique value for each update session. -- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. -- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. -- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** The unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit - -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** The unique GUID for each diagnostics session. -- **relatedCV** A correlation vector value generated from the latest USO scan. -- **result** Outcome of the initialization of the session. -- **scenarioId** Identifies the Update scenario. -- **sessionId** The unique value for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest - -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **deletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** Unique value for each Update Agent mode. -- **packageCountOptional** Number of optional packages requested. -- **packageCountRequired** Number of required packages requested. -- **packageCountTotal** Total number of packages needed. -- **packageCountTotalCanonical** Total number of canonical packages. -- **packageCountTotalDiff** Total number of diff packages. -- **packageCountTotalExpress** Total number of express packages. -- **packageSizeCanonical** Size of canonical packages in bytes. -- **packageSizeDiff** Size of diff packages in bytes. -- **packageSizeExpress** Size of express packages in bytes. -- **rangeRequestState** Represents the state of the download range request. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Result of the download request phase of update. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInitialize - -This event sends data for initializing a new update session for the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **flightMetadata** Contains the FlightId and the build being flighted. -- **objectId** Unique value for each Update Agent mode. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Result of the initialize phase of the update. 0 = Succeeded, 1 = Failed, 2 = Canceled, 3 = Blocked, 4 = BlockCanceled. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInstall - -This event collects information regarding the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current install phase. -- **flightId** The unique identifier for each flight (pre-release builds). -- **objectId** Unique value for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest scan. -- **result** Outcome of the install phase of the update. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each update session. -- **updateId** Unique ID for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **flightId** The unique identifier for each flight (pre-release builds). -- **mode** Indicates the active Update Agent mode. -- **objectId** Unique value for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest scan. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** The unique identifier for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed - -This event indicates that a notification dialog box is about to be displayed to user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before the RebootFailed dialog box is shown. -- **DaysSinceRebootRequired** Number of days since restart was required. -- **DeviceLocalTime** The local time on the device sending the event. -- **EngagedModeLimit** The number of days to switch between DTE dialog boxes. -- **EnterAutoModeLimit** The maximum number of days for a device to enter Auto Reboot mode. -- **ETag** OneSettings versioning value. -- **IsForcedEnabled** Indicates whether Forced Reboot mode is enabled for this device. -- **IsUltimateForcedEnabled** Indicates whether Ultimate Forced Reboot mode is enabled for this device. -- **NotificationUxState** Indicates which dialog box is shown. -- **NotificationUxStateString** Indicates which dialog box is shown. -- **RebootUxState** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). -- **RebootUxStateString** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). -- **RebootVersion** Version of DTE. -- **SkipToAutoModeLimit** The minimum length of time to pass in restart pending before a device can be put into auto mode. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UtcTime** The time the dialog box notification will be displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog - -This event indicates that the Enhanced Engaged restart "accept automatically" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose on this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootFirstReminderDialog - -This event indicates that the Enhanced Engaged restart "first reminder" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedPrecursorDialog - -This event indicates that the Enhanced Engaged restart "forced precursor" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedWarningDialog - -This event indicates that the Enhanced Engaged "forced warning" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog - -This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time of the device sending the event. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog - -This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** Time the dialog box was shown on the local device. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose in this dialog box. -- **UtcTime** The time that dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootReminderDialog - -This event returns information relating to the Enhanced Engaged reboot reminder dialog that was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The time at which the reboot reminder dialog was shown (based on the local device time settings). -- **ETag** The OneSettings versioning value. -- **ExitCode** Indicates how users exited the reboot reminder dialog box. -- **RebootVersion** The version of the DTE (Direct-to-Engaged). -- **UpdateId** The ID of the update that is waiting for reboot to finish installation. -- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. -- **UserResponseString** The option chosen by the user on the reboot dialog box. -- **UtcTime** The time at which the reboot reminder dialog was shown (in UTC). - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootSecondReminderDialog - -This event indicates that the second reminder dialog box was displayed for Enhanced Engaged restart. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The time the dialog box was shown on the local device. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootThirdReminderDialog - -This event indicates that the third reminder dialog box for Enhanced Engaged restart was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The time the dialog box was shown on the local device. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedSecondRebootReminderDialog - -This event is sent when a second reminder dialog is displayed during Enhanced Engaged Reboot. - - - -### Microsoft.Windows.Update.NotificationUx.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows secure and up-to-date by indicating when a reboot is scheduled by the system or a user for a security, quality, or feature update. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether an Active Hours policy is present on the device. -- **IsEnhancedEngagedReboot** Indicates whether this is an Enhanced Engaged reboot. -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** Indicates whether a restart is scheduled outside of active hours. -- **rebootScheduledByUser** Indicates whether the restart was scheduled by user (if not, it was scheduled automatically). -- **rebootState** The current state of the restart. -- **revisionNumber** Revision number of the update that is getting installed with this restart. -- **scheduledRebootTime** Time of the scheduled restart. -- **scheduledRebootTimeInUTC** Time of the scheduled restart in Coordinated Universal Time. -- **updateId** ID of the update that is getting installed with this restart. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy - -This event indicates a policy is present that may restrict update activity to outside of active hours. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours - -This event indicates that update activity was blocked because it is within the active hours window. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **blockReason** Reason for stopping the update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel - -This event indicates that Windows Update activity was blocked due to low battery level. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **blockReason** Reason for stopping Windows Update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.CommitFailed - -This event indicates that a device was unable to restart after an update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code that was returned. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **displayNeededReason** List of reasons for needing display. -- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **gameModeReason** Name of the executable that caused the game mode state check to start. -- **ignoredReason** List of reasons that were intentionally ignored. -- **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). -- **revisionNumber** Update ID revision number. -- **systemNeededReason** List of reasons why system is needed. -- **updateId** Update ID. -- **updateScenarioType** Update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event sends launch data for a Windows Update scan to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** The reason why the device could not check for updates. -- **detectionBlockingPolicy** The Policy that blocked detection. -- **detectionBlockreason** The reason detection did not complete. -- **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was canceled, succeeded, or failed. -- **flightID** The unique identifier for the flight (Windows Insider pre-release build) should be delivered to the device, if applicable. -- **interactive** Indicates whether the user initiated the session. -- **networkStatus** Indicates if the device is connected to the internet. -- **revisionNumber** The Update revision number. -- **scanTriggerSource** The source of the triggered scan. -- **updateId** The unique identifier of the Update. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DetectionResult - -This event runs when an update is detected. This helps ensure Windows is secure and kept up to date. - -The following fields are available: - -- **applicableUpdateIdList** A list of applicable update IDs. -- **applicableUpdateList** A list of applicable update names. -- **seekerUpdateIdList** A list of optional update IDs. -- **seekerUpdateList** A list of optional update names. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.DisplayNeeded - -This event indicates the reboot was postponed due to needing a display. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **displayNeededReason** Reason the display is needed. -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was canceled, succeeded, or failed. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### Microsoft.Windows.Update.Orchestrator.Download - -This event sends launch data for a Windows Update download to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** Reason for download not completing. -- **errorCode** An error code represented as a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session is user initiated. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit - -This event indicates that DTU completed installation of the electronic software delivery (ESD), when Windows Update was already in Pending Commit phase of the feature update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DTUEnabled - -This event indicates that Inbox DTU functionality was enabled. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DTUInitiated - -This event indicates that Inbox DTU functionality was initiated. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **dtuErrorCode** Return code from creating the DTU Com Server. -- **isDtuApplicable** Determination of whether DTU is applicable to the machine it is running on. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Escalation - -This event is sent when USO takes an Escalation action on a device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **configVersion** Escalation config version on device. -- **escalationAction** Indicate the specific escalation action that took place on device. -- **updateClassificationGUID** GUID of the update the device is offered. -- **updateId** ID of the update the device is offered. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels - -This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **configVersion** The escalation configuration version on the device. -- **downloadElapsedTime** Indicates how long since the download is required on device. -- **downloadRiskLevel** At-risk level of download phase. -- **installElapsedTime** Indicates how long since the install is required on device. -- **installRiskLevel** The at-risk level of install phase. -- **isSediment** Assessment of whether is device is at risk. -- **scanElapsedTime** Indicates how long since the scan is required on device. -- **scanRiskLevel** At-risk level of the scan phase. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.EscalationsRefreshFailed - -USO has a set of escalation actions to prevent a device from becoming out-of-date, and the actions are triggered based on the Escalation configuration that USO obtains from OneSettings. This event is sent when USO fails to refresh the escalation configuration from OneSettings. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **configVersion** Current escalation config version on device. -- **errorCode** Error code for the refresh failure. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event sends data on whether the update was applicable to the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time when this event was generated. -- **flightID** The specific ID of the Windows Insider build. -- **revisionNumber** Update revision number. -- **updateId** Unique Windows Update ID. -- **updateScenarioType** Update session type. -- **UpdateStatus** Last status of update. -- **UUPFallBackConfigured** Indicates whether UUP fallback is configured. -- **wuDeviceid** Unique Device ID. - - -### Microsoft.Windows.Update.Orchestrator.GameActive - -This event indicates that an enabled GameMode process prevented the device from restarting to complete an update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was canceled, succeeded, or failed. -- **gameModeReason** Name of the enabled GameMode process that prevented the device from restarting to complete an update. -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.InitiatingReboot - -This event sends data about an Orchestrator requesting a reboot from power management to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time of the event. -- **flightID** Unique update ID -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Install - -This event sends launch data for a Windows Update install to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **errorCode** The error code reppresented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **isLowUptimeMachine** Is the machine considered low uptime or not. -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection - -This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows secure and up to date. - -The following fields are available: - -- **externalOneshotupdate** The last time a task-triggered scan was completed. -- **interactiveOneshotupdate** The last time an interactive scan was completed. -- **oldlastscanOneshotupdate** The last time a scan completed successfully. -- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). - - -### Microsoft.Windows.Update.Orchestrator.OobeUpdate - -This event sends data to device when Oobe Update download is in progress. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** A flight ID. -- **revisionNumber** A revision number. -- **updateId** An update ID. -- **updateScenarioType** A type of update scenario. -- **wuDeviceid** A device ID associated with Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.PostInstall - -This event sends data about lite stack devices (mobile, IOT, anything non-PC) immediately before data migration is launched to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in megawatt-hours (mWh) or percentage left. -- **bundleId** The unique identifier associated with the specific content bundle. -- **bundleRevisionnumber** Identifies the revision number of the content bundle. -- **errorCode** The error code returned for the current phase. -- **eventScenario** State of update action. -- **flightID** The unique identifier for the flight (Windows Insider pre-release build) should be delivered to the device, if applicable. -- **sessionType** The Windows Update session type (Interactive or Background). -- **updateScenarioType** Identifies the type of Update session being performed. -- **wuDeviceid** The unique device identifier used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.PowerMenuOptionsChanged - -This event is sent when the options in power menu changed, usually due to an update pending reboot, or after an update is installed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **powermenuNewOptions** The new options after the power menu changed. -- **powermenuOldOptions** The old options before the power menu changed. -- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to an update, this indicates how long that reboot has been pending. -- **wuDeviceid** The device ID recorded by Windows Update if the power menu changed because a reboot is pending due to an update. - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.Progress - -This event is sent when the download of a update reaches a milestone change, such as a change in network cost policy, completion of an internal phase, or change in a transient state. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** Error code returned. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Identifies whether the session is user initiated. -- **networkCostPolicy** The current network cost policy on device. -- **revisionNumber** Update ID revision number. -- **updateId** Unique ID for each update. -- **updateScenarioType** Update Session type. -- **updateState** Subphase of the download. -- **UpdateStatus** Subphase of the update. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **EventPublishedTime** The time that the reboot failure occurred. -- **flightID** Unique update ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. -- **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RefreshSettings - -This event sends basic data about the version of upgrade settings applied to the system to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows secure and up to date. - -The following fields are available: - -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.ScanTriggered - -This event indicates that Update Orchestrator has started a scan operation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current scan operation. -- **eventScenario** Indicates the purpose of sending this event. -- **interactive** Indicates whether the scan is interactive. -- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. -- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. -- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. -- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. -- **scanTriggerSource** Indicates what caused the scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable - -This event defines when an optional update is available for the device to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The unique identifier of the Windows Insider build on this device. -- **isFeatureUpdate** Indicates whether the update is a Feature Update. -- **revisionNumber** The revision number of the update. -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.SeekUpdate - -This event occurs when user initiates "seeker" scan. This helps keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The ID of the Windows Insider builds on the device. -- **isFeatureUpdate** Indicates that the target of the Seek is a feature update. -- **revisionNumber** The revision number of the update. -- **updateId** The identifier of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.SystemNeeded - -This event sends data about why a device is unable to reboot, to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** End-to-end update session ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours - -This event indicates that update activity was stopped due to active hours starting. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** The device identifier. - - -### Microsoft.Windows.Update.Orchestrator.TerminatedByBatteryLevel - -This event is sent when update activity was stopped due to a low battery level. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** The device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UpdateInstallPause - -This event sends data when a device pauses an in-progress update, to help keep Windows secure and up to date. - -The following fields are available: - -- **updateClassificationGUID** The classification GUID for the update that was paused. -- **updateId** An update ID for the update that was paused. -- **wuDeviceid** A unique Device ID. - - -### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows secure and up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### Microsoft.Windows.Update.Orchestrator.USODiagnostics - -This event sends data on whether the state of the update attempt, to help keep Windows secure and up to date. - -The following fields are available: - -- **LastApplicableUpdateFoundTime** The time when the last applicable update was found. -- **LastDownloadDeferredReason** The last reason download was deferred. -- **LastDownloadDeferredTime** The time of the download deferral. -- **LastDownloadFailureError** The last download failure. -- **LastDownloadFailureTime** The time of the last download failure. -- **LastInstallCompletedTime** The time when the last successful install completed. -- **LastInstallDeferredReason** The reason the last install was deferred. -- **LastInstallDeferredTime** The time when the last install was deferred. -- **LastInstallFailureError** The error code associated with the last install failure. -- **LastInstallFailureTime** The time when the last install failed to complete. -- **LastRebootDeferredReason** The reason the last reboot was deferred. -- **LastRebootDeferredTime** The time when the last reboot was deferred. -- **LastRebootPendingTime** The time when the last reboot state was set to “Pending”. -- **LastScanDeferredReason** The reason the last scan was deferred. -- **LastScanDeferredTime** The time when the last scan was deferred. -- **LastScanFailureError** The error code for the last scan failure. -- **LastScanFailureTime** The time when the last scan failed. -- **LastUpdateCheckTime** The time of the last update check. -- **LastUpdateDownloadTime** The time when the last update was downloaded. -- **LastUpgradeInstallFailureError** The error code for the last upgrade install failure. -- **LastUpgradeInstallFailureTime** The time of the last upgrade install failure. -- **LowUpTimeDetectTime** The last time “low up-time” was detected. -- **NoLowUpTimeDetectTime** The last time no “low up-time” was detected. -- **RebootRequired** Indicates reboot is required. -- **UpgradeInProgressTime** The amount of time a feature update has been in progress. -- **WaaSFeatureAssessmentDays** The number of days Feature Update Assessment has been out of date. -- **WaaSFeatureAssessmentImpact** The impact of the Feature Update Assessment. -- **WaaSUpToDateAssessmentDays** The number of days Quality Update Assessment has been out of date. -- **WaaSUpToDateAssessmentImpact** The impact of Quality Update Assessment. -- **wuDeviceid** Unique ID for Device - - -### Microsoft.Windows.Update.Orchestrator.UUPFallBack - -This event sends data when UUP needs to fall back, to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** The current event time. -- **UUPFallBackConfigured** The fall back error code. -- **UUPFallBackErrorReason** The reason for fall back error. -- **wuDeviceid** A Windows Update device ID. - - -### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState - -This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. -- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. -- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. -- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. -- **ETag** The Entity Tag that represents the OneSettings version. -- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. -- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. -- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. -- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. -- **RebootVersion** The version of the DTE (Direct-to-Engaged). -- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. -- **UpdateId** The ID of the update that is waiting for reboot to finish installation. -- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded - -This event is sent when a security update has successfully completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **UtcTime** The Coordinated Universal Time that the restart was no longer needed. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootRequestReasonsToIgnore - -This event is sent when the reboot can be deferred based on some reasons, before reboot attempts. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Reason** The reason sent which will cause the reboot to defer. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled - -This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether Active Hours applies on this device. -- **IsEnhancedEngagedReboot** Indicates whether Enhanced reboot was enabled. -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. -- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. -- **rebootState** Current state of the reboot. -- **revisionNumber** Revision number of the OS. -- **scheduledRebootTime** Time scheduled for the reboot. -- **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. -- **updateId** Identifies which update is being scheduled. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot - -This event is fired the first time when the reboot is required. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerScheduledTask - -This event is sent when MUSE broker schedules a task. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **TaskArgument** The arguments with which the task is scheduled. -- **TaskName** Name of the task. - - -### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Is the restart respecting Active Hours? -- **IsEnhancedEngagedReboot** TRUE if the reboot path is Enhanced Engaged. Otherwise, FALSE. -- **rebootArgument** The arguments that are passed to the OS for the restarted. -- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? -- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. -- **rebootState** The state of the restart. -- **revisionNumber** The revision number of the OS being updated. -- **scheduledRebootTime** Time of the scheduled reboot -- **scheduledRebootTimeInUTC** Time of the scheduled restart, in Coordinated Universal Time. -- **updateId** The Windows Update device GUID. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICOInteractionCampaignComplete - -This event is generated whenever a RUXIM user interaction campaign becomes complete. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that became complete. -- **ResultId** The final result of the interaction campaign. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSEvaluateInteractionCampaign - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) finishes processing an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **ControlId** String identifying the control (if any) that was selected by the user during presentation. -- **hrInteractionHandler** The error (if any) reported by the RUXIM Interaction Handler while processing the interaction campaign. -- **hrScheduler** The error (if any) encountered by RUXIM Interaction Campaign Scheduler itself while processing the interaction campaign. -- **InteractionCampaignID** The ID of the interaction campaign that was processed. -- **ResultId** The result of the evaluation/presentation. -- **WasCompleted** True if the interaction campaign is complete. -- **WasPresented** True if the Interaction Handler displayed the interaction campaign to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSExit - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSLaunch - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMICS. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncExit - -This event is sent when RUXIM completes checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **hrInitialize** Error, if any, that occurred while initializing OneSettings. -- **hrQuery** Error, if any, that occurred while retrieving UX interaction campaign data from OneSettings. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncLaunch - -This event is sent when RUXIM begins checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHEvaluateAndPresent - -This event is generated when the RUXIM Interaction Handler finishes evaluating, and possibly presenting an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **hrLocal** The error (if any) encountered by RUXIM Interaction Handler during evaluation and presentation. -- **hrPresentation** The error (if any) reported by RUXIM Presentation Handler during presentation. -- **InteractionCampaignID** GUID; the user interaction campaign processed by RUXIM Interaction Handler. -- **ResultId** The result generated by the evaluation and presentation. -- **WasCompleted** True if the user interaction campaign is complete. -- **WasPresented** True if the user interaction campaign is displayed to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHExit - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that RUXIMIH processed. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHLaunch - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMIH. -- **InteractionCampaignID** GUID identifying the user interaction campaign that the Interaction Handler will process. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.SystemEvaluator.Evaluation - -This event is generated whenever the RUXIM Evaluator DLL performs an evaluation. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **HRESULT** Error, if any, that occurred during evaluation. (Note that if errors encountered during individual checks do not affect the overall result of the evaluation, those errors will be reported in NodeEvaluationData, but this HRESULT will still be zero.) -- **Id** GUID passed in by the caller to identify the evaluation. -- **NodeEvaluationData** Structure showing the results of individual checks that occurred during the overall evaluation. -- **Result** Overall result generated by the evaluation. - - -## Windows Update mitigation events - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The client ID used by Windows Update. -- **FlightId** The ID of each Windows Insider build the device received. -- **InstanceId** A unique device ID that identifies each update instance. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** The number of mounted images. -- **MountedImageMatches** The number of mounted image matches. -- **MountedImagesFailed** The number of mounted images that could not be removed. -- **MountedImagesRemoved** The number of mounted images that were successfully removed. -- **MountedImagesSkipped** The number of mounted images that were not found. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Windows Update. -- **WuId** Unique ID for the Windows Update client. - - -### Mitigation360Telemetry.MitigationCustom.FixAppXReparsePoints - -This event sends data specific to the FixAppXReparsePoints mitigation used for OS updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. -- **WuId** Unique ID for the Windows Update client. - - -### Mitigation360Telemetry.MitigationCustom.FixupEditionId - -This event sends data specific to the FixupEditionId mitigation used for OS updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **EditionIdUpdated** Determine whether EditionId was changed. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **ProductEditionId** Expected EditionId value based on GetProductInfo. -- **ProductType** Value returned by GetProductInfo. -- **RegistryEditionId** EditionId value in the registry. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **WuId** Unique ID for the Windows Update client. - - -## Windows Update Reserve Manager events - -### Microsoft.Windows.UpdateReserveManager.CommitPendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager commits a hard reserve adjustment that was pending. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.FunctionReturnedError - -This event is sent when the Update Reserve Manager returns an error from one of its internal functions. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.InitializeUpdateReserveManager - -This event returns data about the Update Reserve Manager, including whether it’s been initialized. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.PrepareTIForReserveInitialization - -This event is sent when the Update Reserve Manager prepares the Trusted Installer to initialize reserves on the next boot. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.RemovePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager removes a pending hard reserve adjustment. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. The data collected with this event is used to help keep Windows secure and up to date. - - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - - - -## XBOX events - -### Microsoft.Xbox.XamTelemetry.AppActivationError - -This event indicates whether the system detected an activation error in the app. - - - -### Microsoft.Xbox.XamTelemetry.AppActivity - -This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. - -The following fields are available: - -- **AppActionId** The ID of the application action. -- **AppCurrentVisibilityState** The ID of the current application visibility state. -- **AppId** The Xbox LIVE Title ID of the app. -- **AppPackageFullName** The full name of the application package. -- **AppPreviousVisibilityState** The ID of the previous application visibility state. -- **AppSessionId** The application session ID. -- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). -- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. -- **DurationMs** The amount of time (in milliseconds) since the last application state transition. -- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. -- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). -- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. -- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. -- **UserId** The XUID (Xbox User ID) of the current user. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md deleted file mode 100644 index 749915474a..0000000000 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md +++ /dev/null @@ -1,10580 +0,0 @@ ---- -description: Learn more about the Windows 10, version 1903 diagnostic data gathered at the basic level. -title: Windows 10, version 1909 and Windows 10, version 1903 required diagnostic events and fields (Windows 10) -ms.service: windows-client -ms.subservice: itpro-privacy -localizationpriority: medium -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 03/27/2017 -ms.topic: reference ---- - - -# Windows 10, version 1909 and Windows 10, version 1903 required Windows diagnostic events and fields - - **Applies to** - -- Windows 10, version 1909 -- Windows 10, version 1903 - - -Required diagnostic data gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. - -Required diagnostic data helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. - -Use this article to learn about diagnostic events, grouped by event area, and the fields within each event. A brief description is provided for each field. Every event generated includes common data, which collects device data. - -You can learn more about Windows functional and diagnostic data through these articles: - -- [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) -- [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Required diagnostic events and fields for Windows 10: versions 22H2, 21H2, 21H1, 20H2, and 2004](required-windows-diagnostic-data-events-and-fields-2004.md) -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) -- [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - -## AppLocker events - -### Microsoft.Windows.Security.AppLockerCSP.AddParams - -This event indicates the parameters passed to the Add function of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child** The child URI of the node to add. -- **uri** URI of the node relative to %SYSTEM32%/AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.AddStart - -This event indicates the start of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.AddStop - -This event indicates the end of an Add operation for the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** The HRESULT returned by Add function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Commit - -This event returns information about the Commit operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **oldId** The unique identifier for the most recent previous CSP transaction. -- **txId** The unique identifier for the current CSP transaction. - - -### Microsoft.Windows.Security.AppLockerCSP.CAppLockerCSP::Rollback - -This event provides the result of the Rollback operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **oldId** Previous id for the CSP transaction. -- **txId** Current id for the CSP transaction. - - -### Microsoft.Windows.Security.AppLockerCSP.ClearParams - -This event provides the parameters passed to the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **uri** The URI relative to the %SYSTEM32%\AppLocker folder. - - -### Microsoft.Windows.Security.AppLockerCSP.ClearStart - -This event indicates the start of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.ClearStop - -This event indicates the end of the Clear operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT reported at the end of the 'Clear' function. - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceParams - -This event provides the parameters that were passed to the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **NodeId** NodeId passed to CreateNodeInstance. -- **nodeOps** NodeOperations parameter passed to CreateNodeInstance. -- **uri** URI passed to CreateNodeInstance, relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStart - -This event indicates the start of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.CreateNodeInstanceStop - -This event indicates the end of the Create Node Instance operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT returned by the CreateNodeInstance function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildParams - -This event provides the parameters passed to the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child** The child URI of the node to delete. -- **uri** URI relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStart - -This event indicates the start of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.DeleteChildStop - -This event indicates the end of the Delete Child operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **hr** HRESULT returned by the DeleteChild function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.EnumPolicies - -This event provides the logged Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker if the plug-in GUID is null or the Configuration Service Provider (CSP) doesn't believe the old policy is present. - -The following fields are available: - -- **uri** URI relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesParams - -This event provides the parameters passed to the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **uri** URI relative to %SYSTEM32%/AppLocker for MDM node. - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStart - -This event indicates the start of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.GetChildNodeNamesStop - -This event indicates the end of the Get Child Node Names operation of the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **child[0]** If function succeeded, the first child's name, else "NA". -- **count** If function succeeded, the number of child node names returned by the function, else 0. -- **hr** HRESULT returned by the GetChildNodeNames function of AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.GetLatestId - -This event provides the latest time-stamped unique identifier in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **dirId** The latest directory identifier found by GetLatestId. -- **id** The id returned by GetLatestId if id > 0 - otherwise the dirId parameter. - - -### Microsoft.Windows.Security.AppLockerCSP.HResultException - -This event provides the result code (HRESULT) generated by any arbitrary function in the AppLocker Configuration Service Provider (CSP). - -The following fields are available: - -- **file** File in the OS code base in which the exception occurs. -- **function** Function in the OS code base in which the exception occurs. -- **hr** HRESULT that is reported. -- **line** Line in the file in the OS code base in which the exception occurs. - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueParams - -This event provides the parameters that were passed to the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - -The following fields are available: - -- **dataLength** Length of the value to set. -- **uri** The node URI to that should contain the value, relative to %SYSTEM32%\AppLocker. - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueStart - -This event indicates the start of the SetValue operation in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. - - - -### Microsoft.Windows.Security.AppLockerCSP.SetValueStop - -End of the "SetValue" operation for the AppLockerCSP node. - -The following fields are available: - -- **hr** HRESULT returned by the SetValue function in AppLockerCSP. - - -### Microsoft.Windows.Security.AppLockerCSP.TryRemediateMissingPolicies - -This event provides information for fixing a policy in the AppLocker Configuration Service Provider (CSP) to help keep Windows secure. It includes Uniform Resource Identifier (URI) relative to %SYSTEM32%\AppLocker that needs to be fixed. - -The following fields are available: - -- **uri** URI for node relative to %SYSTEM32%/AppLocker. - - -## Appraiser events - -### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount - -This event lists the types of objects and how many of each exist on the client device. This allows for a quick way to ensure that the records present on the server match what is present on the client. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **DatasourceApplicationFile_19H1** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_19H1Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_20H1** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_20H1Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_21H1** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_21H1Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_21H2** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_21H2Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_CO21H2** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_CO21H2Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_CU22H2** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_CU22H2Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_NI22H2Setup** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS1** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS2** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS3** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS4** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_RS5** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_TH1** The total number of objects of this type present on this device. -- **DatasourceApplicationFile_TH2** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_19H1** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_19H1Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_20H1** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_20H1Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_21H1** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_21H1Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_21H2** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_21H2Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_CO21H2** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_CO21H2Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_CU22H2** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_CU22H2Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_NI22H2Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS1** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS2** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS3** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS3Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS4** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS4Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS5** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_RS5Setup** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_TH1** The total number of objects of this type present on this device. -- **DatasourceDevicePnp_TH2** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_19H1** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_19H1Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_20H1** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_20H1Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_21H1** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_21H1Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_21H2** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_21H2Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_CO21H2** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_CO21H2Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_CU22H2** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_CU22H2Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_NI22H2Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS1** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS2** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS3** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS3Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS4** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS4Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS5** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_RS5Setup** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_TH1** The total number of objects of this type present on this device. -- **DatasourceDriverPackage_TH2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_19H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_19H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_20H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_20H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_21H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_21H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_21H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_21H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_CO21H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_CO21H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_CU22H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_CU22H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_NI22H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS4** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_RS5** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_TH1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoBlock_TH2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_19H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_19H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_20H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_20H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_21H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_21H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_21H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_21H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_CO21H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_CO21H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_CU22H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_CU22H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_NI22H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS4** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_RS5** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_TH1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPassive_TH2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_19H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_19H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_20H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_20H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_21H1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_21H1Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_21H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_21H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_CO21H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_CO21H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_CU22H2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_CU22H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_NI22H2Setup** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS2** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS3** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS4** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS5** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_TH1** The total number of objects of this type present on this device. -- **DataSourceMatchingInfoPostUpgrade_TH2** The total number of objects of this type present on this device. -- **DatasourceSystemBios_19ASetup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_19H1** The total number of objects of this type present on this device. -- **DatasourceSystemBios_19H1Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_20H1** The total number of objects of this type present on this device. -- **DatasourceSystemBios_20H1Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_21H1** The total number of objects of this type present on this device. -- **DatasourceSystemBios_21H1Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_21H2** The total number of objects of this type present on this device. -- **DatasourceSystemBios_21H2Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_CO21H2** The total number of objects of this type present on this device. -- **DatasourceSystemBios_CO21H2Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_CU22H2** The total number of objects of this type present on this device. -- **DatasourceSystemBios_CU22H2Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_NI22H2Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS1** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS2** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS3** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS3Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS4** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS4Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS5** The total number of objects of this type present on this device. -- **DatasourceSystemBios_RS5Setup** The total number of objects of this type present on this device. -- **DatasourceSystemBios_TH1** The total number of objects of this type present on this device. -- **DatasourceSystemBios_TH2** The total number of objects of this type present on this device. -- **DecisionApplicationFile_19H1** The total number of objects of this type present on this device. -- **DecisionApplicationFile_19H1Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_20H1** The total number of objects of this type present on this device. -- **DecisionApplicationFile_20H1Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_21H1** The total number of objects of this type present on this device. -- **DecisionApplicationFile_21H1Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_21H2** The total number of objects of this type present on this device. -- **DecisionApplicationFile_21H2Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_CO21H2** The total number of objects of this type present on this device. -- **DecisionApplicationFile_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_CU22H2** The total number of objects of this type present on this device. -- **DecisionApplicationFile_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS1** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS2** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS3** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS4** The total number of objects of this type present on this device. -- **DecisionApplicationFile_RS5** The total number of objects of this type present on this device. -- **DecisionApplicationFile_TH1** The total number of objects of this type present on this device. -- **DecisionApplicationFile_TH2** The total number of objects of this type present on this device. -- **DecisionDevicePnp_19H1** The total number of objects of this type present on this device. -- **DecisionDevicePnp_19H1Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_20H1** The total number of objects of this type present on this device. -- **DecisionDevicePnp_20H1Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_21H1** The total number of objects of this type present on this device. -- **DecisionDevicePnp_21H1Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_21H2** The total number of objects of this type present on this device. -- **DecisionDevicePnp_21H2Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_CO21H2** The total number of objects of this type present on this device. -- **DecisionDevicePnp_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_CU22H2** The total number of objects of this type present on this device. -- **DecisionDevicePnp_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS1** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS2** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS3** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS3Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS4** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS4Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS5** The total number of objects of this type present on this device. -- **DecisionDevicePnp_RS5Setup** The total number of objects of this type present on this device. -- **DecisionDevicePnp_TH1** The total number of objects of this type present on this device. -- **DecisionDevicePnp_TH2** The total number of objects of this type present on this device. -- **DecisionDriverPackage_19H1** The total number of objects of this type present on this device. -- **DecisionDriverPackage_19H1Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_20H1** The total number of objects of this type present on this device. -- **DecisionDriverPackage_20H1Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_21H1** The total number of objects of this type present on this device. -- **DecisionDriverPackage_21H1Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_21H2** The total number of objects of this type present on this device. -- **DecisionDriverPackage_21H2Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_CO21H2** The total number of objects of this type present on this device. -- **DecisionDriverPackage_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_CU22H2** The total number of objects of this type present on this device. -- **DecisionDriverPackage_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS1** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS2** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS3** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS3Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS4** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS4Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS5** The total number of objects of this type present on this device. -- **DecisionDriverPackage_RS5Setup** The total number of objects of this type present on this device. -- **DecisionDriverPackage_TH1** The total number of objects of this type present on this device. -- **DecisionDriverPackage_TH2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_19H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_19H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_20H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_20H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_21H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_21H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_21H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_21H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_CO21H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_CU22H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS4** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_RS5** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_TH1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoBlock_TH2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_19H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_19H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_20H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_20H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_21H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_21H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_21H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_21H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_CO21H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_CU22H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS4** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_RS5** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_TH1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPassive_TH2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_19H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_19H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_20H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_20H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_21H1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_21H1Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_21H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_21H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_CO21H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_CU22H2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS2** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS3** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS4** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_RS5** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_TH1** The total number of objects of this type present on this device. -- **DecisionMatchingInfoPostUpgrade_TH2** The total number of objects of this type present on this device. -- **DecisionMediaCenter_19H1** The total number of objects of this type present on this device. -- **DecisionMediaCenter_19H1Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_20H1** The total number of objects of this type present on this device. -- **DecisionMediaCenter_20H1Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_21H1** The total number of objects of this type present on this device. -- **DecisionMediaCenter_21H1Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_21H2** The total number of objects of this type present on this device. -- **DecisionMediaCenter_21H2Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_CO21H2** The total number of objects of this type present on this device. -- **DecisionMediaCenter_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_CU22H2** The total number of objects of this type present on this device. -- **DecisionMediaCenter_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS1** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS2** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS3** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS4** The total number of objects of this type present on this device. -- **DecisionMediaCenter_RS5** The total number of objects of this type present on this device. -- **DecisionMediaCenter_TH1** The total number of objects of this type present on this device. -- **DecisionMediaCenter_TH2** The total number of objects of this type present on this device. -- **DecisionSModeState_19H1** The total number of objects of this type present on this device. -- **DecisionSModeState_20H1** The total number of objects of this type present on this device. -- **DecisionSModeState_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSModeState_21H1** The total number of objects of this type present on this device. -- **DecisionSModeState_21H2** The total number of objects of this type present on this device. -- **DecisionSModeState_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSModeState_CO21H2** The total number of objects of this type present on this device. -- **DecisionSModeState_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSModeState_CU22H2** The total number of objects of this type present on this device. -- **DecisionSModeState_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSModeState_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSModeState_RS1** The total number of objects of this type present on this device. -- **DecisionSModeState_RS2** The total number of objects of this type present on this device. -- **DecisionSModeState_RS3** The total number of objects of this type present on this device. -- **DecisionSModeState_RS4** The total number of objects of this type present on this device. -- **DecisionSModeState_RS5** The total number of objects of this type present on this device. -- **DecisionSModeState_TH1** The total number of objects of this type present on this device. -- **DecisionSModeState_TH2** The total number of objects of this type present on this device. -- **DecisionSystemBios_19ASetup** The total number of objects of this type present on this device. -- **DecisionSystemBios_19H1** The total number of objects of this type present on this device. -- **DecisionSystemBios_19H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_20H1** The total number of objects of this type present on this device. -- **DecisionSystemBios_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_21H1** The total number of objects of this type present on this device. -- **DecisionSystemBios_21H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_21H2** The total number of objects of this type present on this device. -- **DecisionSystemBios_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_CO21H2** The total number of objects of this type present on this device. -- **DecisionSystemBios_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_CU22H2** The total number of objects of this type present on this device. -- **DecisionSystemBios_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS1** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS2** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS3** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS3Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS4** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS4Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS5** The total number of objects of this type present on this device. -- **DecisionSystemBios_RS5Setup** The total number of objects of this type present on this device. -- **DecisionSystemBios_TH1** The total number of objects of this type present on this device. -- **DecisionSystemBios_TH2** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_19H1** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_20H1** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_21H1** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_21H2** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_CO21H2** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_CU22H2** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_RS1** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_RS2** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_RS3** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_RS4** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_RS5** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_TH1** The total number of objects of this type present on this device. -- **DecisionSystemDiskSize_TH2** The total number of objects of this type present on this device. -- **DecisionSystemMemory_19H1** The total number of objects of this type present on this device. -- **DecisionSystemMemory_20H1** The total number of objects of this type present on this device. -- **DecisionSystemMemory_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemMemory_21H1** The total number of objects of this type present on this device. -- **DecisionSystemMemory_21H2** The total number of objects of this type present on this device. -- **DecisionSystemMemory_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemMemory_CO21H2** The total number of objects of this type present on this device. -- **DecisionSystemMemory_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemMemory_CU22H2** The total number of objects of this type present on this device. -- **DecisionSystemMemory_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemMemory_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemMemory_RS1** The total number of objects of this type present on this device. -- **DecisionSystemMemory_RS2** The total number of objects of this type present on this device. -- **DecisionSystemMemory_RS3** The total number of objects of this type present on this device. -- **DecisionSystemMemory_RS4** The total number of objects of this type present on this device. -- **DecisionSystemMemory_RS5** The total number of objects of this type present on this device. -- **DecisionSystemMemory_TH1** The total number of objects of this type present on this device. -- **DecisionSystemMemory_TH2** The total number of objects of this type present on this device. -- **DecisionSystemProcessor_RS2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_19H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_20H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_21H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_21H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_CO21H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_CU22H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_RS1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_RS2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_RS3** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_RS4** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_RS5** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_TH1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuCores_TH2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_19H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_20H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_21H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_21H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_CO21H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_CU22H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_RS1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_RS2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_RS3** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_RS4** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_RS5** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_TH1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuModel_TH2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_19H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_20H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_20H1Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_21H1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_21H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_CO21H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_CU22H2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_RS1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_RS2** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_RS3** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_RS4** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_RS5** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_TH1** The total number of objects of this type present on this device. -- **DecisionSystemProcessorCpuSpeed_TH2** The total number of objects of this type present on this device. -- **DecisionTest_19H1** The total number of objects of this type present on this device. -- **DecisionTest_20H1** The total number of objects of this type present on this device. -- **DecisionTest_20H1Setup** The total number of objects of this type present on this device. -- **DecisionTest_21H1** The total number of objects of this type present on this device. -- **DecisionTest_21H1Setup** The total number of objects of this type present on this device. -- **DecisionTest_21H2** The total number of objects of this type present on this device. -- **DecisionTest_21H2Setup** The total number of objects of this type present on this device. -- **DecisionTest_CO21H2** The total number of objects of this type present on this device. -- **DecisionTest_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionTest_CU22H2** The total number of objects of this type present on this device. -- **DecisionTest_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionTest_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionTest_RS1** The total number of objects of this type present on this device. -- **DecisionTest_RS2** The total number of objects of this type present on this device. -- **DecisionTest_RS3** The total number of objects of this type present on this device. -- **DecisionTest_RS4** The total number of objects of this type present on this device. -- **DecisionTest_RS5** The total number of objects of this type present on this device. -- **DecisionTest_TH1** The total number of objects of this type present on this device. -- **DecisionTest_TH2** The total number of objects of this type present on this device. -- **DecisionTpmVersion_19H1** The total number of objects of this type present on this device. -- **DecisionTpmVersion_20H1** The total number of objects of this type present on this device. -- **DecisionTpmVersion_20H1Setup** The total number of objects of this type present on this device. -- **DecisionTpmVersion_21H1** The total number of objects of this type present on this device. -- **DecisionTpmVersion_21H2** The total number of objects of this type present on this device. -- **DecisionTpmVersion_21H2Setup** The total number of objects of this type present on this device. -- **DecisionTpmVersion_CO21H2** The total number of objects of this type present on this device. -- **DecisionTpmVersion_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionTpmVersion_CU22H2** The total number of objects of this type present on this device. -- **DecisionTpmVersion_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionTpmVersion_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionTpmVersion_RS1** The total number of objects of this type present on this device. -- **DecisionTpmVersion_RS2** The total number of objects of this type present on this device. -- **DecisionTpmVersion_RS3** The total number of objects of this type present on this device. -- **DecisionTpmVersion_RS4** The total number of objects of this type present on this device. -- **DecisionTpmVersion_RS5** The total number of objects of this type present on this device. -- **DecisionTpmVersion_TH1** The total number of objects of this type present on this device. -- **DecisionTpmVersion_TH2** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_19H1** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_20H1** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_20H1Setup** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_21H1** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_21H2** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_21H2Setup** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_CO21H2** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_CO21H2Setup** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_CU22H2** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_CU22H2Setup** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_NI22H2Setup** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_RS1** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_RS2** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_RS3** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_RS4** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_RS5** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_TH1** The total number of objects of this type present on this device. -- **DecisionUefiSecureBoot_TH2** The total number of objects of this type present on this device. -- **InventoryApplicationFile** The total number of objects of this type present on this device. -- **InventoryDeviceContainer** The total number of objects of this type present on this device. -- **InventoryDevicePnp** The total number of objects of this type present on this device. -- **InventoryDriverBinary** The total number of objects of this type present on this device. -- **InventoryDriverPackage** The total number of objects of this type present on this device. -- **InventoryLanguagePack** The total number of objects of this type present on this device. -- **InventoryMediaCenter** The total number of objects of this type present on this device. -- **InventorySystemBios** The total number of objects of this type present on this device. -- **InventorySystemMachine** The total number of objects of this type present on this device. -- **InventorySystemProcessor** The total number of objects of this type present on this device. -- **InventoryTest** The total number of objects of this type present on this device. -- **InventoryUplevelDriverPackage** The total number of objects of this type present on this device. -- **PCFP** The total number of objects of this type present on this device. -- **SystemMemory** The total number of objects of this type present on this device. -- **SystemProcessorCompareExchange** The total number of objects of this type present on this device. -- **SystemProcessorLahfSahf** The total number of objects of this type present on this device. -- **SystemProcessorNx** The total number of objects of this type present on this device. -- **SystemProcessorPrefetchW** The total number of objects of this type present on this device. -- **SystemProcessorSse2** The total number of objects of this type present on this device. -- **SystemTouch** The total number of objects of this type present on this device. -- **SystemWim** The total number of objects of this type present on this device. -- **SystemWindowsActivationStatus** The total number of objects of this type present on this device. -- **SystemWlan** The total number of objects of this type present on this device. -- **Wmdrm_19H1** The total number of objects of this type present on this device. -- **Wmdrm_19H1Setup** The total number of objects of this type present on this device. -- **Wmdrm_20H1** The total number of objects of this type present on this device. -- **Wmdrm_20H1Setup** The total number of objects of this type present on this device. -- **Wmdrm_21H1** The total number of objects of this type present on this device. -- **Wmdrm_21H1Setup** The total number of objects of this type present on this device. -- **Wmdrm_21H2** The total number of objects of this type present on this device. -- **Wmdrm_21H2Setup** The total number of objects of this type present on this device. -- **Wmdrm_CO21H2** The total number of objects of this type present on this device. -- **Wmdrm_CO21H2Setup** The total number of objects of this type present on this device. -- **Wmdrm_CU22H2** The total number of objects of this type present on this device. -- **Wmdrm_CU22H2Setup** The total number of objects of this type present on this device. -- **Wmdrm_NI22H2Setup** The total number of objects of this type present on this device. -- **Wmdrm_RS1** The total number of objects of this type present on this device. -- **Wmdrm_RS2** The total number of objects of this type present on this device. -- **Wmdrm_RS3** The total number of objects of this type present on this device. -- **Wmdrm_RS4** The total number of objects of this type present on this device. -- **Wmdrm_RS5** The total number of objects of this type present on this device. -- **Wmdrm_TH1** The total number of objects of this type present on this device. -- **Wmdrm_TH2** The total number of objects of this type present on this device. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd - -This event represents the basic metadata about specific application files installed on the system. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **AvDisplayName** If the app is an anti-virus app, this is its display name. -- **CompatModelIndex** The compatibility prediction for this file. -- **HasCitData** Indicates whether the file is present in CIT data. -- **HasUpgradeExe** Indicates whether the anti-virus app has an upgrade.exe file. -- **IsAv** Is the file an anti-virus reporting EXE? -- **ResolveAttempted** This will always be an empty string when sending diagnostic data. -- **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileRemove - -This event indicates that the DatasourceApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileStartSync - -This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd - -This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **AppraiserVersion** The version of the appraiser file generating the events. -- **IsBootCritical** Indicates whether the device boot is critical. -- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. -- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove - -This event indicates that the DatasourceDevicePnp object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpStartSync - -This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd - -This event sends compatibility database data about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove - -This event indicates that the DatasourceDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageStartSync - -This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd - -This event sends blocking data about any compatibility blocking entries on the system that are not directly related to specific applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **ResolveAttempted** This will always be an empty string when sending diagnostic data. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove - -This event indicates that the DataSourceMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events has completed being sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd - -This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. This event is used to make compatibility decisions about files to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd - -This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosAdd - -This event sends compatibility database information about the BIOS to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove - -This event indicates that the DatasourceSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosStartSync - -This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileAdd - -This event sends compatibility decision data about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file that is generating the events. -- **BlockAlreadyInbox** The uplevel runtime block on the file already existed on the current OS. -- **BlockingApplication** Indicates whether there are any application issues that interfere with the upgrade due to the file in question. -- **DisplayGenericMessage** Will be a generic message be shown for this file? -- **DisplayGenericMessageGated** Indicates whether a generic message be shown for this file. -- **HardBlock** This file is blocked in the SDB. -- **HasUxBlockOverride** Does the file have a block that is overridden by a tag in the SDB? -- **MigApplication** Does the file have a MigXML from the SDB associated with it that applies to the current upgrade mode? -- **MigRemoval** Does the file have a MigXML from the SDB that will cause the app to be removed on upgrade? -- **NeedsDismissAction** Will the file cause an action that can be dismissed? -- **NeedsInstallPostUpgradeData** After upgrade, the file will have a post-upgrade notification to install a replacement for the app. -- **NeedsNotifyPostUpgradeData** Does the file have a notification that should be shown after upgrade? -- **NeedsReinstallPostUpgradeData** After upgrade, this file will have a post-upgrade notification to reinstall the app. -- **NeedsUninstallAction** The file must be uninstalled to complete the upgrade. -- **SdbBlockUpgrade** The file is tagged as blocking upgrade in the SDB, -- **SdbBlockUpgradeCanReinstall** The file is tagged as blocking upgrade in the SDB. It can be reinstalled after upgrade. -- **SdbBlockUpgradeUntilUpdate** The file is tagged as blocking upgrade in the SDB. If the app is updated, the upgrade can proceed. -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the SDB. It does not block upgrade. -- **SdbReinstallUpgradeWarn** The file is tagged as needing to be reinstalled after upgrade with a warning in the SDB. It does not block upgrade. -- **SoftBlock** The file is softblocked in the SDB and has a warning. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove - -This event indicates that the DecisionApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionApplicationFileStartSync - -This event indicates that a new set of DecisionApplicationFileAdd events will be sent. This event is used to make compatibility decisions about a file to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpAdd - -This event sends compatibility decision data about a Plug and Play (PNP) device to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **AssociatedDriverIsBlocked** Is the driver associated with this PNP device blocked? -- **AssociatedDriverWillNotMigrate** Will the driver associated with this plug-and-play device migrate? -- **BlockAssociatedDriver** Should the driver associated with this PNP device be blocked? -- **BlockingDevice** Is this PNP device blocking upgrade? -- **BlockUpgradeIfDriverBlocked** Is the PNP device both boot critical and does not have a driver included with the OS? -- **BlockUpgradeIfDriverBlockedAndOnlyActiveNetwork** Is this PNP device the only active network device? -- **DisplayGenericMessage** Will a generic message be shown during Setup for this PNP device? -- **DisplayGenericMessageGated** Indicates whether a generic message will be shown during Setup for this PNP device. -- **DriverAvailableInbox** Is a driver included with the operating system for this PNP device? -- **DriverAvailableOnline** Is there a driver for this PNP device on Windows Update? -- **DriverAvailableUplevel** Is there a driver on Windows Update or included with the operating system for this PNP device? -- **DriverBlockOverridden** Is there is a driver block on the device that has been overridden? -- **NeedsDismissAction** Will the user would need to dismiss a warning during Setup for this device? -- **NotRegressed** Does the device have a problem code on the source OS that is no better than the one it would have on the target OS? -- **SdbDeviceBlockUpgrade** Is there an SDB block on the PNP device that blocks upgrade? -- **SdbDriverBlockOverridden** Is there an SDB block on the PNP device that blocks upgrade, but that block was overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpRemove - -This event Indicates that the DecisionDevicePnp object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync - -This event indicates that a new set of DecisionDevicePnpAdd events will be sent. This event is used to make compatibility decisions about PNP devices to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd - -This event sends decision data about driver package compatibility to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for this driver package. -- **DriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? -- **DriverIsDeviceBlocked** Was the driver package was blocked because of a device block? -- **DriverIsDriverBlocked** Is the driver package blocked because of a driver block? -- **DriverShouldNotMigrate** Should the driver package be migrated during upgrade? -- **SdbDriverBlockOverridden** Does the driver package have an SDB block that blocks it from migrating, but that block has been overridden? - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageRemove - -This event indicates that the DecisionDriverPackage object represented by the objectInstanceId is no longer present. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionDriverPackageStartSync - -The DecisionDriverPackageStartSync event indicates that a new set of DecisionDriverPackageAdd events will be sent. This event is used to make compatibility decisions about driver packages to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd - -This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **BlockingApplication** Are there are any application issues that interfere with upgrade due to matching info blocks? -- **DisplayGenericMessage** Will a generic message be shown for this block? -- **NeedsDismissAction** Will the file cause an action that can be dismissed? -- **NeedsUninstallAction** Does the user need to take an action in setup due to a matching info block? -- **SdbBlockUpgrade** Is a matching info block blocking upgrade? -- **SdbBlockUpgradeCanReinstall** Is a matching info block blocking upgrade, but has the can reinstall tag? -- **SdbBlockUpgradeUntilUpdate** Is a matching info block blocking upgrade but has the until update tag? -- **SdbReinstallUpgradeWarn** The file is tagged as needing to be reinstalled after upgrade with a warning in the SDB. It does not block upgrade. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockRemove - -This event indicates that the DecisionMatchingInfoBlock object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockStartSync - -This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveAdd - -This event sends compatibility decision data about non-blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Are there any application issues that interfere with upgrade due to matching info blocks? -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown due to matching info blocks. -- **MigApplication** Is there a matching info block with a mig for the current mode of upgrade? - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveRemove - -This event Indicates that the DecisionMatchingInfoPassive object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPassiveStartSync - -This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd - -This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **NeedsInstallPostUpgradeData** Will the file have a notification after upgrade to install a replacement for the app? -- **NeedsNotifyPostUpgradeData** Should a notification be shown for this file after upgrade? -- **NeedsReinstallPostUpgradeData** Will the file have a notification after upgrade to reinstall the app? -- **SdbReinstallUpgrade** The file is tagged as needing to be reinstalled after upgrade in the compatibility database (but is not blocking upgrade). - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeRemove - -This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd - -This event sends decision data about the presence of Windows Media Center, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **BlockingApplication** Is there any application issues that interfere with upgrade due to Windows Media Center? -- **MediaCenterActivelyUsed** If Windows Media Center is supported on the edition, has it been run at least once and are the MediaCenterIndicators are true? -- **MediaCenterIndicators** Do any indicators imply that Windows Media Center is in active use? -- **MediaCenterInUse** Is Windows Media Center actively being used? -- **MediaCenterPaidOrActivelyUsed** Is Windows Media Center actively being used or is it running on a supported edition? -- **NeedsDismissAction** Are there any actions that can be dismissed coming from Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterRemove - -This event indicates that the DecisionMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionMediaCenterStartSync - -This event indicates that a new set of DecisionMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSModeStateAdd - -This event sends true/false compatibility decision data about the S mode state. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Appraiser decision about eligibility to upgrade. -- **LockdownMode** S mode lockdown mode. - - -### Microsoft.Windows.Appraiser.General.DecisionSModeStateStartSync - -The DecisionSModeStateStartSync event indicates that a new set of DecisionSModeStateAdd events will be sent. This event is used to make compatibility decisions about the S mode state. Microsoft uses this information to understand and address problems regarding the S mode state for computers receiving updates. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd - -This event sends compatibility decision data about the BIOS to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device blocked from upgrade due to a BIOS block? -- **DisplayGenericMessageGated** Indicates whether a generic offer block message will be shown for the bios. -- **HasBiosBlock** Does the device have a BIOS block? - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosRemove - -This event indicates that the DecisionSystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemBiosStartSync - -This event indicates that a new set of DecisionSystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemDiskSizeAdd - -This event indicates that this object type was added. This data refers to the Disk size in the device. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Blocking** Appraiser decision for upgrade experience marker. -- **TotalSize** Disk size in Gb. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemDiskSizeStartSync - -Start sync event for physical disk size data. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemMemoryAdd - -This event sends compatibility decision data about the system memory to help keep Windows up to date. Microsoft uses this information to understand and address problems regarding system memory for computers receiving updates. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Blocking** Blocking information. -- **MemoryRequirementViolated** Memory information. -- **ramKB** Memory information in KB. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemMemoryStartSync - -The DecisionSystemMemoryStartSync event indicates that a new set of DecisionSystemMemoryAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemProcessorCpuCoresAdd - -This data attribute refers to the number of Cores a CPU supports. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Blocking** The Appraisal decision about eligibility to upgrade. -- **CpuCores** Number of CPU Cores. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemProcessorCpuCoresStartSync - -This event signals the start of telemetry collection for CPU cores in Appraiser. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemProcessorCpuModelAdd - -This event sends true/false compatibility decision data about the CPU. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Armv81Support** Arm v8.1 Atomics support. -- **Blocking** Appraiser decision about eligibility to upgrade. -- **CpuFamily** Cpu family. -- **CpuModel** Cpu model. -- **CpuStepping** Cpu stepping. -- **CpuVendor** Cpu vendor. -- **PlatformId** CPU platform identifier. -- **ProcessorName** OEM processor name. -- **ProductName** OEM product name. -- **SysReqOverride** Appraiser decision about system requirements override. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemProcessorCpuModelStartSync - -The DecisionSystemProcessorCpuModelStartSync event indicates that a new set of DecisionSystemProcessorCpuModelAdd events will be sent. This event is used to make compatibility decisions about the CPU. Microsoft uses this information to understand and address problems regarding the CPU for computers receiving updates. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemProcessorCpuSpeedAdd - -This event sends compatibility decision data about the CPU, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Blocking** Appraiser OS eligibility decision. -- **Mhz** CPU speed in MHz. - - -### Microsoft.Windows.Appraiser.General.DecisionSystemProcessorCpuSpeedStartSync - -This event collects data for CPU speed in MHz. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestAdd - -This event provides diagnostic data for testing decision add events. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary generating the events. -- **TestDecisionDataPoint1** Test data point 1. -- **TestDecisionDataPoint2** Test data point 2. - - -### Microsoft.Windows.Appraiser.General.DecisionTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionTpmVersionAdd - -This event collects data about the Trusted Platform Module (TPM) in the device. TPM technology is designed to provide hardware-based, security-related functions. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Blocking** Appraiser upgradeability decision based on the device's TPM support. -- **SysReqOverride** Appraiser decision about system requirements override. -- **TpmVersionInfo** The version of Trusted Platform Module (TPM) technology in the device. - - -### Microsoft.Windows.Appraiser.General.DecisionTpmVersionStartSync - -The DecisionTpmVersionStartSync event indicates that a new set of DecisionTpmVersionAdd events will be sent. This event is used to make compatibility decisions about the TPM. Microsoft uses this information to understand and address problems regarding the TPM for computers receiving updates. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DecisionUefiSecureBootAdd - -This event collects information about data on support and state of UEFI Secure boot. UEFI is a verification mechanism for ensuring that code launched by firmware is trusted. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. -- **Blocking** Appraiser upgradeability decision when checking for UEFI support. -- **SecureBootCapable** Is UEFI supported? -- **SecureBootEnabled** Is UEFI enabled? - - -### Microsoft.Windows.Appraiser.General.DecisionUefiSecureBootStartSync - -Start sync event data for UEFI Secure boot. UEFI is a verification mechanism for ensuring that code launched by firmware is trusted. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.GatedRegChange - -This event sends data about the results of running a set of quick-blocking instructions, to help keep Windows up to date. - -The following fields are available: - -- **NewData** The data in the registry value after the scan completed. -- **OldData** The previous data in the registry value before the scan ran. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **RegKey** The registry key name for which a result is being sent. -- **RegValue** The registry value for which a result is being sent. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd - -This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or be part of an antivirus program. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **AvDisplayName** If the app is an antivirus app, this is its display name. -- **AvProductState** Indicates whether the antivirus program is turned on and the signatures are up to date. -- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64. -- **BinFileVersion** An attempt to clean up FileVersion at the client that tries to place the version into 4 octets. -- **BinProductVersion** An attempt to clean up ProductVersion at the client that tries to place the version into 4 octets. -- **BoeProgramId** If there is no entry in Add/Remove Programs, this is the ProgramID that is generated from the file metadata. -- **CompanyName** The company name of the vendor who developed this file. -- **FileId** A hash that uniquely identifies a file. -- **FileVersion** The File version field from the file metadata under Properties -> Details. -- **HasUpgradeExe** Indicates whether the antivirus app has an upgrade.exe file. -- **IsAv** Indicates whether the file an antivirus reporting EXE. -- **LinkDate** The date and time that this file was linked on. -- **LowerCaseLongPath** The full file path to the file that was inventoried on the device. -- **Name** The name of the file that was inventoried. -- **ProductName** The Product name field from the file metadata under Properties -> Details. -- **ProductVersion** The Product version field from the file metadata under Properties -> Details. -- **ProgramId** A hash of the Name, Version, Publisher, and Language of an application used to identify it. -- **Size** The size of the file (in hexadecimal bytes). - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileRemove - -This event indicates that the InventoryApplicationFile object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync - -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd - -This event sends data about the number of language packs installed on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **HasLanguagePack** Indicates whether this device has 2 or more language packs. -- **LanguagePackCount** The number of language packs are installed. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove - -This event indicates that the InventoryLanguagePack object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryLanguagePackStartSync - -This event indicates that a new set of InventoryLanguagePackAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterAdd - -This event sends true/false data about decision points used to understand whether Windows Media Center is used on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **EverLaunched** Has Windows Media Center ever been launched? -- **HasConfiguredTv** Has the user configured a TV tuner through Windows Media Center? -- **HasExtendedUserAccounts** Are any Windows Media Center Extender user accounts configured? -- **HasWatchedFolders** Are any folders configured for Windows Media Center to watch? -- **IsDefaultLauncher** Is Windows Media Center the default app for opening music or video files? -- **IsPaid** Is the user running a Windows Media Center edition that implies they paid for Windows Media Center? -- **IsSupported** Does the running OS support Windows Media Center? - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterRemove - -This event indicates that the InventoryMediaCenter object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryMediaCenterStartSync - -This event indicates that a new set of InventoryMediaCenterAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosAdd - -This event sends basic metadata about the BIOS to determine whether it has a compatibility block. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BiosDate** The release date of the BIOS in UTC format. -- **BiosName** The name field from Win32_BIOS. -- **Manufacturer** The manufacturer field from Win32_ComputerSystem. -- **Model** The model field from Win32_ComputerSystem. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove - -This event indicates that the InventorySystemBios object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemBiosStartSync - -This event indicates that a new set of InventorySystemBiosAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemProcessorEndSync - -This event indicates that a full set of InventorySystemProcessorAdd events has been sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventorySystemProcessorStartSync - -This event indicates that a new set of InventorySystemProcessorAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryTestAdd - -This event provides diagnostic data for testing event adds. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the component sending the data. -- **TestInvDataPoint1** Test inventory data point 1. -- **TestInvDataPoint2** Test inventory data point 2. - - -### Microsoft.Windows.Appraiser.General.InventoryTestRemove - -This event provides data that allows testing of “Remove” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryTestStartSync - -This event provides data that allows testing of “Start Sync” decisions to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser binary (executable) generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd - -This event runs only during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. It is critical in understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BootCritical** Is the driver package marked as boot critical? -- **Build** The build value from the driver package. -- **CatalogFile** The name of the catalog file within the driver package. -- **Class** The device class from the driver package. -- **ClassGuid** The device class unique ID from the driver package. -- **Date** The date from the driver package. -- **Inbox** Is the driver package of a driver that is included with Windows? -- **OriginalName** The original name of the INF file before it was renamed. Generally a path under $WINDOWS.~BT\Drivers\DU. -- **Provider** The provider of the driver package. -- **PublishedName** The name of the INF file after it was renamed. -- **Revision** The revision of the driver package. -- **SignatureStatus** Indicates if the driver package is signed. Unknown = 0, Unsigned = 1, Signed = 2. -- **VersionMajor** The major version of the driver package. -- **VersionMinor** The minor version of the driver package. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove - -This event indicates that the InventoryUplevelDriverPackage object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageStartSync - -This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.RunContext - -This event is sent at the beginning of an appraiser run, the RunContext indicates what should be expected in the following data payload. This event is used with the other Appraiser events to make compatibility decisions to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the currently running version of Appraiser was built. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **CensusId** A unique hardware identifier. -- **Context** Indicates what mode Appraiser is running in. Example: Setup or Telemetry. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **Subcontext** Indicates what categories of incompatibilities appraiser is scanning for. Can be N/A, Resolve, or a semicolon-delimited list that can include App, Dev, Sys, Gat, or Rescan. -- **Time** The client time of the event. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryAdd - -This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the device from upgrade due to memory restrictions? -- **MemoryRequirementViolated** Was a memory requirement violated? -- **pageFile** The current committed memory limit for the system or the current process, whichever is smaller (in bytes). -- **ram** The amount of memory on the device. -- **ramKB** The amount of memory (in KB). -- **virtual** The size of the user-mode portion of the virtual address space of the calling process (in bytes). -- **virtualKB** The amount of virtual memory (in KB). - - -### Microsoft.Windows.Appraiser.General.SystemMemoryRemove - -This event that the SystemMemory object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemMemoryStartSync - -This event indicates that a new set of SystemMemoryAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeAdd - -This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **CompareExchange128Support** Does the CPU support CompareExchange128? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove - -This event indicates that the SystemProcessorCompareExchange object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeStartSync - -This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfAdd - -This event sends data indicating whether the system supports the LAHF & SAHF CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **LahfSahfSupport** Does the CPU support LAHF/SAHF? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove - -This event indicates that the SystemProcessorLahfSahf object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfStartSync - -This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxAdd - -This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **NXDriverResult** The result of the driver used to do a non-deterministic check for NX support. -- **NXProcessorSupport** Does the processor support NX? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxRemove - -This event indicates that the SystemProcessorNx object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorNxStartSync - -This event indicates that a new set of SystemProcessorNxAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd - -This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **PrefetchWSupport** Does the processor support PrefetchW? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWRemove - -This event indicates that the SystemProcessorPrefetchW object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWStartSync - -This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add - -This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked due to the processor? -- **SSE2ProcessorSupport** Does the processor support SSE2? - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Remove - -This event indicates that the SystemProcessorSse2 object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemProcessorSse2StartSync - -This event indicates that a new set of SystemProcessorSse2Add events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchAdd - -This event sends data indicating whether the system supports touch, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IntegratedTouchDigitizerPresent** Is there an integrated touch digitizer? -- **MaximumTouches** The maximum number of touch points supported by the device hardware. - - -### Microsoft.Windows.Appraiser.General.SystemTouchRemove - -This event indicates that the SystemTouch object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemTouchStartSync - -This event indicates that a new set of SystemTouchAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimAdd - -This event sends data indicating whether the operating system is running from a compressed Windows Imaging Format (WIM) file, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **IsWimBoot** Is the current operating system running from a compressed WIM file? -- **RegistryWimBootValue** The raw value from the registry that is used to indicate if the device is running from a WIM. - - -### Microsoft.Windows.Appraiser.General.SystemWimRemove - -This event indicates that the SystemWim object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWimStartSync - -This event indicates that a new set of SystemWimAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd - -This event sends data indicating whether the current operating system is activated, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **WindowsIsLicensedApiValue** The result from the API that's used to indicate if operating system is activated. -- **WindowsNotActivatedDecision** Is the current operating system activated? - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusRemove - -This event indicates that the SystemWindowsActivationStatus object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusStartSync - -This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanAdd - -This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? -- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? -- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? -- **WlanExists** Does the device support WLAN at all? -- **WlanModulePresent** Are any WLAN modules present? -- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? - - -### Microsoft.Windows.Appraiser.General.SystemWlanRemove - -This event indicates that the SystemWlan object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.SystemWlanStartSync - -This event indicates that a new set of SystemWlanAdd events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.TelemetryRunHealth - -This event indicates the parameters and result of a diagnostic data run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. - -The following fields are available: - -- **AppraiserBranch** The source branch in which the version of Appraiser that is running was built. -- **AppraiserDataVersion** The version of the data files being used by the Appraiser diagnostic data run. -- **AppraiserProcess** The name of the process that launched Appraiser. -- **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false. -- **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. -- **CountCustomSdbs** The number of custom Sdbs used by Appraiser. -- **CustomSdbGuids** Guids of the custom Sdbs used by Appraiser; Semicolon delimited list. -- **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. -- **EnterpriseRun** Indicates whether the diagnostic data run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. -- **FullSync** Indicates if Appraiser is performing a full sync, which means that full set of events representing the state of the machine are sent. Otherwise, only the changes from the previous run are sent. -- **InboxDataVersion** The original version of the data files before retrieving any newer version. -- **IndicatorsWritten** Indicates if all relevant UEX indicators were successfully written or updated. -- **InventoryFullSync** Indicates if inventory is performing a full sync, which means that the full set of events representing the inventory of machine are sent. -- **PCFP** An ID for the system calculated by hashing hardware identifiers. -- **PerfBackoff** Indicates if the run was invoked with logic to stop running when a user is present. Helps to understand why a run may have a longer elapsed time than normal. -- **PerfBackoffInsurance** Indicates if appraiser is running without performance backoff because it has run with perf backoff and failed to complete several times in a row. -- **RunAppraiser** Indicates if Appraiser was set to run at all. If this if false, it is understood that data events will not be received from this device. -- **RunDate** The date that the diagnostic data run was stated, expressed as a filetime. -- **RunGeneralTel** Indicates if the generaltel.dll component was run. Generaltel collects additional diagnostic data on an infrequent schedule and only from machines at diagnostic data levels higher than Basic. -- **RunOnline** Indicates if appraiser was able to connect to Windows Update and theefore is making decisions using up-to-date driver coverage information. -- **RunResult** The hresult of the Appraiser diagnostic data run. -- **ScheduledUploadDay** The day scheduled for the upload. -- **SendingUtc** Indicates whether the Appraiser client is sending events during the current diagnostic data run. -- **StoreHandleIsNotNull** Obsolete, always set to false -- **TelementrySent** Indicates whether diagnostic data was successfully sent. -- **ThrottlingUtc** Indicates whether the Appraiser client is throttling its output of CUET events to avoid being disabled. This increases runtime but also diagnostic data reliability. -- **Time** The client time of the event. -- **VerboseMode** Indicates if appraiser ran in Verbose mode, which is a test-only mode with extra logging. -- **WhyFullSyncWithoutTablePrefix** Indicates the reason or reasons that a full sync was generated. - - -### Microsoft.Windows.Appraiser.General.WmdrmAdd - -This event sends data about the usage of older digital rights management on the system, to help keep Windows up to date. This data does not indicate the details of the media using the digital rights management, only whether any such files exist. Collecting this data was critical to ensuring the correct mitigation for customers, and should be able to be removed once all mitigations are in place. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Same as NeedsDismissAction. -- **NeedsDismissAction** Indicates if a dismissible message is needed to warn the user about a potential loss of data due to DRM deprecation. -- **WmdrmApiResult** Raw value of the API used to gather DRM state. -- **WmdrmCdRipped** Indicates if the system has any files encrypted with personal DRM, which was used for ripped CDs. -- **WmdrmIndicators** WmdrmCdRipped OR WmdrmPurchased. -- **WmdrmInUse** WmdrmIndicators AND dismissible block in setup was not dismissed. -- **WmdrmNonPermanent** Indicates if the system has any files with non-permanent licenses. -- **WmdrmPurchased** Indicates if the system has any files with permanent licenses. - - -### Microsoft.Windows.Appraiser.General.WmdrmRemove - -This event indicates that the Wmdrm object is no longer present. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.WmdrmStartSync - -The WmdrmStartSync event indicates that a new set of WmdrmAdd events will be sent. This event is used to understand the usage of older digital rights management on the system, to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -## Audio endpoint events - -### MicArrayGeometry - -This event provides information about the layout of the individual microphone elements in the microphone array. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **MicCoords** The location and orientation of the microphone element. -- **usFrequencyBandHi** The high end of the frequency range for the microphone. -- **usFrequencyBandLo** The low end of the frequency range for the microphone. -- **usMicArrayType** The type of the microphone array. -- **usNumberOfMicrophones** The number of microphones in the array. -- **usVersion** The version of the microphone array specification. -- **wHorizontalAngleBegin** The horizontal angle of the start of the working volume (reported as radians times 10,000). -- **wHorizontalAngleEnd** The horizontal angle of the end of the working volume (reported as radians times 10,000). -- **wVerticalAngleBegin** The vertical angle of the start of the working volume (reported as radians times 10,000). -- **wVerticalAngleEnd** The vertical angle of the end of the working volume (reported as radians times 10,000). - - -### MicCoords - -This event provides information about the location and orientation of the microphone element. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **usType** The type of microphone. -- **wHorizontalAngle** The horizontal angle of the microphone (reported as radians times 10,000). -- **wVerticalAngle** The vertical angle of the microphone (reported as radians times 10,000). -- **wXCoord** The x-coordinate of the microphone. -- **wYCoord** The y-coordinate of the microphone. -- **wZCoord** The z-coordinate of the microphone. - - -### Microsoft.Windows.Audio.EndpointBuilder.DeviceInfo - -This event logs the successful enumeration of an audio endpoint (such as a microphone or speaker) and provides information about the audio endpoint. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BusEnumeratorName** The name of the bus enumerator (for example, HDAUDIO or USB). -- **ContainerId** An identifier that uniquely groups the functional devices associated with a single-function or multifunction device. -- **DeviceInstanceId** The unique identifier for this instance of the device. -- **EndpointDevnodeId** The IMMDevice identifier of the associated devnode. -- **endpointEffectClsid** The COM Class Identifier (CLSID) for the endpoint effect audio processing object. -- **endpointEffectModule** Module name for the endpoint effect audio processing object. -- **EndpointFormFactor** The enumeration value for the form factor of the endpoint device (for example speaker, microphone, remote network device). -- **endpointID** The unique identifier for the audio endpoint. -- **endpointInstanceId** The unique identifier for the software audio endpoint. Used for joining to other audio event. -- **Flow** Indicates whether the endpoint is capture (1) or render (0). -- **globalEffectClsid** COM Class Identifier (CLSID) for the legacy global effect audio processing object. -- **globalEffectModule** Module name for the legacy global effect audio processing object. -- **HWID** The hardware identifier for the endpoint. -- **IsBluetooth** Indicates whether the device is a Bluetooth device. -- **isFarField** A flag indicating whether the microphone endpoint is capable of hearing far field audio. -- **IsSideband** Indicates whether the device is a sideband device. -- **IsUSB** Indicates whether the device is a USB device. -- **JackSubType** A unique ID representing the KS node type of the endpoint. -- **localEffectClsid** The COM Class Identifier (CLSID) for the legacy local effect audio processing object. -- **localEffectModule** Module name for the legacy local effect audio processing object. -- **MicArrayGeometry** Describes the microphone array, including the microphone position, coordinates, type, and frequency range. See [MicArrayGeometry](#micarraygeometry). -- **modeEffectClsid** The COM Class Identifier (CLSID) for the mode effect audio processing object. -- **modeEffectModule** Module name for the mode effect audio processing object. -- **persistentId** A unique ID for this endpoint which is retained across migrations. -- **streamEffectClsid** The COM Class Identifier (CLSID) for the stream effect audio processing object. -- **streamEffectModule** Module name for the stream effect audio processing object. - - -## Census events - -### Census.App - -This event sends version data about the Apps running on this device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. -- **AppraiserErrorCode** The error code of the last Appraiser run. -- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. -- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. -- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. -- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. -- **AppraiserTaskExitCode** The Appraiser task exist code. -- **AppraiserTaskLastRun** The last runtime for the Appraiser task. -- **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** The version of Internet Explorer that is running on the device. - - -### Census.Azure - -This event returns data from Microsoft-internal Azure server machines (only from Microsoft-internal machines with Server SKUs). All other machines (those outside Microsoft and/or machines that are not part of the “Azure fleet”) return empty data sets. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **CloudCoreBuildEx** The Azure CloudCore build number. -- **CloudCoreSupportBuildEx** The Azure CloudCore support build number. -- **NodeID** The node identifier on the device that indicates whether the device is part of the Azure fleet. - - -### Census.Battery - -This event sends type and capacity data about the battery on the device, as well as the number of connected standby devices in use. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalBatteryCapablities** Represents information about what the battery is capable of doing. -- **InternalBatteryCapacityCurrent** Represents the battery's current fully charged capacity in mWh (or relative). Compare this value to DesignedCapacity  to estimate the battery's wear. -- **InternalBatteryCapacityDesign** Represents the theoretical capacity of the battery when new, in mWh. -- **InternalBatteryNumberOfCharges** Provides the number of battery charges. This is used when creating new products and validating that existing products meets targeted functionality performance. -- **IsAlwaysOnAlwaysConnectedCapable** Represents whether the battery enables the device to be AlwaysOnAlwaysConnected . Boolean value. - - -### Census.Enterprise - -This event sends data about Azure presence, type, and cloud domain use in order to provide an understanding of the use and integration of devices in an enterprise, cloud, and server environment. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AADDeviceId** Azure Active Directory device ID. -- **AzureOSIDPresent** Represents the field used to identify an Azure machine. -- **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. -- **CDJType** Represents the type of cloud domain joined for the machine. -- **CommercialId** Represents the GUID for the commercial entity which the device is a member of.  Will be used to reflect insights back to customers. -- **ContainerType** The type of container, such as process or virtual machine hosted. -- **EnrollmentType** Defines the type of MDM enrollment on the device. -- **HashedDomain** The hashed representation of the user domain used for login. -- **IsCloudDomainJoined** Is this device joined to an Azure Active Directory (AAD) tenant? true/false -- **IsDERequirementMet** Represents if the device can do device encryption. -- **IsDeviceProtected** Represents if Device protected by BitLocker/Device Encryption -- **IsDomainJoined** Indicates whether a machine is joined to a domain. -- **IsEDPEnabled** Represents if Enterprise data protected on the device. -- **IsMDMEnrolled** Whether the device has been MDM Enrolled or not. -- **MDMServiceProvider** A hash of the specific MDM authority, such as Microsoft Intune, that is managing the device. -- **MPNId** Returns the Partner ID/MPN ID from Regkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DeployID -- **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an enterprise Configuration Manager environment. -- **ServerFeatures** Represents the features installed on a Windows Server. This can be used by developers and administrators who need to automate the process of determining the features installed on a set of server computers. -- **SystemCenterID** The Configuration Manager ID is an anonymized one-way hash of the Active Directory Organization identifier - - -### Census.Firmware - -This event sends data about the BIOS and startup embedded in the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FirmwareManufacturer** Represents the manufacturer of the device's firmware (BIOS). -- **FirmwareReleaseDate** Represents the date the current firmware was released. -- **FirmwareType** Represents the firmware type. The various types can be unknown, BIOS, UEFI. -- **FirmwareVersion** Represents the version of the current firmware. - - -### Census.Flighting - -This event sends Windows Insider data from customers participating in improvement testing and feedback programs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceSampleRate** The telemetry sample rate assigned to the device. -- **DriverTargetRing** Indicates if the device is participating in receiving pre-release drivers and firmware contrent. -- **EnablePreviewBuilds** Used to enable Windows Insider builds on a device. -- **FlightIds** A list of the different Windows Insider builds on this device. -- **FlightingBranchName** The name of the Windows Insider branch currently used by the device. -- **IsFlightsDisabled** Represents if the device is participating in the Windows Insider program. -- **MSA_Accounts** Represents a list of hashed IDs of the Microsoft Accounts that are flighting (pre-release builds) on this device. -- **SSRK** Retrieves the mobile targeting settings. - - -### Census.Hardware - -This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActiveMicCount** The number of active microphones attached to the device. -- **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. -- **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. -- **D3DMaxFeatureLevel** Supported Direct3D version. -- **DeviceColor** Indicates a color of the device. -- **DeviceForm** Indicates the form as per the device classification. -- **DeviceName** The device name that is set by the user. -- **DigitizerSupport** Is a digitizer supported? -- **DUID** The device unique ID. -- **EnclosureKind** Windows.Devices.Enclosure.EnclosureKind enum values representing each unique enclosure posture kind. -- **Gyroscope** Indicates whether the device has a gyroscope (a mechanical component that measures and maintains orientation). -- **InventoryId** The device ID used for compatibility testing. -- **Magnetometer** Indicates whether the device has a magnetometer (a mechanical component that works like a compass). -- **NFCProximity** Indicates whether the device supports NFC (a set of communication protocols that helps establish communication when applicable devices are brought close together.) -- **OEMDigitalMarkerFileName** The name of the file placed in the \Windows\system32\drivers directory that specifies the OEM and model name of the device. -- **OEMManufacturerName** The device manufacturer name. The OEMName for an inactive device is not reprocessed even if the clean OEM name is changed at a later date. -- **OEMModelBaseBoard** The baseboard model used by the OEM. -- **OEMModelBaseBoardVersion** Differentiates between developer and retail devices. -- **OEMModelName** The device model name. -- **OEMModelNumber** The device model number. -- **OEMModelSKU** The device edition that is defined by the manufacturer. -- **OEMModelSystemFamily** The system family set on the device by an OEM. -- **OEMModelSystemVersion** The system model version set on the device by the OEM. -- **OEMOptionalIdentifier** A Microsoft assigned value that represents a specific OEM subsidiary. -- **OEMSerialNumber** The serial number of the device that is set by the manufacturer. -- **PhoneManufacturer** The friendly name of the phone manufacturer. -- **PowerPlatformRole** The OEM preferred power management profile. It's used to help to identify the basic form factor of the device. -- **SoCName** The firmware manufacturer of the device. -- **StudyID** Used to identify retail and non-retail device. -- **TelemetryLevel** The telemetry level the user has opted into, such as Basic or Enhanced. -- **TelemetryLevelLimitEnhanced** The telemetry level for Windows Analytics-based solutions. -- **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. -- **TPMManufacturerId** The ID of the TPM manufacturer. -- **TPMManufacturerVersion** The version of the TPM manufacturer. -- **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. -- **VoiceSupported** Does the device have a cellular radio capable of making voice calls? - - -### Census.Memory - -This event sends data about the memory on the device, including ROM and RAM. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **TotalPhysicalRAM** Represents the physical memory (in MB). -- **TotalVisibleMemory** Represents the memory that is not reserved by the system. - - -### Census.Network - -This event sends data about the mobile and cellular network used by the device (mobile service provider, network, device ID, and service cost factors). The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CellularModemHWInstanceId0** HardwareInstanceId of the embedded Mobile broadband modem, as reported and used by PnP system to identify the WWAN modem device in Windows system. Empty string (null string) indicates that this property is unknown for telemetry. -- **IMEI0** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **IMEI1** Represents the International Mobile Station Equipment Identity. This number is usually unique and used by the mobile operator to distinguish different phone hardware. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. The two fields represent phone with dual sim coverage. -- **MCC0** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MCC1** Represents the Mobile Country Code (MCC). It used with the Mobile Network Code (MNC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MEID** Represents the Mobile Equipment Identity (MEID). MEID is a worldwide unique phone ID assigned to CDMA phones. MEID replaces electronic serial number (ESN), and is equivalent to IMEI for GSM and WCDMA phones. Microsoft does not have access to mobile operator billing data so collecting this data does not expose or identify the user. -- **MNC0** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MNC1** Retrieves the Mobile Network Code (MNC). It used with the Mobile Country Code (MCC) to uniquely identify a mobile network operator. The two fields represent phone with dual sim coverage. -- **MobileOperatorBilling** Represents the telephone company that provides services for mobile phone users. -- **MobileOperatorCommercialized** Represents which reseller and geography the phone is commercialized for. This is the set of values on the phone for who and where it was intended to be used. For example, the commercialized mobile operator code AT&T in the US would be ATT-US. -- **MobileOperatorNetwork0** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **MobileOperatorNetwork1** Represents the operator of the current mobile network that the device is used on. (AT&T, T-Mobile, Vodafone). The two fields represent phone with dual sim coverage. -- **ModemOptionalCapabilityBitMap0** A bit map of optional capabilities in modem, such as eSIM support. -- **NetworkAdapterGUID** The GUID of the primary network adapter. -- **NetworkCost** Represents the network cost associated with a connection. -- **SPN0** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SPN1** Retrieves the Service Provider Name (SPN). For example, these might be AT&T, Sprint, T-Mobile, or Verizon. The two fields represent phone with dual sim coverage. -- **SupportedDataClassBitMap0** A bit map of the supported data classes (i.g, 5g 4g...) that the modem is capable of. -- **SupportedDataSubClassBitMap0** A bit map of data subclasses that the modem is capable of. - - -### Census.OS - -This event sends data about the operating system such as the version, locale, update service configuration, when and how it was originally installed, and whether it is a virtual device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. -- **AssignedAccessStatus** Kiosk configuration mode. -- **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. -- **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time -- **GenuineState** Retrieves the ID Value specifying the OS Genuine check. -- **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). -- **InstallLanguage** The first language installed on the user machine. -- **IsDeviceRetailDemo** Retrieves if the device is running in demo mode. -- **IsEduData** Returns Boolean if the education data policy is enabled. -- **IsPortableOperatingSystem** Retrieves whether OS is running Windows-To-Go -- **IsSecureBootEnabled** Retrieves whether Boot chain is signed under UEFI. -- **LanguagePacks** The list of language packages installed on the device. -- **LicenseStateReason** Retrieves why (or how) a system is licensed or unlicensed. The HRESULT may indicate an error code that indicates a key blocked error, or it may indicate that we are running an OS License granted by the MS store. -- **OA3xOriginalProductKey** Retrieves the License key stamped by the OEM to the machine. -- **OSEdition** Retrieves the version of the current OS. -- **OSInstallType** Retrieves a numeric description of what install was used on the device i.e. clean, upgrade, refresh, reset, etc -- **OSOOBEDateTime** Retrieves Out of Box Experience (OOBE) Date in Coordinated Universal Time (UTC). -- **OSSKU** Retrieves the Friendly Name of OS Edition. -- **OSSubscriptionStatus** Represents the existing status for enterprise subscription feature for PRO machines. -- **OSSubscriptionTypeId** Returns boolean for enterprise subscription feature for selected PRO machines. -- **OSTimeZoneBiasInMins** Retrieves the time zone set on machine. -- **OSUILocale** Retrieves the locale of the UI that is currently used by the OS. -- **ProductActivationResult** Returns Boolean if the OS Activation was successful. -- **ProductActivationTime** Returns the OS Activation time for tracking piracy issues. -- **ProductKeyID2** Retrieves the License key if the machine is updated with a new license key. -- **RACw7Id** Retrieves the Microsoft Reliability Analysis Component (RAC) Win7 Identifier. RAC is used to monitor and analyze system usage and reliability. -- **ServiceMachineIP** Retrieves the IP address of the KMS host used for anti-piracy. -- **ServiceMachinePort** Retrieves the port of the KMS host used for anti-piracy. -- **ServiceProductKeyID** Retrieves the License key of the KMS -- **SharedPCMode** Returns Boolean for devices that have enabled the configuration EnableSharedPCMode. -- **Signature** Retrieves if it is a signature machine sold by Microsoft store. -- **SLICStatus** Whether a SLIC table exists on the device. -- **SLICVersion** Returns OS type/version from SLIC table. - - -### Census.PrivacySettings - -This event provides information about the device level privacy settings and whether device-level access was granted to these capabilities. Not all settings are applicable to all devices. Each field records the consent state for the corresponding privacy setting. The consent state is encoded as a 16-bit signed integer, where the first 8 bits represents the effective consent value, and the last 8 bits represent the authority that set the value. The effective consent (first 8 bits) is one of the following values: -3 = unexpected consent value, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = undefined, 1 = allow, 2 = deny, 3 = prompt. The consent authority (last 8 bits) is one of the following values: -3 = unexpected authority, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = system, 1 = a higher authority (a gating setting, the system-wide setting, or a group policy), 2 = advertising ID group policy, 3 = advertising ID policy for child account, 4 = privacy setting provider doesn't know the actual consent authority, 5 = consent was not configured and a default set in code was used, 6 = system default, 7 = organization policy, 8 = OneSettings. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **FindMyDevice** Current state of the "find my device" setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.Processor - -This event sends data about the processor. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **KvaShadow** This is the micro code information of the processor. -- **MMSettingOverride** Microcode setting of the processor. -- **MMSettingOverrideMask** Microcode setting override of the processor. -- **PreviousUpdateRevision** Previous microcode revision -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. -- **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorPlatformSpecificField1** Registry value HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0, @Platform Specific Field 1. Platform Specific Field 1 of the Processor. Each vendor (e.g. Intel) defines the meaning differently. On Intel this is used to differentiate processors of the same generation, (e.g. Kaby Lake, KBL-G, KBL-H, KBL-R). -- **ProcessorUpdateRevision** The microcode revision. -- **ProcessorUpdateStatus** Enum value that represents the processor microcode load status -- **SocketCount** Count of CPU sockets. -- **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. - - -### Census.Security - -This event provides information about security settings. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. -- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. -- **DGState** This field summarizes the Device Guard state. -- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. -- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. -- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. -- **IsWdagFeatureEnabled** Indicates whether Windows Defender Application Guard is enabled. -- **NGCSecurityProperties** String representation of NGC security information. -- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **ShadowStack** The bit fields of SYSTEM_SHADOW_STACK_INFORMATION representing the state of the Intel CET (Control Enforcement Technology) hardware security feature. -- **SModeState** The Windows S mode trail state. -- **SystemGuardState** Indicates the SystemGuard state. NotCapable (0), Capable (1), Enabled (2), Error (0xFF). -- **TpmReadyState** Indicates the TPM ready state. NotReady (0), ReadyForStorage (1), ReadyForAttestation (2), Error (0xFF). -- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. -- **WdagPolicyValue** The Windows Defender Application Guard policy. - - -### Census.Speech - -This event is used to gather basic speech settings on the device. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **AboveLockEnabled** Cortana setting that represents if Cortana can be invoked when the device is locked. -- **GPAllowInputPersonalization** Indicates if a Group Policy setting has enabled speech functionalities. -- **HolographicSpeechInputDisabled** Holographic setting that represents if the attached HMD devices have speech functionality disabled by the user. -- **HolographicSpeechInputDisabledRemote** Indicates if a remote policy has disabled speech functionalities for the HMD devices. -- **KeyVer** Version information for the census speech event. -- **KWSEnabled** Cortana setting that represents if a user has enabled the "Hey Cortana" keyword spotter (KWS). -- **MDMAllowInputPersonalization** Indicates if an MDM policy has enabled speech functionalities. -- **RemotelyManaged** Indicates if the device is being controlled by a remote administrator (MDM or Group Policy) in the context of speech functionalities. -- **SpeakerIdEnabled** Cortana setting that represents if keyword detection has been trained to try to respond to a single user's voice. -- **SpeechServicesEnabled** Windows setting that represents whether a user is opted-in for speech services on the device. -- **SpeechServicesValueSource** Indicates the deciding factor for the effective online speech recognition privacy policy settings: remote admin, local admin, or user preference. - - -### Census.Storage - -This event sends data about the total capacity of the system volume and primary disk. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PrimaryDiskTotalCapacity** Retrieves the amount of disk space on the primary disk of the device in MB. -- **PrimaryDiskType** Retrieves an enumerator value of type STORAGE_BUS_TYPE that indicates the type of bus to which the device is connected. This should be used to interpret the raw device properties at the end of this structure (if any). -- **StorageReservePassedPolicy** Indicates whether the Storage Reserve policy, which ensures that updates have enough disk space and customers are on the latest OS, is enabled on this device. -- **SystemVolumeTotalCapacity** Retrieves the size of the partition that the System volume is installed on in MB. - - -### Census.Userdefault - -This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CalendarType** The calendar identifiers that are used to specify different calendars. -- **DefaultApp** The current user's default program selected for the following extension or protocol: .html, .htm, .jpg, .jpeg, .png, .mp3, .mp4, .mov, .pdf. -- **DefaultBrowserProgId** The ProgramId of the current user's default browser. -- **LocaleName** Name of the current user locale given by LOCALE_SNAME via the GetLocaleInfoEx() function. -- **LongDateFormat** The long date format the user has selected. -- **ShortDateFormat** The short date format the user has selected. - - -### Census.UserDisplay - -This event sends data about the logical/physical display size, resolution and number of internal/external displays, and VRAM on the system. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **InternalPrimaryDisplayLogicalDPIX** Retrieves the logical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayLogicalDPIY** Retrieves the logical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIX** Retrieves the physical DPI in the x-direction of the internal display. -- **InternalPrimaryDisplayPhysicalDPIY** Retrieves the physical DPI in the y-direction of the internal display. -- **InternalPrimaryDisplayResolutionHorizontal** Retrieves the number of pixels in the horizontal direction of the internal display. -- **InternalPrimaryDisplayResolutionVertical** Retrieves the number of pixels in the vertical direction of the internal display. -- **InternalPrimaryDisplaySizePhysicalH** Retrieves the physical horizontal length of the display in mm. Used for calculating the diagonal length in inches . -- **InternalPrimaryDisplaySizePhysicalY** Retrieves the physical vertical length of the display in mm. Used for calculating the diagonal length in inches -- **NumberofExternalDisplays** Retrieves the number of external displays connected to the machine -- **NumberofInternalDisplays** Retrieves the number of internal displays in a machine. -- **VRAMDedicated** Retrieves the video RAM in MB. -- **VRAMDedicatedSystem** Retrieves the amount of memory on the dedicated video card. -- **VRAMSharedSystem** Retrieves the amount of RAM memory that the video card can use. - - -### Census.UserNLS - -This event sends data about the default app language, input, and display language preferences set by the user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DefaultAppLanguage** The current user Default App Language. -- **DisplayLanguage** The current user preferred Windows Display Language. -- **HomeLocation** The current user location, which is populated using GetUserGeoId() function. -- **KeyboardInputLanguages** The Keyboard input languages installed on the device. -- **SpeechInputLanguages** The Speech Input languages installed on the device. - - -### Census.UserPrivacySettings - -This event provides information about the current users privacy settings and whether device-level access was granted to these capabilities. Not all settings are applicable to all devices. Each field records the consent state for the corresponding privacy setting. The consent state is encoded as a 16-bit signed integer, where the first 8 bits represents the effective consent value, and the last 8 bits represents the authority that set the value. The effective consent is one of the following values: -3 = unexpected consent value, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = undefined, 1 = allow, 2 = deny, 3 = prompt. The consent authority is one of the following values: -3 = unexpected authority, -2 = value was not requested, -1 = an error occurred while attempting to retrieve the value, 0 = user, 1 = a higher authority (a gating setting, the system-wide setting, or a group policy), 2 = advertising ID group policy, 3 = advertising ID policy for child account, 4 = privacy setting provider doesn't know the actual consent authority, 5 = consent was not configured and a default set in code was used, 6 = system default, 7 = organization policy, 8 = OneSettings. The data collected with this event is used to help keep Windows secure. - -The following fields are available: - -- **Activity** Current state of the activity history setting. -- **ActivityHistoryCloudSync** Current state of the activity history cloud sync setting. -- **ActivityHistoryCollection** Current state of the activity history collection setting. -- **AdvertisingId** Current state of the advertising ID setting. -- **AppDiagnostics** Current state of the app diagnostics setting. -- **Appointments** Current state of the calendar setting. -- **Bluetooth** Current state of the Bluetooth capability setting. -- **BluetoothSync** Current state of the Bluetooth sync capability setting. -- **BroadFileSystemAccess** Current state of the broad file system access setting. -- **CellularData** Current state of the cellular data capability setting. -- **Chat** Current state of the chat setting. -- **Contacts** Current state of the contacts setting. -- **DocumentsLibrary** Current state of the documents library setting. -- **Email** Current state of the email setting. -- **GazeInput** Current state of the gaze input setting. -- **HumanInterfaceDevice** Current state of the human interface device setting. -- **InkTypeImprovement** Current state of the improve inking and typing setting. -- **InkTypePersonalization** Current state of the inking and typing personalization setting. -- **Location** Current state of the location setting. -- **LocationHistory** Current state of the location history setting. -- **LocationHistoryCloudSync** Current state of the location history cloud sync setting. -- **LocationHistoryOnTimeline** Current state of the location history on timeline setting. -- **Microphone** Current state of the microphone setting. -- **PhoneCall** Current state of the phone call setting. -- **PhoneCallHistory** Current state of the call history setting. -- **PicturesLibrary** Current state of the pictures library setting. -- **Radios** Current state of the radios setting. -- **SensorsCustom** Current state of the custom sensor setting. -- **SerialCommunication** Current state of the serial communication setting. -- **Sms** Current state of the text messaging setting. -- **SpeechPersonalization** Current state of the speech services setting. -- **USB** Current state of the USB setting. -- **UserAccountInformation** Current state of the account information setting. -- **UserDataTasks** Current state of the tasks setting. -- **UserNotificationListener** Current state of the notifications setting. -- **VideosLibrary** Current state of the videos library setting. -- **Webcam** Current state of the camera setting. -- **WiFiDirect** Current state of the Wi-Fi direct setting. - - -### Census.VM - -This event sends data indicating whether virtualization is enabled on the device, and its various characteristics. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CloudService** Indicates which cloud service, if any, that this virtual machine is running within. -- **HyperVisor** Retrieves whether the current OS is running on top of a Hypervisor. -- **IOMMUPresent** Represents if an input/output memory management unit (IOMMU) is present. -- **IsVDI** Is the device using Virtual Desktop Infrastructure? -- **IsVirtualDevice** Retrieves that when the Hypervisor is Microsoft's Hyper-V Hypervisor or other Hv#1 Hypervisor, this field will be set to FALSE for the Hyper-V host OS and TRUE for any guest OS's. This field should not be relied upon for non-Hv#1 Hypervisors. -- **IsWVDSessionHost** Indicates if this is a Windows Virtual Device session host. -- **SLATSupported** Represents whether Second Level Address Translation (SLAT) is supported by the hardware. -- **VirtualizationFirmwareEnabled** Represents whether virtualization is enabled in the firmware. -- **VMId** A string that identifies a virtual machine. -- **WVDEnvironment** Represents the WVD service environment to which this session host has been joined. - - -### Census.WU - -This event sends data about the Windows update server and other App store policies. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AppraiserGatedStatus** Indicates whether a device has been gated for upgrading. -- **AppStoreAutoUpdate** Retrieves the Appstore settings for auto upgrade. (Enable/Disabled). -- **AppStoreAutoUpdateMDM** Retrieves the App Auto Update value for MDM: 0 - Disallowed. 1 - Allowed. 2 - Not configured. Default: [2] Not configured -- **AppStoreAutoUpdatePolicy** Retrieves the Microsoft Store App Auto Update group policy setting -- **DelayUpgrade** Retrieves the Windows upgrade flag for delaying upgrades. -- **IsHotPatchEnrolled** Represents the current state of the device in relation to enrollment in the hotpatch program. -- **OSAssessmentFeatureOutOfDate** How many days has it been since a the last feature update was released but the device did not install it? -- **OSAssessmentForFeatureUpdate** Is the device is on the latest feature update? -- **OSAssessmentForQualityUpdate** Is the device on the latest quality update? -- **OSAssessmentForSecurityUpdate** Is the device on the latest security update? -- **OSAssessmentQualityOutOfDate** How many days has it been since a the last quality update was released but the device did not install it? -- **OSAssessmentReleaseInfoTime** The freshness of release information used to perform an assessment. -- **OSRollbackCount** The number of times feature updates have rolled back on the device. -- **OSRolledBack** A flag that represents when a feature update has rolled back during setup. -- **OSUninstalled** A flag that represents when a feature update is uninstalled on a device . -- **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. -- **OSWUAutoUpdateOptionsSource** The source of auto update setting that appears in the OSWUAutoUpdateOptions field. For example: Group Policy (GP), Mobile Device Management (MDM), and Default. -- **UninstallActive** A flag that represents when a device has uninstalled a previous upgrade recently. -- **UpdateServiceURLConfigured** Retrieves if the device is managed by Windows Server Update Services (WSUS). -- **WUDeferUpdatePeriod** Retrieves if deferral is set for Updates. -- **WUDeferUpgradePeriod** Retrieves if deferral is set for Upgrades. -- **WUDODownloadMode** Retrieves whether DO is turned on and how to acquire/distribute updates Delivery Optimization (DO) allows users to deploy previously downloaded Windows Update updates to other devices on the same network. -- **WULCUVersion** Version of the LCU Installed on the machine. -- **WUMachineId** Retrieves the Windows Update (WU) Machine Identifier. -- **WUPauseState** Retrieves Windows Update setting to determine if updates are paused. -- **WUServer** Retrieves the HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default). - - -## Code Integrity events - -### Microsoft.Windows.Security.CodeIntegrity.HVCISysprep.Compatibility - -Fires when the compatibility check completes. Gives the results from the check. - -The following fields are available: - -- **IsRecommended** Denotes whether all compatibility checks have passed and, if so, returns true. Otherwise returns false. -- **Issues** If compatibility checks failed, provides bit indexed indicators of issues detected. Table located here: [Check results of HVCI default enablement](/windows-hardware/design/device-experiences/oem-hvci-enablement#check-results-of-hvci-default-enablement). - - -### Microsoft.Windows.Security.CodeIntegrity.HVCISysprep.Enabled - -Fires when auto-enablement is successful and HVCI is being enabled on the device. - - - -### Microsoft.Windows.Security.CodeIntegrity.HVCISysprep.HVCIActivity - -Fires at the beginning and end of the HVCI auto-enablement process in sysprep. - -The following fields are available: - -- **wilActivity** Contains the thread ID used to match the begin and end events, and for the end event also a HResult indicating sucess or failure. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Security.CodeIntegrity.HVCISysprep.HvciScanGetResultFailed - -Fires when driver scanning fails to get results. - - - -### Microsoft.Windows.Security.CodeIntegrity.HVCISysprep.IsRegionDisabledLanguage - -Fires when an incompatible language pack is detected. - -The following fields are available: - -- **Language** String containing the incompatible language pack detected. - - -## Common data extensions - -### Common Data Extensions.app - -Describes the properties of the running application. This extension could be populated by a client app or a web app. - -The following fields are available: - -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **env** The environment from which the event was logged. -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **locale** The locale of the app. -- **name** The name of the app. -- **userId** The userID as known by the application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.container - -Describes the properties of the container for events logged within a container. - -The following fields are available: - -- **epoch** An ID that's incremented for each SDK initialization. -- **localId** The device ID as known by the client. -- **osVer** The operating system version. -- **seq** An ID that's incremented for each event. -- **type** The container type. Examples: Process or VMHost - - -### Common Data Extensions.device - -Describes the device-related fields. - -The following fields are available: - -- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. -- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId -- **make** Device manufacturer. -- **model** Device model. - - -### Common Data Extensions.Envelope - -Represents an envelope that contains all of the common data extensions. - -The following fields are available: - -- **data** Represents the optional unique diagnostic data for a particular event schema. -- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). -- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). -- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_mscv** Describes the correlation vector-related fields. See [Common Data Extensions.mscv](#common-data-extensionsmscv). -- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). -- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). -- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). -- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). -- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). -- **iKey** Represents an ID for applications or other logical groupings of events. -- **name** Represents the uniquely qualified name for the event. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.mscv - -Describes the correlation vector-related fields. - -The following fields are available: - -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related events across component boundaries. - - -### Common Data Extensions.os - -Describes some properties of the operating system. - -The following fields are available: - -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. -- **name** Represents the operating system name. -- **ver** Represents the major and minor version of the extension. - - -### Common Data Extensions.sdk - -Used by platform specific libraries to record fields that are required for a specific SDK. - -The following fields are available: - -- **epoch** An ID that is incremented for each SDK initialization. -- **installId** An ID that's created during the initialization of the SDK for the first time. -- **libVer** The SDK version. -- **seq** An ID that is incremented for each event. -- **ver** The version of the logging SDK. - - -### Common Data Extensions.user - -Describes the fields related to a user. - -The following fields are available: - -- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **locale** The language and region. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.utc - -Describes the properties that could be populated by a logging library on Windows. - -The following fields are available: - -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **eventFlags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **loggingBinary** The binary (executable, library, driver, etc.) that fired the event. -- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence -- **op** Represents the ETW Op Code. -- **pgName** The short form of the provider group name associated with the event. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **providerGuid** The ETW provider ID associated with the provider name. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **sqmId** The Windows SQM (Software Quality Metrics—a precursor of Windows 10 Diagnostic Data collection) device identifier. -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. -- **wcmp** The Windows Shell Composer ID. -- **wPId** The Windows Core OS product ID. -- **wsId** The Windows Core OS session ID. - - -### Common Data Extensions.xbl - -Describes the fields that are related to XBOX Live. - -The following fields are available: - -- **claims** Any additional claims whose short claim name hasn't been added to this structure. -- **did** XBOX device ID -- **dty** XBOX device type -- **dvr** The version of the operating system on the device. -- **eid** A unique ID that represents the developer entity. -- **exp** Expiration time -- **ip** The IP address of the client device. -- **nbf** Not before time -- **pid** A comma separated list of PUIDs listed as base10 numbers. -- **sbx** XBOX sandbox identifier -- **sid** The service instance ID. -- **sty** The service type. -- **tid** The XBOX Live title ID. -- **tvr** The XBOX Live title version. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. -- **xid** A list of base10-encoded XBOX User IDs. - - -## Common data fields - -### Ms.Device.DeviceInventoryChange - -Describes the installation state for all hardware and software components available on a particular device. - -The following fields are available: - -- **action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing -- **objectInstanceId** Object identity which is unique within the device scope. -- **objectType** Indicates the object type that the event applies to. -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. - - -## Component-based servicing events - -### CbsServicingProvider.CbsCapabilityEnumeration - -This event reports on the results of scanning for optional Windows content on Windows Update to keep Windows up to date. - -The following fields are available: - -- **architecture** Indicates the scan was limited to the specified architecture. -- **capabilityCount** The number of optional content packages found during the scan. -- **clientId** The name of the application requesting the optional content. -- **duration** The amount of time it took to complete the scan. -- **hrStatus** The HReturn code of the scan. -- **language** Indicates the scan was limited to the specified language. -- **majorVersion** Indicates the scan was limited to the specified major version. -- **minorVersion** Indicates the scan was limited to the specified minor version. -- **namespace** Indicates the scan was limited to packages in the specified namespace. -- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionFinalize - -This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **capabilities** The names of the optional content packages that were installed. -- **clientId** The name of the application requesting the optional content. -- **currentID** The ID of the current install session. -- **downloadSource** The source of the download. -- **highestState** The highest final install state of the optional content. -- **hrLCUReservicingStatus** Indicates whether the optional content was updated to the latest available version. -- **hrStatus** The HReturn code of the install operation. -- **rebootCount** The number of reboots required to complete the install. -- **retryID** The session ID that will be used to retry a failed operation. -- **retryStatus** Indicates whether the install will be retried in the event of failure. -- **stackBuild** The build number of the servicing stack. -- **stackMajorVersion** The major version number of the servicing stack. -- **stackMinorVersion** The minor version number of the servicing stack. -- **stackRevision** The revision number of the servicing stack. - - -### CbsServicingProvider.CbsCapabilitySessionPended - -This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. - -The following fields are available: - -- **clientId** The name of the application requesting the optional content. -- **pendingDecision** Indicates the cause of reboot, if applicable. - - -### CbsServicingProvider.CbsLateAcquisition - -This event sends data to indicate if some Operating System packages could not be updated as part of an upgrade, to help keep Windows up to date. - -The following fields are available: - -- **Features** The list of feature packages that could not be updated. -- **RetryID** The ID identifying the retry attempt to update the listed packages. - - -### CbsServicingProvider.CbsPackageRemoval - -This event provides information about the results of uninstalling a Windows Cumulative Security Update to help keep Windows up to date. - -The following fields are available: - -- **buildVersion** The build number of the security update being uninstalled. -- **clientId** The name of the application requesting the uninstall. -- **currentStateEnd** The final state of the update after the operation. -- **failureDetails** Information about the cause of a failure, if applicable. -- **failureSourceEnd** The stage during the uninstall where the failure occurred. -- **hrStatusEnd** The overall exit code of the operation. -- **initiatedOffline** Indicates if the uninstall was initiated for a mounted Windows image. -- **majorVersion** The major version number of the security update being uninstalled. -- **minorVersion** The minor version number of the security update being uninstalled. -- **originalState** The starting state of the update before the operation. -- **pendingDecision** Indicates the cause of reboot, if applicable. -- **primitiveExecutionContext** The state during system startup when the uninstall was completed. -- **revisionVersion** The revision number of the security update being uninstalled. -- **transactionCanceled** Indicates whether the uninstall was cancelled. - - -### CbsServicingProvider.CbsQualityUpdateInstall - -This event reports on the performance and reliability results of installing Servicing content from Windows Update to keep Windows up to date. - -The following fields are available: - -- **buildVersion** The build version number of the update package. -- **clientId** The name of the application requesting the optional content. -- **corruptionHistoryFlags** A bitmask of the types of component store corruption that have caused update failures on the device. -- **corruptionType** An enumeration listing the type of data corruption responsible for the current update failure. -- **currentStateEnd** The final state of the package after the operation has completed. -- **doqTimeSeconds** The time in seconds spent updating drivers. -- **executeTimeSeconds** The number of seconds required to execute the install. -- **failureDetails** The driver or installer that caused the update to fail. -- **failureSourceEnd** An enumeration indicating at what phase of the update a failure occurred. -- **hrStatusEnd** The return code of the install operation. -- **initiatedOffline** A true or false value indicating whether the package was installed into an offline Windows Imaging Format (WIM) file. -- **majorVersion** The major version number of the update package. -- **minorVersion** The minor version number of the update package. -- **originalState** The starting state of the package. -- **overallTimeSeconds** The time (in seconds) to perform the overall servicing operation. -- **planTimeSeconds** The time in seconds required to plan the update operations. -- **poqTimeSeconds** The time in seconds processing file and registry operations. -- **postRebootTimeSeconds** The time (in seconds) to do startup processing for the update. -- **preRebootTimeSeconds** The time (in seconds) between execution of the installation and the reboot. -- **primitiveExecutionContext** An enumeration indicating at what phase of shutdown or startup the update was installed. -- **rebootCount** The number of reboots required to install the update. -- **rebootTimeSeconds** The time (in seconds) before startup processing begins for the update. -- **resolveTimeSeconds** The time in seconds required to resolve the packages that are part of the update. -- **revisionVersion** The revision version number of the update package. -- **rptTimeSeconds** The time in seconds spent executing installer plugins. -- **shutdownTimeSeconds** The time (in seconds) required to do shutdown processing for the update. -- **stackRevision** The revision number of the servicing stack. -- **stageTimeSeconds** The time (in seconds) required to stage all files that are part of the update. - - -### CbsServicingProvider.CbsSelectableUpdateChangeV2 - -This event reports the results of enabling or disabling optional Windows Content to keep Windows up to date. - -The following fields are available: - -- **applicableUpdateState** Indicates the highest applicable state of the optional content. -- **buildVersion** The build version of the package being installed. -- **clientId** The name of the application requesting the optional content change. -- **downloadSource** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **downloadtimeInSeconds** Indicates if optional content was obtained from Windows Update or a locally accessible file. -- **executionID** A unique ID used to identify events associated with a single servicing operation and not reused for future operations. -- **executionSequence** A counter that tracks the number of servicing operations attempted on the device. -- **firstMergedExecutionSequence** The value of a pervious executionSequence counter that is being merged with the current operation, if applicable. -- **firstMergedID** A unique ID of a pervious servicing operation that is being merged with this operation, if applicable. -- **hrDownloadResult** The return code of the download operation. -- **hrStatusUpdate** The return code of the servicing operation. -- **identityHash** A pseudonymized (hashed) identifier for the Windows Package that is being installed or uninstalled. -- **initiatedOffline** Indicates whether the operation was performed against an offline Windows image file or a running instance of Windows. -- **majorVersion** The major version of the package being installed. -- **minorVersion** The minor version of the package being installed. -- **packageArchitecture** The architecture of the package being installed. -- **packageLanguage** The language of the package being installed. -- **packageName** The name of the package being installed. -- **rebootRequired** Indicates whether a reboot is required to complete the operation. -- **revisionVersion** The revision number of the package being installed. -- **stackBuild** The build number of the servicing stack binary performing the installation. -- **stackMajorVersion** The major version number of the servicing stack binary performing the installation. -- **stackMinorVersion** The minor version number of the servicing stack binary performing the installation. -- **stackRevision** The revision number of the servicing stack binary performing the installation. -- **updateName** The name of the optional Windows Operation System feature being enabled or disabled. -- **updateStartState** A value indicating the state of the optional content before the operation started. -- **updateTargetState** A value indicating the desired state of the optional content. - - -### CbsServicingProvider.CbsUpdateDeferred - -This event reports the results of deferring Windows Content to keep Windows up to date. - - - -## Deployment events - -### Microsoft.Windows.Deployment.Imaging.AppExit - -This event is sent on imaging application exit. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **hr** HResult returned from app exit. -- **sId** Session Id of the application. -- **totalTimeInMs** Total time taken in Ms. - - -### Microsoft.Windows.Deployment.Imaging.AppInvoked - -This event is sent when the app for image creation is invoked. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **branch** Corresponding branch for the image. -- **isInDbg** Whether the app is in debug mode or not. -- **isWSK** Whether the app is building images using WSK or not. -- **sId** Id of the session. - - -### Microsoft.Windows.Deployment.Imaging.Failed - -This failure event is sent when imaging fails. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **hr** HResult returned. -- **msg** Message returned. -- **sId** Session Id. -- **stack** Stack information. - - -### Microsoft.Windows.Deployment.Imaging.ImagingCompleted - -This event is sent when imaging is done. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **appExecTimeInMs** Execution time in milliseconds. -- **buildInfo** Information of the build. -- **compDbPrepTimeInMs** Preparation time in milliseconds for the CompDBs. -- **executeUpdateTimeInMs** Update execution time in milliseconds. -- **fileStageTimeInMs** File staging time in milliseconds. -- **hr** HResult returned from imaging. -- **imgSizeInMB** Image size in MB. -- **mutexWaitTimeInMs** Mutex wait time in milliseconds. -- **prepareUpdateTimeInMs** Update preparation time in milliseconds. -- **sId** Session id for the application. -- **totalRunTimeInMs** Total running time in milliseconds. -- **updateOsTimeInMs** Time in milliseconds spent in update OS. - - -### Microsoft.Windows.Deployment.Imaging.ImagingStarted - -This event is sent when an imaging session starts. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **arch** Architecture of the image. -- **device** Device type for which the image is built. -- **imgFormat** Format of the image. -- **imgSkip** Parameter for skipping certain image types when building. -- **imgType** The type of image being built. -- **lang** Language of the image being built. -- **prod** Image product type. -- **sId** Session id for the app. - - -## Deployment extensions - -### DeploymentTelemetry.Deployment_End - -This event indicates that a Deployment 360 API has completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of the user utilizing the D360 API. -- **ErrorCode** Error code of action. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Mode** Phase in upgrade. -- **RelatedCV** The correction vector (CV) of any other related events -- **Result** End result of the action. - - -### DeploymentTelemetry.Deployment_SetupBoxLaunch - -This event indicates that the Deployment 360 APIs have launched Setup Box. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The client ID of the user utilizing the D360 API. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Quiet** Whether Setup will run in quiet mode or full mode. -- **RelatedCV** The correlation vector (CV) of any other related events. -- **SetupMode** The current setup phase. - - -### DeploymentTelemetry.Deployment_SetupBoxResult - -This event indicates that the Deployment 360 APIs have received a return from Setup Box. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of the user utilizing the D360 API. -- **ErrorCode** Error code of the action. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Quiet** Indicates whether Setup will run in quiet mode or full mode. -- **RelatedCV** The correlation vector (CV) of any other related events. -- **SetupMode** The current Setup phase. - - -### DeploymentTelemetry.Deployment_Start - -This event indicates that a Deployment 360 API has been called. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** Client ID of the user utilizing the D360 API. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **Mode** The current phase of the upgrade. -- **RelatedCV** The correlation vector (CV) of any other related events. - - -## Diagnostic data events - -### TelClientSynthetic.AbnormalShutdown_0 - -This event sends data about boot IDs for which a normal clean shutdown was not observed. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **AbnormalShutdownBootId** BootId of the abnormal shutdown being reported by this event. -- **AbsCausedbyAutoChk** This flag is set when AutoCheck forces a device restart to indicate that the shutdown was not an abnormal shutdown. -- **AcDcStateAtLastShutdown** Identifies if the device was on battery or plugged in. -- **BatteryLevelAtLastShutdown** The last recorded battery level. -- **BatteryPercentageAtLastShutdown** The battery percentage at the last shutdown. -- **CrashDumpEnabled** Are crash dumps enabled? -- **CumulativeCrashCount** Cumulative count of operating system crashes since the BootId reset. -- **CurrentBootId** BootId at the time the abnormal shutdown event was being reported. -- **Firmwaredata->ResetReasonEmbeddedController** The reset reason that was supplied by the firmware. -- **Firmwaredata->ResetReasonEmbeddedControllerAdditional** Additional data related to reset reason provided by the firmware. -- **Firmwaredata->ResetReasonPch** The reset reason that was supplied by the hardware. -- **Firmwaredata->ResetReasonPchAdditional** Additional data related to the reset reason supplied by the hardware. -- **Firmwaredata->ResetReasonSupplied** Indicates whether the firmware supplied any reset reason or not. -- **FirmwareType** ID of the FirmwareType as enumerated in DimFirmwareType. -- **HardwareWatchdogTimerGeneratedLastReset** Indicates whether the hardware watchdog timer caused the last reset. -- **HardwareWatchdogTimerPresent** Indicates whether hardware watchdog timer was present or not. -- **InvalidBootStat** This is a sanity check flag that ensures the validity of the bootstat file. -- **LastBugCheckBootId** bootId of the last captured crash. -- **LastBugCheckCode** Code that indicates the type of error. -- **LastBugCheckContextFlags** Additional crash dump settings. -- **LastBugCheckOriginalDumpType** The type of crash dump the system intended to save. -- **LastBugCheckOtherSettings** Other crash dump settings. -- **LastBugCheckParameter1** The first parameter with additional info on the type of the error. -- **LastBugCheckProgress** Progress towards writing out the last crash dump. -- **LastBugCheckVersion** The version of the information struct written during the crash. -- **LastSuccessfullyShutdownBootId** BootId of the last fully successful shutdown. -- **LongPowerButtonPressDetected** Identifies if the user was pressing and holding power button. -- **OOBEInProgress** Identifies if OOBE is running. -- **OSSetupInProgress** Identifies if the operating system setup is running. -- **PowerButtonCumulativePressCount** How many times has the power button been pressed? -- **PowerButtonCumulativeReleaseCount** How many times has the power button been released? -- **PowerButtonErrorCount** Indicates the number of times there was an error attempting to record power button metrics. -- **PowerButtonLastPressBootId** BootId of the last time the power button was pressed. -- **PowerButtonLastPressTime** Date and time of the last time the power button was pressed. -- **PowerButtonLastReleaseBootId** BootId of the last time the power button was released. -- **PowerButtonLastReleaseTime** Date and time of the last time the power button was released. -- **PowerButtonPressCurrentCsPhase** Represents the phase of Connected Standby exit when the power button was pressed. -- **PowerButtonPressIsShutdownInProgress** Indicates whether a system shutdown was in progress at the last time the power button was pressed. -- **PowerButtonPressLastPowerWatchdogStage** Progress while the monitor is being turned on. -- **PowerButtonPressPowerWatchdogArmed** Indicates whether or not the watchdog for the monitor was active at the time of the last power button press. -- **ShutdownDeviceType** Identifies who triggered a shutdown. Is it because of battery, thermal zones, or through a Kernel API. -- **SleepCheckpoint** Provides the last checkpoint when there is a failure during a sleep transition. -- **SleepCheckpointSource** Indicates whether the source is the EFI variable or bootstat file. -- **SleepCheckpointStatus** Indicates whether the checkpoint information is valid. -- **StaleBootStatData** Identifies if the data from bootstat is stale. -- **TransitionInfoBootId** BootId of the captured transition info. -- **TransitionInfoCSCount** l number of times the system transitioned from Connected Standby mode. -- **TransitionInfoCSEntryReason** Indicates the reason the device last entered Connected Standby mode. -- **TransitionInfoCSExitReason** Indicates the reason the device last exited Connected Standby mode. -- **TransitionInfoCSInProgress** At the time the last marker was saved, the system was in or entering Connected Standby mode. -- **TransitionInfoLastReferenceTimeChecksum** The checksum of TransitionInfoLastReferenceTimestamp, -- **TransitionInfoLastReferenceTimestamp** The date and time that the marker was last saved. -- **TransitionInfoLidState** Describes the state of the laptop lid. -- **TransitionInfoPowerButtonTimestamp** The date and time of the last time the power button was pressed. -- **TransitionInfoSleepInProgress** At the time the last marker was saved, the system was in or entering sleep mode. -- **TransitionInfoSleepTranstionsToOn** Total number of times the device transitioned from sleep mode. -- **TransitionInfoSystemRunning** At the time the last marker was saved, the device was running. -- **TransitionInfoSystemShutdownInProgress** Indicates whether a device shutdown was in progress when the power button was pressed. -- **TransitionInfoUserShutdownInProgress** Indicates whether a user shutdown was in progress when the power button was pressed. -- **TransitionLatestCheckpointId** Represents a unique identifier for a checkpoint during the device state transition. -- **TransitionLatestCheckpointSeqNumber** Represents the chronological sequence number of the checkpoint. -- **TransitionLatestCheckpointType** Represents the type of the checkpoint, which can be the start of a phase, end of a phase, or just informational. -- **VirtualMachineId** If the operating system is on a virtual Machine, it gives the virtual Machine ID (GUID) that can be used to correlate events on the host. - - -### TelClientSynthetic.AuthorizationInfo_RuntimeTransition - -This event is fired by UTC at state transitions to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **IsProcessorMode** True if it is Processor Mode, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - -### TelClientSynthetic.AuthorizationInfo_Startup - -This event is fired by UTC at startup to signal what data we are allowed to collect. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **IsProcessorMode** True if it is Processor Mode, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - -### TelClientSynthetic.ConnectivityHeartBeat_0 - -This event sends data about the connectivity status of the Connected User Experience and Telemetry component that uploads telemetry events. If an unrestricted free network (such as Wi-Fi) is available, this event updates the last successful upload time. Otherwise, it checks whether a Connectivity Heartbeat event was fired in the past 24 hours, and if not, it sends an event. A Connectivity Heartbeat event is also sent when a device recovers from costed network to free network. This event is fired by UTC during periods of no network as a heartbeat signal, to keep Windows secure and up to date. - -The following fields are available: - -- **CensusExitCode** Last exit code of Census task -- **CensusStartTime** Returns timestamp corresponding to last successful census run. -- **CensusTaskEnabled** Returns Boolean value for the census task (Enable/Disable) on client machine. -- **LastConnectivityLossTime** The FILETIME at which the last free network loss occurred. -- **NetworkState** Retrieves the network state: 0 = No network. 1 = Restricted network. 2 = Free network. -- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. -- **RestrictedNetworkTime** The total number of seconds with restricted network during this heartbeat period. - - -### TelClientSynthetic.EventMonitor_0 - -This event provides statistics for specific diagnostic events. - -The following fields are available: - -- **ConsumerCount** The number of instances seen in the Event Tracing for Windows consumer. -- **EventName** The name of the event being monitored. -- **EventSnFirst** The expected first event serial number. -- **EventSnLast** The expected last event serial number. -- **EventStoreCount** The number of events reaching the event store. -- **MonitorSn** The serial number of the monitor. -- **TriggerCount** The number of events reaching the trigger buffer. -- **UploadedCount** The number of events uploaded. - - -### TelClientSynthetic.GetFileInfoAction_FilePathNotApproved_0 - -This event occurs when the DiagTrack escalation fails due to the scenario requesting a path that is not approved for GetFileInfo actions. - -The following fields are available: - -- **FilePath** The unexpanded path in the scenario XML. -- **ScenarioId** The globally unique identifier (GUID) of the scenario. -- **ScenarioInstanceId** The error code denoting which path failed (internal or external). - - -### TelClientSynthetic.HeartBeat_5 - -This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. - -The following fields are available: - -- **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** The last exit code of the Census task. -- **CensusStartTime** Time of last Census run. -- **CensusTaskEnabled** True if Census is enabled, false otherwise. -- **CompressedBytesUploaded** Number of compressed bytes uploaded. -- **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. -- **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. -- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. -- **DbDroppedCount** Number of events dropped due to DB fullness. -- **DbDroppedFailureCount** Number of events dropped due to DB failures. -- **DbDroppedFullCount** Number of events dropped due to DB fullness. -- **DecodingDroppedCount** Number of events dropped due to decoding failures. -- **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. -- **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. -- **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. -- **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. -- **EventStoreResetCounter** Number of times event DB was reset. -- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. -- **EventsUploaded** Number of events uploaded. -- **Flags** Flags indicating device state such as network state, battery state, and opt-in state. -- **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. -- **HeartBeatSequenceNumber** The sequence number of this heartbeat. -- **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. -- **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. -- **LastEventSizeOffender** Event name of last event which exceeded max event size. -- **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. -- **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. -- **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). -- **PrivacyBlockedCount** The number of events blocked due to privacy settings or tags. -- **RepeatedUploadFailureDropped** Number of events lost due to repeated upload failures for a single buffer. -- **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. -- **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. -- **TopUploaderErrors** List of top errors received from the upload endpoint. -- **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **UploaderErrorCount** Number of errors received from the upload endpoint. -- **VortexFailuresTimeout** The number of timeout failures received from Vortex. -- **VortexHttpAttempts** Number of attempts to contact Vortex. -- **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. -- **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. -- **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. -- **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. - - -### TelClientSynthetic.HeartBeat_Agent_5 - -This event sends data about the health and quality of the diagnostic data from the specified device (agent), to help keep Windows up to date. - -The following fields are available: - -- **ConsumerDroppedCount** The number of events dropped at the consumer layer of the diagnostic data collection client. -- **ContainerBufferFullDropCount** The number of events dropped due to the container buffer being full. -- **ContainerBufferFullSevilleDropCount** The number of “Seville” events dropped due to the container buffer being full. -- **CriticalDataThrottleDroppedCount** The number of critical data sampled events dropped due to data throttling. -- **DecodingDroppedCount** The number of events dropped due to decoding failures. -- **EtwDroppedBufferCount** The number of buffers dropped in the ETW (Event Tracing for Windows) session. -- **EtwDroppedCount** The number of events dropped at the ETW (Event Tracing for Windows) layer of the diagnostic data collection client on the user’s device. -- **EventsForwardedToHost** The number of events forwarded from agent (device) to host (server). -- **FullTriggerBufferDroppedCount** The number of events dropped due to the trigger buffer being full. -- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. -- **HostConnectionErrorsCount** The number of non-timeout errors encountered in the host (server)/agent (device) socket transport channel. -- **HostConnectionTimeoutsCount** The number of connection timeouts between the host (server) and agent (device). -- **LastHostConnectionError** The last error from a connection between host (server) and agent (device). -- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. -- **ThrottledDroppedCount** The number of events dropped due to throttling of “noisy” providers. - - -### TelClientSynthetic.HeartBeat_DevHealthMon_5 - -This event sends data (for Surface Hub devices) to monitor and ensure the correct functioning of those Surface Hub devices. This data helps ensure the device is up to date with the latest security and safety features. - -The following fields are available: - -- **HeartBeatSequenceNumber** The heartbeat sequence number associated with this event. -- **PreviousHeartBeatTime** The timestamp of the last heartbeat event. - - -### TelClientSynthetic.LifetimeManager_ConsumerBaseTimestampChange_0 - -This event sends data when the Windows Diagnostic data collection mechanism detects a timestamp adjustment for incoming diagnostic events. This data is critical for dealing with time changes during diagnostic data analysis, to help keep the device up to date. - -The following fields are available: - -- **NewBaseTime** The new QPC (Query Performance Counter) base time from ETW (Event Tracing for Windows). -- **NewSystemTime** The new system time of the device. -- **OldSystemTime** The previous system time of the device. - - -### TelClientSynthetic.MatchEngine_ScenarioCompletionThrottled_0 - -This event sends data when scenario completion is throttled (truncated or otherwise restricted) because the scenario is excessively large. - -The following fields are available: - -- **MaxHourlyCompletionsSetting** The maximum number of scenario completions per hour until throttling kicks in. -- **ScenarioId** The globally unique identifier (GUID) of the scenario being throttled. -- **ScenarioName** The name of the scenario being throttled. - - -### TelClientSynthetic.OsEvents_BootStatReset_0 - -This event sends data when the Windows diagnostic data collection mechanism resets the Boot ID. This data helps ensure Windows is up to date. - -The following fields are available: - -- **BootId** The current Boot ID. -- **ResetReason** The reason code for resetting the Boot ID. - - -### TelClientSynthetic.ProducerThrottled_At_TriggerBuffer_0 - -This event sends data when a producer is throttled due to the trigger buffer exceeding defined thresholds. - -The following fields are available: - -- **BufferSize** The size of the trigger buffer. -- **DataType** The type of event that this producer generates (Event Tracing for Windows, Time, Synthetic). -- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. -- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. -- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. -- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. -- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. -- **Hit** The number of events seen from this producer. -- **IKey** The IKey identifier of the producer, if available. -- **ProviderId** The provider ID of the producer being throttled. -- **ProviderName** The provider name of the producer being throttled. -- **Threshold** The threshold crossed, which caused the throttling. - - -### TelClientSynthetic.ProducerThrottled_Event_Rate_0 - -This event sends data when an event producer is throttled by the Windows Diagnostic data collection mechanism. This data helps ensure Windows is up to date. - -The following fields are available: - -- **EstSeenCount** Estimated total number of inputs determining other “Est…” values. -- **EstTopEvent1Count** The count for estimated “noisiest” event from this producer. -- **EstTopEvent1Name** The name for estimated “noisiest” event from this producer. -- **EstTopEvent2Count** The count for estimated second “noisiest” event from this producer. -- **EstTopEvent2Name** The name for estimated second “noisiest” event from this producer. -- **EventPerProviderThreshold** The trigger point for throttling (value for each provider). This value is only applied once EventRateThreshold has been met. -- **EventRateThreshold** The total event rate trigger point for throttling. -- **Hit** The number of events seen from this producer. -- **IKey** The IKey identifier of the producer, if available. -- **ProviderId** The provider ID of the producer being throttled. -- **ProviderName** The provider name of the producer being throttled. - - -### TelClientSynthetic.RunExeWithArgsAction_ExeTerminated_0 - -This event sends data when an executable (EXE) file is terminated during escalation because it exceeded its maximum runtime (the maximum amount of time it was expected to run). This data helps ensure Windows is up to date. - -The following fields are available: - -- **ExpandedExeName** The expanded name of the executable (EXE) file. -- **MaximumRuntimeMs** The maximum runtime (in milliseconds) for this action. -- **ScenarioId** The globally unique identifier (GUID) of the scenario that was terminated. -- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance that was terminated. - - -### TelClientSynthetic.RunExeWithArgsAction_ProcessReturnedNonZeroExitCode - -This event sends data when the RunExe process finishes during escalation, but returns a non-zero exit code. This data helps ensure Windows is up to date. - -The following fields are available: - -- **ExitCode** The exit code of the process -- **ExpandedExeName** The expanded name of the executable (EXE) file. -- **ScenarioId** The globally unique identifier (GUID) of the escalating scenario. -- **ScenarioInstanceId** The globally unique identifier (GUID) of the scenario instance. - - -### TelClientSynthetic.ServiceMain_DevHealthMonEvent - -This event is a low latency health alert that is part of the 4Nines device health monitoring feature currently available on Surface Hub devices. For a device that is opted in, this event is sent before shutdown to signal that the device is about to be powered down. - - - -## Direct to update events - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicability - -This event indicates that the Coordinator CheckApplicability call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ApplicabilityResult** Result of CheckApplicability function. -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **IsCTA** If device has the CTA regkey set. -- **IsDeviceAADDomainJoined** Indicates whether the device is logged in to the AAD (Azure Active Directory) domain. -- **IsDeviceADDomainJoined** Indicates whether the device is logged in to the AD (Active Directory) domain. -- **IsDeviceCloverTrail** Indicates whether the device has a Clover Trail system installed. -- **IsDeviceDiskSpaceLow** If device disk space is low. -- **IsDeviceEnterpriseSku** If device is an Enterprise SKU. -- **IsDeviceFeatureUpdatingPaused** Indicates whether Feature Update is paused on the device. -- **IsDeviceNetworkMetered** Indicates whether the device is connected to a metered network. -- **IsDeviceOobeBlocked** Indicates whether the OOBE (Out of Box Experience) is blocked on the device. -- **IsDeviceRequireUpdateApproval** Indicates whether user approval is required to install updates on the device. -- **IsDeviceSccmManaged** Indicates whether the device is running the Configuration Manager to keep the operating system and applications up to date. -- **IsDeviceUninstallActive** Indicates whether the OS (operating system) on the device was recently updated. -- **IsDeviceUpdateNotificationLevel** Indicates whether the device has a set policy to control update notifications. -- **IsDeviceUpdateServiceManaged** Indicates whether the device uses WSUS (Windows Server Update Services). -- **IsDeviceWUFBManaged** If device is Windows Update for Business managed. -- **IsDeviceZeroExhaust** Indicates whether the device subscribes to the Zero Exhaust policy to minimize connections from Windows to Microsoft. -- **IsGreaterThanMaxRetry** Indicates whether the DTU (Direct to Update) service has exceeded its maximum retry count. -- **IsVolumeLicensed** Indicates whether a volume license was used to authenticate the operating system or applications on the device. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicabilityGenericFailure - -This event indicatse that we have received an unexpected error in the Direct to Update (DTU) Coordinators CheckApplicability call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Cleanup call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Commit call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess - -This event indicates that the Coordinator Commit call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Download call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure - -This event indicates that we have received an error in the Direct to Update (DTU) Coordinator Download call that will be ignored. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadSuccess - -This event indicates that the Coordinator Download call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownSuccess - -This event indicates that the Coordinator HandleShutdown call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeSuccess - -This event indicates that the Coordinator Initialize call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallIgnoredFailure - -This event indicates that we have received an error in the Direct to Update (DTU) Coordinator Install call that will be ignored. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallSuccess - -This event indicates that the Coordinator Install call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorProgressCallBack - -This event indicates that the Coordinator's progress callback has been called. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **DeployPhase** Current Deploy Phase. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadySuccess - -This event indicates that the Coordinator SetCommitReady call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator WaitForRebootUi call. - -The following fields are available: - -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection - -This event indicates that the user selected an option on the Reboot UI. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **rebootUiSelection** Selection on the Reboot UI. - - -### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSuccess - -This event indicates that the Coordinator WaitForRebootUi call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector -- **hResult** HRESULT of the failure - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicabilityInternal call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalSuccess - -This event indicates that the Handler CheckApplicabilityInternal call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ApplicabilityResult** The result of the applicability check. -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilitySuccess - -This event indicates that the Handler CheckApplicability call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ApplicabilityResult** The result code indicating whether the update is applicable. -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **CV_new** New correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionSuccess - -This event indicates that the Handler CheckIfCoordinatorMinApplicableVersion call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **CheckIfCoordinatorMinApplicableVersionResult** Result of CheckIfCoordinatorMinApplicableVersion function. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Commit call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **CV_new** New correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess - -This event indicates that the Handler Commit call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run.run -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **CV_new** New correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabAlreadyDownloaded - -This event indicates that the Handler Download and Extract cab returned a value indicating that the cab has already been downloaded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabFailure - -This event indicates that the Handler Download and Extract cab call failed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **DownloadAndExtractCabFunction_failureReason** Reason why the update download and extract process failed. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabSuccess - -This event indicates that the Handler Download and Extract cab call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Download call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess - -This event indicates that the Handler Download call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Initialize call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **DownloadAndExtractCabFunction_hResult** HRESULT of the download and extract. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess - -This event indicates that the Handler Initialize call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **DownloadAndExtractCabFunction_hResult** HRESULT of the download and extraction. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Install call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess - -This event indicates that the Coordinator Install call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the update campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadyGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler SetCommitReady call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadySuccess - -This event indicates that the Handler SetCommitReady call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiGenericFailure - -This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler WaitForRebootUi call. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** The ID of the campaigning being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. -- **hResult** The HRESULT of the failure. - - -### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess - -This event indicates that the Handler WaitForRebootUi call succeeded. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignID** ID of the campaign being run. -- **ClientID** ID of the client receiving the update. -- **CoordinatorVersion** Coordinator version of Direct to Update. -- **CV** Correlation vector. - - -### Microsoft.Windows.DirectToUpdate.DTUNotificationUXEnteringState - -This event indicates that DTUNotificationUX has started processing a workflow state. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CampaignID** The ID of the campaign being run. -- **ClientID** The ID of the client being run. -- **CoordinatorVersion** The coordinator version of Direct To Update. -- **CV** Correlation vector. -- **State** State of the workflow. - - -### Microsoft.Windows.DirectToUpdate.DTUNotificationUXEvaluation - -This event indicates that Applicability DLL ran a set of applicability tests. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **Action** The enumeration code of action that was handled. -- **ActiveTestExpectedResults** Bitmask of expected results of applicability tests. -- **ActiveTestResults** The bitmask results of applicability tests. -- **ActiveTestsRun** The bitmask of applicability tests that were run. -- **CampaignID** The ID of the campaign being run. -- **ClientID** The ID of the client being run. -- **CoordinatorVersion** The coordinator version of Direct To Update. -- **CV** Correlation vector. -- **FullTestResults** The bitmask of results of applicability tests. -- **FullTestsRun** The bitmask of applicability tests that were run. -- **SuppressedTests** The bitmask of applicability tests that were unable to run due to suppression caused by the configuration settings. - - -### Microsoft.Windows.DirectToUpdate.DTUNotificationUXExit - -This event indicates that DTUNotificationUX has finished execution. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CampaignID** The ID of the campaign being run. -- **ClientID** The ID of the client being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **HRESULTCausingExit** HRESULT Causing an abnormal exit, or S_OK for normal exits. -- **ProcessExitCode** The exit code that DTUNotificationUX returns to DTUCoordinator. - - -### Microsoft.Windows.DirectToUpdate.DTUNotificationUXExitingState - -This event indicates that DTUNotificationUX has stopped processing a workflow state. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CampaignID** The ID of the campaign being run. -- **ClientID** The ID of the client being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **HRESULT** Error (if any) that occurred. -- **NextState** Next workflow state we will enter. -- **State** The state of the workflow. - - -### Microsoft.Windows.DirectToUpdate.DTUNotificationUXFirstAcceptDialogDisplayed - -This event indicates that the First Accept dialog has been shown. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CampaignID** The ID of the campaign being run. -- **ClientID** The ID of the client being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **EnterpriseAttribution** If true, the user is told that the enterprise managed the reboot. -- **HRESULT** Error (if any) that occurred. -- **UserResponse** Enumeration code indicating the user response to a dialog. - - -### Microsoft.Windows.DirectToUpdate.DTUNotificationUXLaunch - -This event indicates that DTUNotificationUX has launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CampaignID** The ID of the campaign being run. -- **ClientID** The ID of the client being run. -- **CommandLine** Command line passed to DTUNotificationUX. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. - - -## DISM events - -### Microsoft.Windows.StartRepairCore.DISMLatestInstalledLCU - -The DISM Latest Installed LCU sends information to report result of search for latest installed LCU after last successful boot. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **dismInstalledLCUPackageName** The name of the latest installed package. - - -### Microsoft.Windows.StartRepairCore.DISMPendingInstall - -The DISM Pending Install event sends information to report pending package installation found. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **dismPendingInstallPackageName** The name of the pending package. - - -### Microsoft.Windows.StartRepairCore.DISMRevertPendingActions - -The DISM Pending Install event sends information to report pending package installation found. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **errorCode** The result code returned by the event. - - -### Microsoft.Windows.StartRepairCore.DISMUninstallLCU - -The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **errorCode** The result code returned by the event. - - -### Microsoft.Windows.StartRepairCore.SRTRepairActionEnd - -The SRT Repair Action End event sends information to report repair operation ended for given plug-in. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **errorCode** The result code returned by the event. -- **failedUninstallCount** The number of driver updates that failed to uninstall. -- **failedUninstallFlightIds** The Flight IDs (identifiers of beta releases) of driver updates that failed to uninstall. -- **foundDriverUpdateCount** The number of found driver updates. -- **srtRepairAction** The scenario name for a repair. -- **successfulUninstallCount** The number of successfully uninstalled driver updates. -- **successfulUninstallFlightIds** The Flight IDs (identifiers of beta releases) of successfully uninstalled driver updates. - - -### Microsoft.Windows.StartRepairCore.SRTRepairActionStart - -The SRT Repair Action Start event sends information to report repair operation started for given plug-in. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **srtRepairAction** The scenario name for a repair. - - -### Microsoft.Windows.StartRepairCore.SRTRootCauseDiagEnd - -The SRT Root Cause Diagnosis End event sends information to report diagnosis operation completed for given plug-in. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **errorCode** The result code returned by the event. -- **flightIds** The Flight IDs (identifier of the beta release) of found driver updates. -- **foundDriverUpdateCount** The number of found driver updates. -- **srtRootCauseDiag** The scenario name for a diagnosis event. - - -### Microsoft.Windows.StartRepairCore.SRTRootCauseDiagStart - -The SRT Root Cause Diagnosis Start event sends information to report diagnosis operation started for given plug-in. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **srtRootCauseDiag** The scenario name for a diagnosis event. - - -## Driver installation events - -### Microsoft.Windows.DriverInstall.DeviceInstall - -This critical event sends information about the driver installation that took place. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **ClassGuid** The unique ID for the device class. -- **ClassLowerFilters** The list of lower filter class drivers. -- **ClassUpperFilters** The list of upper filter class drivers. -- **CoInstallers** The list of coinstallers. -- **ConfigFlags** The device configuration flags. -- **DeviceConfigured** Indicates whether this device was configured through the kernel configuration. -- **DeviceInstalled** Indicates whether the legacy install code path was used. -- **DeviceInstanceId** The unique identifier of the device in the system. -- **DeviceStack** The device stack of the driver being installed. -- **DriverDate** The date of the driver. -- **DriverDescription** A description of the driver function. -- **DriverInfName** Name of the INF file (the setup information file) for the driver. -- **DriverInfSectionName** Name of the DDInstall section within the driver INF file. -- **DriverPackageId** The ID of the driver package that is staged to the driver store. -- **DriverProvider** The driver manufacturer or provider. -- **DriverShimIds** List of driver shim IDs. -- **DriverUpdated** Indicates whether the driver is replacing an old driver. -- **DriverVersion** The version of the driver file. -- **EndTime** The time the installation completed. -- **Error** Provides the WIN32 error code for the installation. -- **ExtensionDrivers** List of extension drivers that complement this installation. -- **FinishInstallAction** Indicates whether the co-installer invoked the finish-install action. -- **FinishInstallUI** Indicates whether the installation process shows the user interface. -- **FirmwareDate** The firmware date that will be stored in the EFI System Resource Table (ESRT). -- **FirmwareRevision** The firmware revision that will be stored in the EFI System Resource Table (ESRT). -- **FirmwareVersion** The firmware version that will be stored in the EFI System Resource Table (ESRT). -- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. -- **FlightIds** A list of the different Windows Insider builds on the device. -- **GenericDriver** Indicates whether the driver is a generic driver. -- **Inbox** Indicates whether the driver package is included with Windows. -- **InstallDate** The date the driver was installed. -- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. -- **LastInstallFunction** The last install function invoked in a co-installer if the install timeout was reached while a co-installer was executing. -- **LegacyInstallReasonError** The error code for the legacy installation. -- **LowerFilters** The list of lower filter drivers. -- **MatchingDeviceId** The hardware ID or compatible ID that Windows used to install the device instance. -- **NeedReboot** Indicates whether the driver requires a reboot. -- **OriginalDriverInfName** The original name of the INF file before it was renamed. -- **ParentDeviceInstanceId** The device instance ID of the parent of the device. -- **PendedUntilReboot** Indicates whether the installation is pending until the device is rebooted. -- **Problem** Error code returned by the device after installation. -- **ProblemStatus** The status of the device after the driver installation. -- **RebootRequiredReason** DWORD (Double Word—32-bit unsigned integer) containing the reason why the device required a reboot during install. -- **SecondaryDevice** Indicates whether the device is a secondary device. -- **ServiceName** The service name of the driver. -- **SessionGuid** GUID (Globally Unique IDentifier) for the update session. -- **SetupMode** Indicates whether the driver installation took place before the Out Of Box Experience (OOBE) was completed. -- **StartTime** The time when the installation started. -- **SubmissionId** The driver submission identifier assigned by the Windows Hardware Development Center. -- **UpperFilters** The list of upper filter drivers. - - -### Microsoft.Windows.DriverInstall.NewDevInstallDeviceEnd - -This event sends data about the driver installation once it is completed. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **DeviceInstanceId** The unique identifier of the device in the system. -- **DriverUpdated** Indicates whether the driver was updated. -- **Error** The Win32 error code of the installation. -- **FlightId** The ID of the Windows Insider build the device received. -- **InstallDate** The date the driver was installed. -- **InstallFlags** The driver installation flags. -- **OptionalData** Metadata specific to Windows Update (WU) associated with the driver (flight IDs, recovery IDs, etc.) -- **RebootRequired** Indicates whether a reboot is required after the installation. -- **RollbackPossible** Indicates whether this driver can be rolled back. -- **WuTargetedHardwareId** Indicates that the driver was installed because the device hardware ID was targeted by the Windows Update. -- **WuUntargetedHardwareId** Indicates that the driver was installed because Windows Update performed a generic driver update for all devices of that hardware class. - - -### Microsoft.Windows.DriverInstall.NewDevInstallDeviceStart - -This event sends data about the driver that the new driver installation is replacing. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **DeviceInstanceId** The unique identifier of the device in the system. -- **FirstInstallDate** The first time a driver was installed on this device. -- **InstallFlags** Flag indicating how driver setup was called. -- **LastDriverDate** Date of the driver that is being replaced. -- **LastDriverInbox** Indicates whether the previous driver was included with Windows. -- **LastDriverInfName** Name of the INF file (the setup information file) of the driver being replaced. -- **LastDriverPackageId** ID of the driver package installed on the device before the current install operation began. ID contains the name + architecture + hash. -- **LastDriverVersion** The version of the driver that is being replaced. -- **LastFirmwareDate** The date of the last firmware reported from the EFI System Resource Table (ESRT). -- **LastFirmwareRevision** The last firmware revision number reported from EFI System Resource Table (ESRT). -- **LastFirmwareVersion** The last firmware version reported from the EFI System Resource Table (ESRT). -- **LastInstallDate** The date a driver was last installed on this device. -- **LastMatchingDeviceId** The hardware ID or compatible ID that Windows last used to install the device instance. -- **LastProblem** The previous problem code that was set on the device. -- **LastProblemStatus** The previous problem code that was set on the device. -- **LastSubmissionId** The driver submission identifier of the driver that is being replaced. - - -## DxgKernelTelemetry events - -### DxgKrnlTelemetry.GPUAdapterInventoryV2 - -This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. - -The following fields are available: - -- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. -- **aiSeqId** The event sequence ID. -- **bootId** The system boot ID. -- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. -- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. -- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). -- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). -- **Display1UMDFilePath** The file path to the location of the Display User Mode Driver in the Driver Store. -- **DisplayAdapterLuid** The display adapter LUID. -- **DriverDate** The date of the display driver. -- **DriverRank** The rank of the display driver. -- **DriverVersion** The display driver version. -- **DriverWorkarounds** Numeric value indicating the driver workarounds that are enabled for this device. -- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. -- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. -- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. -- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. -- **GPUDeviceID** The GPU device ID. -- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. -- **GPURevisionID** The GPU revision ID. -- **GPUVendorID** The GPU vendor ID. -- **InterfaceId** The GPU interface ID. -- **IsDisplayDevice** Does the GPU have displaying capabilities? -- **IsHwSchEnabled** Boolean value indicating whether hardware scheduling is enabled. -- **IsHwSchSupported** Indicates whether the adapter supports hardware scheduling. -- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? -- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? -- **IsLDA** Is the GPU comprised of Linked Display Adapters? -- **IsMiracastSupported** Does the GPU support Miracast? -- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? -- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? -- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? -- **IsPostAdapter** Is this GPU the POST GPU in the device? -- **IsRemovable** TRUE if the adapter supports being disabled or removed. -- **IsRenderDevice** Does the GPU have rendering capabilities? -- **IsSoftwareDevice** Is this a software implementation of the GPU? -- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. -- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? -- **NumVidPnSources** The number of supported display output sources. -- **NumVidPnTargets** The number of supported display output targets. -- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). -- **SubSystemID** The subsystem ID. -- **SubVendorID** The GPU sub vendor ID. -- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? -- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) -- **version** The event version. -- **WDDMVersion** The Windows Display Driver Model version. - - -## Failover Clustering events - -### Microsoft.Windows.Server.FailoverClusteringCritical.ClusterSummary2 - -This event returns information about how many resources and of what type are in the server cluster. This data is collected to keep Windows Server safe, secure, and up to date. The data includes information about whether hardware is configured correctly, if the software is patched correctly, and assists in preventing crashes by attributing issues (like fatal errors) to workloads and system configurations. - -The following fields are available: - -- **autoAssignSite** The cluster parameter: auto site. -- **autoBalancerLevel** The cluster parameter: auto balancer level. -- **autoBalancerMode** The cluster parameter: auto balancer mode. -- **blockCacheSize** The configured size of the block cache. -- **ClusterAdConfiguration** The ad configuration of the cluster. -- **clusterAdType** The cluster parameter: mgmt_point_type. -- **clusterDumpPolicy** The cluster configured dump policy. -- **clusterFunctionalLevel** The current cluster functional level. -- **clusterGuid** The unique identifier for the cluster. -- **clusterWitnessType** The witness type the cluster is configured for. -- **countNodesInSite** The number of nodes in the cluster. -- **crossSiteDelay** The cluster parameter: CrossSiteDelay. -- **crossSiteThreshold** The cluster parameter: CrossSiteThreshold. -- **crossSubnetDelay** The cluster parameter: CrossSubnetDelay. -- **crossSubnetThreshold** The cluster parameter: CrossSubnetThreshold. -- **csvCompatibleFilters** The cluster parameter: ClusterCsvCompatibleFilters. -- **csvIncompatibleFilters** The cluster parameter: ClusterCsvIncompatibleFilters. -- **csvResourceCount** The number of resources in the cluster. -- **currentNodeSite** The name configured for the current site for the cluster. -- **dasModeBusType** The direct storage bus type of the storage spaces. -- **downLevelNodeCount** The number of nodes in the cluster that are running down-level. -- **drainOnShutdown** Specifies whether a node should be drained when it is shut down. -- **dynamicQuorumEnabled** Specifies whether dynamic Quorum has been enabled. -- **enforcedAntiAffinity** The cluster parameter: enforced anti affinity. -- **genAppNames** The win32 service name of a clustered service. -- **genSvcNames** The command line of a clustered genapp. -- **hangRecoveryAction** The cluster parameter: hang recovery action. -- **hangTimeOut** Specifies the “hang time out” parameter for the cluster. -- **isCalabria** Specifies whether storage spaces direct is enabled. -- **isMixedMode** Identifies if the cluster is running with different version of OS for nodes. -- **isRunningDownLevel** Identifies if the current node is running down-level. -- **logLevel** Specifies the granularity that is logged in the cluster log. -- **logSize** Specifies the size of the cluster log. -- **lowerQuorumPriorityNodeId** The cluster parameter: lower quorum priority node ID. -- **minNeverPreempt** The cluster parameter: minimum never preempt. -- **minPreemptor** The cluster parameter: minimum preemptor priority. -- **netftIpsecEnabled** The parameter: netftIpsecEnabled. -- **NodeCount** The number of nodes in the cluster. -- **nodeId** The current node number in the cluster. -- **nodeResourceCounts** Specifies the number of node resources. -- **nodeResourceOnlineCounts** Specifies the number of node resources that are online. -- **numberOfSites** The number of different sites. -- **numNodesInNoSite** The number of nodes not belonging to a site. -- **plumbAllCrossSubnetRoutes** The cluster parameter: plumb all cross subnet routes. -- **preferredSite** The preferred site location. -- **privateCloudWitness** Specifies whether a private cloud witness exists for this cluster. -- **quarantineDuration** The quarantine duration. -- **quarantineThreshold** The quarantine threshold. -- **quorumArbitrationTimeout** In the event of an arbitration event, this specifies the quorum timeout period. -- **resiliencyLevel** Specifies the level of resiliency. -- **resourceCounts** Specifies the number of resources. -- **resourceTypeCounts** Specifies the number of resource types in the cluster. -- **resourceTypes** Data representative of each resource type. -- **resourceTypesPath** Data representative of the DLL path for each resource type. -- **sameSubnetDelay** The cluster parameter: same subnet delay. -- **sameSubnetThreshold** The cluster parameter: same subnet threshold. -- **secondsInMixedMode** The amount of time (in seconds) that the cluster has been in mixed mode (nodes with different operating system versions in the same cluster). -- **securityLevel** The cluster parameter: security level. -- **securityLevelForStorage** The cluster parameter: security level for storage. -- **sharedVolumeBlockCacheSize** Specifies the block cache size for shared for shared volumes. -- **shutdownTimeoutMinutes** Specifies the amount of time it takes to time out when shutting down. -- **upNodeCount** Specifies the number of nodes that are up (online). -- **useClientAccessNetworksForCsv** The cluster parameter: use client access networks for CSV. -- **vmIsolationTime** The cluster parameter: VM isolation time. -- **witnessDatabaseWriteTimeout** Specifies the timeout period for writing to the quorum witness database. - - -## Fault Reporting events - -### Microsoft.Windows.FaultReporting.AppCrashEvent - -This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. - -The following fields are available: - -- **AppName** The name of the app that has crashed. -- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. -- **AppTimeStamp** The date/time stamp of the app. -- **AppVersion** The version of the app that has crashed. -- **ExceptionCode** The exception code returned by the process that has crashed. -- **ExceptionOffset** The address where the exception had occurred. -- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. -- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. -- **IsFatal** True/False to indicate whether the crash resulted in process termination. -- **ModName** Exception module name (e.g. bar.dll). -- **ModTimeStamp** The date/time stamp of the module. -- **ModVersion** The version of the module that has crashed. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has crashed. -- **ProcessId** The ID of the process that has crashed. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported -- **TargetAsId** The sequence number for the hanging process. - - -## Feature update events - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed - -This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **failureReason** Provides data about the uninstall initialization operation failure. -- **hr** Provides the Win32 error code for the operation failure. - - -### Microsoft.Windows.Upgrade.Uninstall.UninstallFinalizedAndRebootTriggered - -This event indicates that the uninstall was properly configured and that a system reboot was initiated. The data collected with this event is used to help keep Windows up to date and performing properly. - - - -## Hang Reporting events - -### Microsoft.Windows.HangReporting.AppHangEvent - -This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. - -The following fields are available: - -- **AppName** The name of the app that has hung. -- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. -- **AppVersion** The version of the app that has hung. -- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. -- **PackageFullName** Store application identity. -- **PackageRelativeAppId** Store application identity. -- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. -- **ProcessCreateTime** The time of creation of the process that has hung. -- **ProcessId** The ID of the process that has hung. -- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. -- **TargetAppId** The kernel reported AppId of the application being reported. -- **TargetAppVer** The specific version of the application being reported. -- **TargetAsId** The sequence number for the hanging process. -- **TypeCode** Bitmap describing the hang type. -- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. -- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. -- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. -- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. - - -## Holographic events - -### Microsoft.Windows.Holographic.Coordinator.HoloShellStateUpdated - -This event indicates Windows Mixed Reality HoloShell State. This event is also used to count WMR device. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **HmdState** Windows Mixed Reality Headset HMD state. -- **NewHoloShellState** Windows Mixed Reality HoloShell state. -- **PriorHoloShellState** Windows Mixed Reality state prior to entering to HoloShell. -- **SimulationEnabled** Windows Mixed Reality Simulation state. - - -### Microsoft.Windows.Shell.HolographicFirstRun.AppActivated - -This event indicates Windows Mixed Reality Portal app activation state. This event also used to count WMR device. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **IsDemoMode** Windows Mixed Reality Portal app state of demo mode. -- **IsDeviceSetupComplete** Windows Mixed Reality Portal app state of device setup completion. -- **PackageVersion** Windows Mixed Reality Portal app package version. -- **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. -- **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming - -This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. The data collected with this event is used to keep Windows performing properly. - - - -### TraceLoggingOasisUsbHostApiProvider.DeviceInformation - -This event provides Windows Mixed Reality device information. This event is also used to count WMR device and device type. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BootloaderMajorVer** Windows Mixed Reality device boot loader major version. -- **BootloaderMinorVer** Windows Mixed Reality device boot loader minor version. -- **BootloaderRevisionNumber** Windows Mixed Reality device boot loader revision number. -- **BTHFWMajorVer** Windows Mixed Reality device BTHFW major version. This event also used to count WMR device. -- **BTHFWMinorVer** Windows Mixed Reality device BTHFW minor version. This event also used to count WMR device. -- **BTHFWRevisionNumber** Windows Mixed Reality device BTHFW revision number. -- **CalibrationBlobSize** Windows Mixed Reality device calibration blob size. -- **CalibrationFwMajorVer** Windows Mixed Reality device calibration firmware major version. -- **CalibrationFwMinorVer** Windows Mixed Reality device calibration firmware minor version. -- **CalibrationFwRevNum** Windows Mixed Reality device calibration firmware revision number. -- **DeviceInfoFlags** Windows Mixed Reality device info flags. -- **DeviceName** Windows Mixed Reality device Name. This event is also used to count WMR device. -- **DeviceReleaseNumber** Windows Mixed Reality device release number. -- **FirmwareMajorVer** Windows Mixed Reality device firmware major version. -- **FirmwareMinorVer** Windows Mixed Reality device firmware minor version. -- **FirmwareRevisionNumber** Windows Mixed Reality device calibration firmware revision number. -- **FpgaFwMajorVer** Windows Mixed Reality device FPGA firmware major version. -- **FpgaFwMinorVer** Windows Mixed Reality device FPGA firmware minor version. -- **FpgaFwRevisionNumber** Windows Mixed Reality device FPGA firmware revision number. -- **FriendlyName** Windows Mixed Reality device friendly name. -- **HashedSerialNumber** Windows Mixed Reality device hashed serial number. -- **HeaderSize** Windows Mixed Reality device header size. -- **HeaderVersion** Windows Mixed Reality device header version. -- **LicenseKey** Windows Mixed Reality device header license key. -- **Make** Windows Mixed Reality device make. -- **ManufacturingDate** Windows Mixed Reality device manufacturing date. -- **Model** Windows Mixed Reality device model. -- **PresenceSensorHidVendorPage** Windows Mixed Reality device presence sensor HID vendor page. -- **PresenceSensorHidVendorUsage** Windows Mixed Reality device presence sensor HID vendor usage. -- **PresenceSensorUsbVid** Windows Mixed Reality device presence sensor USB VId. -- **ProductBoardRevision** Windows Mixed Reality device product board revision number. -- **SerialNumber** Windows Mixed Reality device serial number. - - -## Inventory events - -### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum - -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Device** A count of device objects in cache. -- **DeviceCensus** A count of device census objects in cache. -- **DriverPackageExtended** A count of driverpackageextended objects in cache. -- **File** A count of file objects in cache. -- **FileSigningInfo** A count of file signing objects in cache. -- **Generic** A count of generic objects in cache. -- **HwItem** A count of hwitem objects in cache. -- **InventoryAcpiPhatHealthRecord** A count of ACPI PHAT health record objects in cache. -- **InventoryAcpiPhatVersionElement** A count of ACPI PHAT version element objects in cache. -- **InventoryApplication** A count of application objects in cache. -- **InventoryApplicationAppV** A count of application AppV objects in cache. -- **InventoryApplicationDriver** A count of application driver objects in cache -- **InventoryApplicationFile** A count of application file objects in cache. -- **InventoryApplicationFramework** A count of application framework objects in cache -- **InventoryApplicationShortcut** A count of application shortcut objects in cache -- **InventoryDeviceContainer** A count of device container objects in cache. -- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. -- **InventoryDeviceMediaClass** A count of device media objects in cache. -- **InventoryDevicePnp** A count of device Plug and Play objects in cache. -- **InventoryDeviceSensor** A count of device sensor objects in cache. -- **InventoryDeviceUsbHubClass** A count of device usb objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache. -- **InventoryDriverPackage** A count of device objects in cache. -- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache -- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. -- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache -- **InventoryMiscellaneousOfficeIESettings** A count of office ie settings objects in cache -- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache -- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache -- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache -- **InventoryMiscellaneousOfficeVBA** A count of office vba objects in cache -- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache -- **InventoryMiscellaneousUUPInfo** A count of uup info objects in cache -- **InventoryVersion** test -- **Metadata** A count of metadata objects in cache. -- **Orphan** A count of orphan file objects in cache. -- **Programs** A count of program objects in cache. - - -### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions - -This event sends inventory component versions for the Device Inventory data. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **aeinv** The version of the App inventory component. -- **devinv** The file version of the Device inventory component. - - -### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd - -This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **CatalogSigners** Signers from catalog. Each signer starts with Chain. -- **DigestAlgorithm** The pseudonymizing (hashing) algorithm used when the file or package was signed. -- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. -- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. -- **FileName** The file name of the file whose signatures are listed. -- **FileType** Either exe or sys, depending on if a driver package or application executable. -- **InventoryVersion** The version of the inventory file generating the events. -- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd - -This event sends basic metadata about an application on the system. The data collected with this event is used to keep Windows performing properly and up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **AndroidPackageId** A unique identifier for an Android app. -- **HiddenArp** Indicates whether a program hides itself from showing up in ARP. -- **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). -- **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 -- **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. -- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. -- **InventoryVersion** The version of the inventory file generating the events. -- **Language** The language code of the program. -- **LattePackageId** The ID of the Latte package. -- **MsiInstallDate** The install date recorded in the program's MSI package. -- **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. -- **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application. -- **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. -- **PackageFullName** The package full name for a Store application. -- **ProgramInstanceId** A hash of the file IDs in an app. -- **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. -- **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (for example, ARP, MSI, Appx). -- **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. -- **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. -- **Version** The version number of the program. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd - -This event represents what drivers an application installs. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component -- **ProgramIds** The unique program identifier the driver is associated with - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync - -The InventoryApplicationDriverStartSync event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory component. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFileAdd - -This event provides file-level information about the applications that exist on the system. This event is used to understand the applications on a device to determine if those applications will experience compatibility issues when upgrading Windows. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **BinaryType** The architecture of the binary (executable) file. -- **BinFileVersion** Version information for the binary (executable) file. -- **BinProductVersion** The product version provided by the binary (executable) file. -- **BoeProgramId** The “bag of evidence” program identifier. -- **CompanyName** The company name included in the binary (executable) file. -- **FileId** A pseudonymized (hashed) unique identifier derived from the file itself. -- **FileVersion** The version of the file. -- **InventoryVersion** The version of the inventory component. -- **Language** The language declared in the binary (executable) file. -- **LinkDate** The compiler link date. -- **LowerCaseLongPath** The file path in “long” format. -- **Name** The file name. -- **ProductName** The product name declared in the binary (executable) file. -- **ProductVersion** The product version declared in the binary (executable) file. -- **ProgramId** The program identifier associated with the binary (executable) file. -- **Size** The size of the binary (executable) file. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd - -This event provides the basic metadata about the frameworks an application may depend on. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **FileId** A hash that uniquely identifies a file. -- **Frameworks** The list of frameworks this file depends on. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync - -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryApplicationStartSync - -This event indicates that a new set of InventoryApplicationAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerAdd - -This event sends basic metadata about a device container (such as a monitor or printer as opposed to a Plug and Play device). The data collected with this event is used to help keep Windows up to date and to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Categories** A comma separated list of functional categories in which the container belongs. -- **DiscoveryMethod** The discovery method for the device container. -- **FriendlyName** The name of the device container. -- **InventoryVersion** The version of the inventory file generating the events. -- **IsActive** Is the device connected, or has it been seen in the last 14 days? -- **IsConnected** For a physically attached device, this value is the same as IsPresent. For wireless a device, this value represents a communication link. -- **IsMachineContainer** Is the container the root device itself? -- **IsNetworked** Is this a networked device? -- **IsPaired** Does the device container require pairing? -- **Manufacturer** The manufacturer name for the device container. -- **ModelId** A unique model ID. -- **ModelName** The model name. -- **ModelNumber** The model number for the device container. -- **PrimaryCategory** The primary category for the device container. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerRemove - -This event indicates that the InventoryDeviceContainer object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerStartSync - -This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceAdd - -This event retrieves information about what sensor interfaces are available on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Accelerometer3D** Indicates if an Accelerator3D sensor is found. -- **ActivityDetection** Indicates if an Activity Detection sensor is found. -- **AmbientLight** Indicates if an Ambient Light sensor is found. -- **Barometer** Indicates if a Barometer sensor is found. -- **Custom** Indicates if a Custom sensor is found. -- **EnergyMeter** Indicates if an Energy sensor is found. -- **FloorElevation** Indicates if a Floor Elevation sensor is found. -- **GeomagneticOrientation** Indicates if a Geo Magnetic Orientation sensor is found. -- **GravityVector** Indicates if a Gravity Detector sensor is found. -- **Gyrometer3D** Indicates if a Gyrometer3D sensor is found. -- **Humidity** Indicates if a Humidity sensor is found. -- **InventoryVersion** The version of the inventory file generating the events. -- **LinearAccelerometer** Indicates if a Linear Accelerometer sensor is found. -- **Magnetometer3D** Indicates if a Magnetometer3D sensor is found. -- **Orientation** Indicates if an Orientation sensor is found. -- **Pedometer** Indicates if a Pedometer sensor is found. -- **Proximity** Indicates if a Proximity sensor is found. -- **RelativeOrientation** Indicates if a Relative Orientation sensor is found. -- **SimpleDeviceOrientation** Indicates if a Simple Device Orientation sensor is found. -- **Temperature** Indicates if a Temperature sensor is found. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceInterfaceStartSync - -This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassAdd - -This event sends additional metadata about a Plug and Play device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Audio.CaptureDriver** The capture driver endpoint for the audio device. -- **Audio.RenderDriver** The render driver for the audio device. -- **Audio_CaptureDriver** The Audio device capture driver endpoint. -- **Audio_RenderDriver** The Audio device render driver endpoint. -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassRemove - -This event indicates that the InventoryDeviceMediaClass object represented by the objectInstanceId is no longer present. This event is used to understand a PNP device that is specific to a particular class of devices. The data collected with this event is used to help keep Windows up to date and performing properly while reducing overall size of data payload. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync - -This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd - -This event sends basic metadata about a PNP device and its associated driver to help keep Windows up to date. This information is used to assess if the PNP device and driver will remain compatible when upgrading Windows. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **BusReportedDescription** The description of the device reported by the bux. -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class GUID from the driver package -- **COMPID** The device setup class guid of the driver loaded for the device. -- **ContainerId** The list of compat ids for the device. -- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. -- **DeviceDriverFlightId** The test build (Flight) identifier of the device driver. -- **DeviceExtDriversFlightIds** The test build (Flight) identifier for all extended device drivers. -- **DeviceInterfaceClasses** The device interfaces that this device implements. -- **DeviceState** The device description. -- **DriverId** DeviceState is a bitmask of the following: DEVICE_IS_CONNECTED 0x0001 (currently only for container). DEVICE_IS_NETWORK_DEVICE 0x0002 (currently only for container). DEVICE_IS_PAIRED 0x0004 (currently only for container). DEVICE_IS_ACTIVE 0x0008 (currently never set). DEVICE_IS_MACHINE 0x0010 (currently only for container). DEVICE_IS_PRESENT 0x0020 (currently always set). DEVICE_IS_HIDDEN 0x0040. DEVICE_IS_PRINTER 0x0080 (currently only for container). DEVICE_IS_WIRELESS 0x0100. DEVICE_IS_WIRELESS_FAT 0x0200. The most common values are therefore: 32 (0x20)= device is present. 96 (0x60)= device is present but hidden. 288 (0x120)= device is a wireless device that is present -- **DriverName** A unique identifier for the driver installed. -- **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage -- **DriverVerDate** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). -- **DriverVerVersion** The immediate parent directory name in the Directory field of InventoryDriverPackage. -- **Enumerator** The date of the driver loaded for the device. -- **ExtendedInfs** The extended INF file names. -- **FirstInstallDate** The first time this device was installed on the machine. -- **HWID** The version of the driver loaded for the device. -- **Inf** The bus that enumerated the device. -- **InstallDate** The date of the most recent installation of the device on the machine. -- **InstallState** The device installation state. One of these values: [DEVICE_INSTALL_STATE enumeration](/windows-hardware/drivers/ddi/wdm/ne-wdm-_device_install_state) -- **InventoryVersion** List of hardware ids for the device. -- **LowerClassFilters** Lower filter class drivers IDs installed for the device -- **LowerFilters** Lower filter drivers IDs installed for the device -- **Manufacturer** INF file name (the name could be renamed by OS, such as oemXX.inf) -- **MatchingID** Device installation state. -- **Model** The version of the inventory binary generating the events. -- **ParentId** Lower filter class drivers IDs installed for the device. -- **ProblemCode** Lower filter drivers IDs installed for the device. -- **Provider** The device manufacturer. -- **Service** The device service name -- **STACKID** Represents the hardware ID or compatible ID that Windows uses to install a device instance. -- **UpperClassFilters** Upper filter drivers IDs installed for the device -- **UpperFilters** The device model. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpRemove - -This event indicates that the InventoryDevicePnpRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDevicePnpStartSync - -This event indicates that a new set of InventoryDevicePnpAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceSensorAdd - -This event sends basic metadata about sensor devices on a machine. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory binary generating the events. -- **Manufacturer** Sensor manufacturer. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceSensorStartSync - -This event indicates that a new set of InventoryDeviceSensor events will be sent. The data collected with this event is used to help keep Windows up to date. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory binary generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassAdd - -This event sends basic metadata about the USB hubs on the device. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. -- **TotalUserConnectablePorts** Total number of connectable USB ports. -- **TotalUserConnectableTypeCPorts** Total number of connectable USB Type C ports. - - -### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync - -This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd - -This event sends basic metadata about driver binaries running on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **DriverCheckSum** The checksum of the driver file. -- **DriverCompany** The company name that developed the driver. -- **DriverInBox** Is the driver included with the operating system? -- **DriverIsKernelMode** Is it a kernel mode driver? -- **DriverName** The file name of the driver. -- **DriverPackageStrongName** The strong name of the driver package -- **DriverSigned** Is the driver signed? -- **DriverTimeStamp** The low 32 bits of the time stamp of the driver file. -- **DriverType** A bitfield of driver attributes: 1. define DRIVER_MAP_DRIVER_TYPE_PRINTER 0x0001. 2. define DRIVER_MAP_DRIVER_TYPE_KERNEL 0x0002. 3. define DRIVER_MAP_DRIVER_TYPE_USER 0x0004. 4. define DRIVER_MAP_DRIVER_IS_SIGNED 0x0008. 5. define DRIVER_MAP_DRIVER_IS_INBOX 0x0010. 6. define DRIVER_MAP_DRIVER_IS_WINQUAL 0x0040. 7. define DRIVER_MAP_DRIVER_IS_SELF_SIGNED 0x0020. 8. define DRIVER_MAP_DRIVER_IS_CI_SIGNED 0x0080. 9. define DRIVER_MAP_DRIVER_HAS_BOOT_SERVICE 0x0100. 10. define DRIVER_MAP_DRIVER_TYPE_I386 0x10000. 11. define DRIVER_MAP_DRIVER_TYPE_IA64 0x20000. 12. define DRIVER_MAP_DRIVER_TYPE_AMD64 0x40000. 13. define DRIVER_MAP_DRIVER_TYPE_ARM 0x100000. 14. define DRIVER_MAP_DRIVER_TYPE_THUMB 0x200000. 15. define DRIVER_MAP_DRIVER_TYPE_ARMNT 0x400000. 16. define DRIVER_MAP_DRIVER_IS_TIME_STAMPED 0x800000. -- **DriverVersion** The version of the driver file. -- **ImageSize** The size of the driver file. -- **Inf** The name of the INF file. -- **InventoryVersion** The version of the inventory file generating the events. -- **Product** The product name that is included in the driver file. -- **ProductVersion** The product version that is included in the driver file. -- **Service** The name of the service that is installed for the device. -- **WdfVersion** The Windows Driver Framework version. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryRemove - -This event indicates that the InventoryDriverBinary object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryStartSync - -This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageAdd - -This event sends basic metadata about drive packages installed on the system. The data collected with this event is used to help keep Windows up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Class** The class name for the device driver. -- **ClassGuid** The class GUID for the device driver. -- **Date** The driver package date. -- **Directory** The path to the driver package. -- **DriverInBox** Is the driver included with the operating system? -- **FlightIds** Driver Flight IDs. -- **Inf** The INF name of the driver package. -- **InventoryVersion** The version of the inventory file generating the events. -- **Provider** The provider for the driver package. -- **RecoveryIds** Driver recovery IDs. -- **SubmissionId** The HLK submission ID for the driver package. -- **Version** The version of the driver package. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageRemove - -This event indicates that the InventoryDriverPackageRemove object is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.InventoryDriverPackageStartSync - -This event indicates that a new set of InventoryDriverPackageAdd events will be sent. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **InventoryVersion** The version of the inventory file generating the events. - - -### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace - -This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. - -The following fields are available: - -- **key** The globally unique identifier (GUID) used to identify the specific Json Trace logging session. - - -### Microsoft.Windows.Inventory.General.AppHealthStaticAdd - -This event sends details collected for a specific application on the source device. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.General.AppHealthStaticStartSync - -This event indicates the beginning of a series of AppHealthStaticAdd events. The data collected with this event is used to keep Windows performing properly. - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoAdd - -This event provides basic information about active memory slots on the device. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Capacity** Memory size in bytes -- **Manufacturer** Name of the DRAM manufacturer -- **Model** Model and sub-model of the memory -- **Slot** Slot to which the DRAM is plugged into the motherboard. -- **Speed** The configured memory slot speed in MHz. -- **Type** Reports DDR as an enumeration value per DMTF SMBIOS standard version 3.3.0, section 7.18.2. -- **TypeDetails** Reports Non-volatile as a bit flag enumeration as per the DMTF SMBIOS standard version 3.3.0, section 7.18.3. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync - -This diagnostic event indicates a new sync is being generated for this object type. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd - -This event provides data on Unified Update Platform (UUP) products and what version they are at. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **Identifier** UUP identifier -- **LastActivatedVersion** Last activated version -- **PreviousVersion** Previous version -- **Source** UUP source -- **Version** UUP version - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync - -This is a diagnostic event that indicates a new sync is being generated for this object type. The data collected with this event is used to keep Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.Checksum - -This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **CensusId** A unique hardware identifier. -- **ChecksumDictionary** A count of each operating system indicator. -- **PCFP** Equivalent to the InventoryId field that is found in other core events. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd - -This event represents the basic metadata about the OS indicators installed on the system. The data collected with this event helps ensure the device is up to date and keeps Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - -The following fields are available: - -- **IndicatorValue** The indicator value. - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorEndSync - -This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events has been sent. The data collected with this event helps ensure the device is up to date and keeps Windows performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync - -This event indicates that this particular data object represented by the objectInstanceId is no longer present. This event is used to understand the OS indicators installed on the system. The data collected with this event helps ensure the device is current and Windows is up to date and performing properly. - -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - - - -## IoT events - -### Microsoft.Windows.IoT.Client.CEPAL.MonitorStarted - -This event identifies Windows Internet of Things (IoT) devices which are running the CE PAL subsystem by sending data during CE PAL startup. The data collected with this event is used to keep Windows performing properly. - - - -## Kernel events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch - -This event includes basic data about the Operating System, collected during Boot and used to evaluate the success of the upgrade process. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. -- **BootStatusPolicy** Identifies the applicable Boot Status Policy. -- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. -- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. -- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonPch** Reason for system reset provided by firmware. -- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. -- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). -- **LastBootSucceeded** Flag indicating whether the last boot was successful. -- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. -- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. -- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. -- **MeasuredLaunchCapable** Indicates the system is capable of booting with Dynamic Root of Trust for Measurement (DRTM) support. -- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). -- **MeasuredLaunchResume** This field tells us if Dynamic Root of Trust for Measurement (DRTM) was used when resuming from hibernation. -- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). -- **RecoveryEnabled** Indicates whether recovery is enabled. -- **TcbLaunch** Indicates whether the Trusted Computing Base was used during the boot flow. -- **UserInputTime** The amount of time the loader application spent waiting for user input. - - -### Microsoft.Windows.Kernel.DeviceConfig.DeviceConfig - -This critical device configuration event provides information about drivers for a driver installation that took place within the kernel. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **ClassGuid** The unique ID for the device class. -- **DeviceInstanceId** The unique ID for the device on the system. -- **DriverDate** The date of the driver. -- **DriverFlightIds** The IDs for the driver flights. -- **DriverInfName** Driver INF file name. -- **DriverProvider** The driver manufacturer or provider. -- **DriverSubmissionId** The driver submission ID assigned by the hardware developer center. -- **DriverVersion** The driver version number. -- **ExtensionDrivers** The list of extension driver INF files, extension IDs, and associated flight IDs. -- **FirstHardwareId** The ID in the hardware ID list that provides the most specific device description. -- **InboxDriver** Indicates whether the driver package is included with Windows. -- **InstallDate** Date the driver was installed. -- **LastCompatibleId** The ID in the hardware ID list that provides the least specific device description. -- **Legacy** Indicates whether the driver is a legacy driver. -- **NeedReboot** Indicates whether the driver requires a reboot. -- **SetupMode** Indicates whether the device configuration occurred during the Out Of Box Experience (OOBE). -- **StatusCode** The NTSTATUS of device configuration operation. - - -### Microsoft.Windows.Kernel.PnP.AggregateClearDevNodeProblem - -This event is sent when a problem code is cleared from a device. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **Count** The total number of events. -- **DeviceInstanceId** The unique identifier of the device on the system. -- **LastProblem** The previous problem that was cleared. -- **LastProblemStatus** The previous NTSTATUS value that was cleared. -- **ServiceName** The name of the driver or service attached to the device. - - -### Microsoft.Windows.Kernel.PnP.AggregateSetDevNodeProblem - -This event is sent when a new problem code is assigned to a device. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **Count** The total number of events. -- **DeviceInstanceId** The unique identifier of the device in the system. -- **LastProblem** The previous problem code that was set on the device. -- **LastProblemStatus** The previous NTSTATUS value that was set on the device. -- **Problem** The new problem code that was set on the device. -- **ProblemStatus** The new NTSTATUS value that was set on the device. -- **ServiceName** The driver or service name that is attached to the device. - - -### Microsoft.Windows.Kernel.Power.PreviousShutdownWasThermalShutdown - -This event sends Product and Service Performance data on which area of the device exceeded safe temperature limits and caused the device to shutdown. This information is used to ensure devices are behaving as they are expected to. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **temperature** Contains the actual temperature measurement, in tenths of degrees Kelvin, for the area that exceeded the limit. -- **thermalZone** Contains an identifier that specifies which area it was that exceeded temperature limits. - - -## Microsoft Edge events - -### Aria.160f0649efde47b7832f05ed000fc453.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **brandCode** Contains the 4 character brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **device_sample_rate** A number representing how often the device sends telemetry, expressed as a percentage. Low values indicate that device sends more events and high values indicate that device sends fewer events. The value is rounded to 5 significant figures for privacy reasons and if an error is hit in getting the device sample number value from the registry then this will be -1; and if client is not on a UTC-enabled platform, then this value will not be set. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event, where 1 is basic, 2 is enhanced, and 3 is full. -- **experimentation_mode** A number representing the value set for the ExperimentationAndConfigurationServiceControl group policy. See [Microsoft Edge - Policies](/DeployEdge/microsoft-edge-policies#experimentationandconfigurationservicecontrol) for more details on this policy. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **installSourceName** A string representation of the installation source. -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reactivationBrandCode** Contains the 4 character reactivation brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.29e24d069f27450385c7acaa2f07e277.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **brandCode** Contains the 4 character brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **device_sample_rate** A number representing how often the device sends telemetry, expressed as a percentage. Low values indicate that device sends more events and high values indicate that device sends fewer events. The value is rounded to 5 significant figures for privacy reasons and if an error is hit in getting the device sample number value from the registry then this will be -1; and if client is not on a UTC-enabled platform, then this value will not be set. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **experimentation_mode** A number representing the value set for the ExperimentationAndConfigurationServiceControl group policy. See [Microsoft Edge - Policies](/DeployEdge/microsoft-edge-policies#experimentationandconfigurationservicecontrol) for more details on this policy. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **installSourceName** A string representation of the installation source. -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reactivationBrandCode** Contains the 4 character reactivation brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.7005b72804a64fa4b2138faab88f877b.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_env** The environment from which the event was logged when testing; otherwise, the field is omitted or left blank. -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **brandCode** Contains the 4 character brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_localId** If the device is using Windows Defender Application Guard, this is the Software Quality Metrics (SQM) ID of the container. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **device_sample_rate** A number representing how often the device sends telemetry, expressed as a percentage. Low values indicate that device sends more events and high values indicate that device sends fewer events. The value is rounded to 5 significant figures for privacy reasons and if an error is hit in getting the device sample number value from the registry then this will be -1; and if client is not on a UTC-enabled platform, then this value will not be set. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **experimentation_mode** A number representing the value set for the ExperimentationAndConfigurationServiceControl group policy. See [Microsoft Edge - Policies](/DeployEdge/microsoft-edge-policies#experimentationandconfigurationservicecontrol) for more details on this policy. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **installSourceName** A string representation of the installation source. -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reactivationBrandCode** Contains the 4 character reactivation brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.754de735ccd546b28d0bfca8ac52c3de.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **brandCode** Contains the 4 character brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **device_sample_rate** A number representing how often the device sends telemetry, expressed as a percentage. Low values indicate that device sends more events and high values indicate that device sends fewer events. The value is rounded to 5 significant figures for privacy reasons and if an error is hit in getting the device sample number value from the registry then this will be -1; and if client is not on a UTC-enabled platform, then this value will not be set. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **experimentation_mode** A number representing the value set for the ExperimentationAndConfigurationServiceControl group policy. See [Microsoft Edge - Policies](/DeployEdge/microsoft-edge-policies#experimentationandconfigurationservicecontrol) for more details on this policy. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **installSourceName** A string representation of the installation source. -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reactivationBrandCode** Contains the 4 character reactivation brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -This Ping event sends a detailed inventory of software and hardware information about the EdgeUpdate service, Edge applications, and the current system environment including app configuration, update configuration, and hardware capabilities. This event contains Device Connectivity and Configuration, Product and Service Performance, and Software Setup and Inventory data. One or more events is sent each time any installation, update, or uninstallation occurs with the EdgeUpdate service or with Edge applications. This event is used to measure the reliability and performance of the EdgeUpdate service and if Edge applications are up to date. This is an indication that the event is designed to keep Windows secure and up to date. - -The following fields are available: - -- **appAp** Any additional parameters for the specified application. Default: ''. -- **appAppId** The GUID that identifies the product. Compatible clients must transmit this attribute. Please see the wiki for additional information. Default: undefined. -- **appBrandCode** The brand code under which the product was installed, if any. A brand code is a short (4-character) string used to identify installations that took place as a result of partner deals or website promotions. Default: ''. -- **appChannel** An integer indicating the channel of the installation (i.e. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release cohort (channel) that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. The exact legal values are app-specific and should be shared between the server and app implementations. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort Name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. The client MAY fuzz this value to the week granularity (e.g. send '0' for 0 through 6, '7' for 7 through 13, etc.). The first communication to the server should use a special value of '-1'. A value of '-2' indicates that this value is not known. Please see the wiki for additional information. Default: '-2'. -- **appExperiments** A key/value list of experiment identifiers. Experiment labels are used to track membership in different experimental groups, and may be set at install or update time. The experiments string is formatted as a semicolon-delimited concatenation of experiment label strings. An experiment label string is an experiment Name, followed by the '=' character, followed by an experimental label value. For example: 'crdiff=got_bsdiff;optimized=O3'. The client should not transmit the expiration date of any experiments it has, even if the server previously specified a specific expiration date. Default: ''. -- **appInstallTime** The product install time in seconds. '0' if unknown. Default: '-1'. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appLastLaunchTime** The time when browser was last launched. -- **appNextVersion** The version of the app that the update flow to which this event belongs attempted to reach, regardless of the success or failure of the update operation. Please see the wiki for additional information. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDoneBeforeOOBEComplete** Indicates whether the install or update was completed before Windows Out of the Box Experience ends. 1 means event completed before OOBE finishes; 0 means event was not completed before OOBE finishes; -1 means the field does not apply. -- **appPingEventDownloadMetricsCdnAzureRefOriginShield** Provides a unique reference string that identifies a request served by Azure Front Door. It's used to search access logs and is critical for troubleshooting. E.g. Ref A: E172B39D19774147B0EFCC8E3E823D9D Ref B: BL2EDGE0215 Ref C: 2021-05-11T22:25:48Z -- **appPingEventDownloadMetricsCdnCache** Corresponds to the result, whether the proxy has served the result from cache (HIT for yes, and MISS for no) E.g. HIT from proxy.domain.tld, MISS from proxy.local -- **appPingEventDownloadMetricsCdnCCC** ISO 2 character country code that matches to the country updated binaries are delivered from. E.g.: US. -- **appPingEventDownloadMetricsCdnCID** Numeric value used to internally track the origins of the updated binaries. For example, 2. -- **appPingEventDownloadMetricsCdnMSEdgeRef** Used to help correlate client-to-AFD (Azure Front Door) conversations. E.g. Ref A: E2476A9592DF426A934098C0C2EAD3AB Ref B: DM2EDGE0307 Ref C: 2022-01-13T22:08:31Z -- **appPingEventDownloadMetricsCdnP3P** Electronic privacy statement: CAO = collects contact-and-other, PSA = for pseudo-analysis, OUR = data received by us only. Helps identify the existence of transparent intermediaries (proxies) that can create noise in legitimate error detection. E.g. CP=\"CAO PSA OUR\" -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enum indicating the result of the event. Please see the wiki for additional information. Default: '0'. -- **appPingEventEventType** An enum indicating the type of the event. Compatible clients MUST transmit this attribute. Please see the wiki for additional information. -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventPackageCacheResult** Indicates whether there is an existing package cached in the system to update or install. 1 means that there's a cache hit under the expected key; 2 means there's a cache hit under a different key; 0 means that there's a cache miss; -1 means the field does not apply. -- **appPingEventSequenceId** An id that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a "urls" tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appReferralHash** The hash of the referral code used to install the product. '0' if unknown. Default: '0'. -- **appUpdateCheckIsRollbackAllowed** Check for status showing whether or not rollback is allowed. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetChannel** Check for status showing the target release channel. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The server should not return an update instruction to a version number that does not match the prefix or complete version number. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' must match '1.2.3.4' but must not match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request should be sent over SSL or another secure protocol. Default: ''. -- **appVersion** The version of the product install. Please see the wiki for additional information. Default: '0.0.0.0'. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **eventType** A string indicating the type of the event. Please see the wiki for additional information. -- **expDeviceId** A non-unique resettable device ID to identify a device in experimentation. -- **expETag** An identifier representing all service applied configurations and experiments when current update happens. Used for testing only. -- **hwDiskType** Device’s hardware disk type. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwLogcicalCpus** Number of logical CPUs of the device. Used for testing only. -- **hwLogicalCpus** Number of logical CPUs of the device. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **oemProductManufacturer** The device manufacturer name. -- **oemProductName** The product name of the device defined by device manufacturer. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system Name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the machine is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients must always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt should have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) should have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -### Aria.f4a7d46e472049dfba756e11bdbbc08f.Microsoft.WebBrowser.SystemInfo.Config - -This config event sends basic device connectivity and configuration information from Microsoft Edge about the current data collection consent, app version, and installation state to keep Microsoft Edge up to date and secure. - -The following fields are available: - -- **app_env** The environment from which the event was logged when testing; otherwise, the field is omitted or left blank. -- **app_sample_rate** A number representing how often the client sends telemetry, expressed as a percentage. Low values indicate that said client sends more events and high values indicate that said client sends fewer events. -- **app_version** The internal Edge build version string, taken from the UMA metrics field system_profile.app_version. -- **appConsentState** Bit flags describing consent for data collection on the machine or zero if the state was not retrieved. The following are true when the associated bit is set: consent was granted (0x1), consent was communicated at install (0x2), diagnostic data consent granted (0x20000), browsing data consent granted (0x40000). -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **brandCode** Contains the 4 character brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **Channel** An integer indicating the channel of the installation (Canary or Dev). -- **client_id** A unique identifier with which all other diagnostic client data is associated, taken from the UMA metrics provider. This ID is effectively unique per device, per OS user profile, per release channel (e.g. Canary/Dev/Beta/Stable). client_id is not durable, based on user preferences. client_id is initialized on the first application launch under each OS user profile. client_id is linkable, but not unique across devices or OS user profiles. client_id is reset whenever UMA data collection is disabled, or when the application is uninstalled. -- **ConnectionType** The first reported type of network connection currently connected. This can be one of Unknown, Ethernet, WiFi, 2G, 3G, 4G, None, or Bluetooth. -- **container_client_id** The client ID of the container, if in WDAG mode. This will be different from the UMA log client ID, which is the client ID of the host in WDAG mode. -- **container_session_id** The session ID of the container, if in WDAG mode. This will be different from the UMA log session ID, which is the session ID of the host in WDAG mode. -- **device_sample_rate** A number representing how often the device sends telemetry, expressed as a percentage. Low values indicate that device sends more events and high values indicate that device sends fewer events. The value is rounded to 5 significant figures for privacy reasons and if an error is hit in getting the device sample number value from the registry then this will be -1; and if client is not on a UTC-enabled platform, then this value will not be set. -- **Etag** Etag is an identifier representing all service applied configurations and experiments for the current browser session. This field is left empty when Windows diagnostic level is set to Basic or lower or when consent for diagnostic data has been denied. -- **EventInfo.Level** The minimum Windows diagnostic data level required for the event where 1 is basic, 2 is enhanced, and 3 is full. -- **experimentation_mode** A number representing the value set for the ExperimentationAndConfigurationServiceControl group policy. See [Microsoft Edge - Policies](/DeployEdge/microsoft-edge-policies#experimentationandconfigurationservicecontrol) for more details on this policy. -- **install_date** The date and time of the most recent installation in seconds since midnight on January 1, 1970 UTC, rounded down to the nearest hour. -- **installSource** An enumeration representing the source of this installation: source was not retrieved (0), unspecified source (1), website installer (2), enterprise MSI (3), Windows update (4), Edge updater (5), scheduled or timed task (6, 7), uninstall (8), Edge about page (9), self-repair (10), other install command line (11), reserved (12), unknown source (13). -- **installSourceName** A string representation of the installation source. -- **PayloadClass** The base class used to serialize and deserialize the Protobuf binary payload. -- **PayloadGUID** A random identifier generated for each original monolithic Protobuf payload, before the payload is potentially broken up into manageably-sized chunks for transmission. -- **PayloadLogType** The log type for the event correlating with 0 for unknown, 1 for stability, 2 for on-going, 3 for independent, 4 for UKM, or 5 for instance level. -- **pop_sample** A value indicating how the device's data is being sampled. -- **reactivationBrandCode** Contains the 4 character reactivation brand code or distribution tag that has been assigned to a partner. Not every Windows install will have a brand code. -- **reconsentConfigs** A comma separated list of all reconsent configurations the current installation has received. Each configuration follows a well-defined format: 2DigitMonth-2DigitYear-3LetterKeyword. -- **session_id** An identifier that is incremented each time the user launches the application, irrespective of any client_id changes. session_id is seeded during the initial installation of the application. session_id is effectively unique per client_id value. Several other internal identifier values, such as window or tab IDs, are only meaningful within a particular session. The session_id value is forgotten when the application is uninstalled, but not during an upgrade. -- **utc_flags** Event Tracing for Windows (ETW) flags required for the event as part of the data collection process. - - -### Microsoft.Edge.Crashpad.CrashEvent - -This event sends simple Product and Service Performance data on a crashing Microsoft Edge browser process to help mitigate future instances of the crash. - -The following fields are available: - -- **app_name** The name of the crashing process. -- **app_session_guid** Encodes the boot session, process id, and process start time. -- **app_version** The version of the crashing process. -- **client_id_hash** Hash of the browser client ID which helps identify installations. -- **etag** Encodes the running experiments in the browser. -- **module_name** The name of the module in which the crash originated. -- **module_offset** Memory offset into the module in which the crash originated. -- **module_version** The version of the module in which the crash originated. -- **process_type** The type of the browser process that crashed, e.g., renderer, gpu-process, etc. -- **stack_hash** Hash of the stack trace representing the crash. Currently not used or set to zero. -- **sub_code** The exception/error code representing the crash. - - -### Microsoft.WebBrowser.Installer.EdgeUpdate.Ping - -This event sends hardware and software inventory information about the Microsoft Edge Update service, Microsoft Edge applications, and the current system environment, including app configuration, update configuration, and hardware capabilities. It's used to measure the reliability and performance of the EdgeUpdate service and if Microsoft Edge applications are up to date. This is an indication that the event is designed to keep Windows secure and up to date. - -The following fields are available: - -- **appAp** Microsoft Edge Update parameters, including channel, architecture, platform, and additional parameters identifying the release of Microsoft Edge to update and how to install it. Example: 'beta-arch_x64-full'. Default: ''." -- **appAppId** The GUID that identifies the product channels such as Edge Canary, Dev, Beta, Stable, and Edge Update. -- **appBrandCode** The 4-digit brand code under which the product was installed, if any. Possible values: 'GGLS' (default), 'GCEU' (enterprise install), and '' (unknown). -- **appChannel** An integer indicating the channel of the installation (e.g. Canary or Dev). -- **appClientId** A generalized form of the brand code that can accept a wider range of values and is used for similar purposes. Default: ''. -- **appCohort** A machine-readable string identifying the release channel that the app belongs to. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortHint** A machine-readable enum indicating that the client has a desire to switch to a different release cohort. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appCohortName** A stable non-localized human-readable enum indicating which (if any) set of messages the app should display to the user. For example, an app with a cohort name of 'beta' might display beta-specific branding to the user. Limited to ASCII characters 32 to 127 (inclusive) and a maximum length of 1024 characters. Default: ''. -- **appConsentState** Bit flags describing the diagnostic data disclosure and response flow where 1 indicates the affirmative and 0 indicates the negative or unspecified data. Bit 1 indicates consent was given, bit 2 indicates data originated from the download page, bit 18 indicates choice for sending data about how the browser is used, and bit 19 indicates choice for sending data about websites visited. -- **appDayOfInstall** The date-based counting equivalent of appInstallTimeDiffSec (the numeric calendar day that the app was installed on). This value is provided by the server in the response to the first request in the installation flow. Default: '-2' (Unknown). -- **appExperiments** A semicolon-delimited key/value list of experiment identifiers and treatment groups. This field is unused and always empty in Edge Update. Default: ''. -- **appIid** A GUID that identifies a particular installation flow. For example, each download of a product installer is tagged with a unique GUID. Attempts to install using that installer can then be grouped. A client SHOULD NOT persist the IID GUID after the installation flow of a product is complete. -- **appInstallTimeDiffSec** The difference between the current time and the install date in seconds. '0' if unknown. Default: '-1'. -- **appLang** The language of the product install, in IETF BCP 47 representation. Default: ''. -- **appNextVersion** The version of the app that the update attempted to reach, regardless of the success or failure of the update operation. Default: '0.0.0.0'. -- **appPingEventAppSize** The total number of bytes of all downloaded packages. Default: '0'. -- **appPingEventDownloadMetricsDownloadedBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsDownloader** A string identifying the download algorithm and/or stack. Example values include: 'bits', 'direct', 'winhttp', 'p2p'. Sent in events that have an event type of '14' only. Default: ''. -- **appPingEventDownloadMetricsDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventDownloadMetricsError** The error code (if any) of the operation, encoded as a signed base-10 integer. Default: '0'. -- **appPingEventDownloadMetricsServerIpHint** For events representing a download, the CDN Host IP address that corresponds to the update file server. The CDN host is controlled by Microsoft servers and always maps to IP addresses hosting *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadMetricsTotalBytes** For events representing a download, the number of bytes expected to be downloaded. For events representing an entire update flow, the sum of all such expected bytes over the course of the update flow. Default: '0'. -- **appPingEventDownloadMetricsUrl** For events representing a download, the CDN URL provided by the update server for the client to download the update, the URL is controlled by Microsoft servers and always maps back to either *.delivery.mp.microsoft.com or msedgesetup.azureedge.net. Default: ''. -- **appPingEventDownloadTimeMs** For events representing a download, the time elapsed between the start of the download and the end of the download, in milliseconds. For events representing an entire update flow, the sum of all such download times over the course of the update flow. Sent in events that have an event type of '1', '2', '3', and '14' only. Default: '0'. -- **appPingEventErrorCode** The error code (if any) of the operation, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventEventResult** An enumeration indicating the result of the event. Common values are '0' (Error) and '1' (Success). Default: '0' (Error). -- **appPingEventEventType** An enumeration indicating the type of the event and the event stage. Default: '0' (Unknown). -- **appPingEventExtraCode1** Additional numeric information about the operation's result, encoded as a signed, base-10 integer. Default: '0'. -- **appPingEventInstallTimeMs** For events representing an install, the time elapsed between the start of the install and the end of the install, in milliseconds. For events representing an entire update flow, the sum of all such durations. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appPingEventNumBytesDownloaded** The number of bytes downloaded for the specified application. Default: '0'. -- **appPingEventSequenceId** An ID that uniquely identifies particular events within one requestId. Since a request can contain multiple ping events, this field is necessary to uniquely identify each possible event. -- **appPingEventSourceUrlIndex** For events representing a download, the position of the download URL in the list of URLs supplied by the server in a tag. -- **appPingEventUpdateCheckTimeMs** For events representing an entire update flow, the time elapsed between the start of the update check and the end of the update check, in milliseconds. Sent in events that have an event type of '2' and '3' only. Default: '0'. -- **appUpdateCheckIsUpdateDisabled** The state of whether app updates are restricted by group policy. True if updates have been restricted by group policy or false if they have not. -- **appUpdateCheckTargetVersionPrefix** A component-wise prefix of a version number, or a complete version number suffixed with the $ character. The prefix is interpreted a dotted-tuple that specifies the exactly-matching elements; it is not a lexical prefix (for example, '1.2.3' MUST match '1.2.3.4' but MUST NOT match '1.2.34'). Default: ''. -- **appUpdateCheckTtToken** An opaque access token that can be used to identify the requesting client as a member of a trusted-tester group. If non-empty, the request is sent over SSL or another secure protocol. This field is unused by Edge Update and always empty. Default: ''. -- **appVersion** The version of the product install. Default: '0.0.0.0'. -- **eventType** A string representation of appPingEventEventType indicating the type of the event. -- **hwHasAvx** '1' if the client's hardware supports the AVX instruction set. '0' if the client's hardware does not support the AVX instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse** '1' if the client's hardware supports the SSE instruction set. '0' if the client's hardware does not support the SSE instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse2** '1' if the client's hardware supports the SSE2 instruction set. '0' if the client's hardware does not support the SSE2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse3** '1' if the client's hardware supports the SSE3 instruction set. '0' if the client's hardware does not support the SSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse41** '1' if the client's hardware supports the SSE4.1 instruction set. '0' if the client's hardware does not support the SSE4.1 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSse42** '1' if the client's hardware supports the SSE4.2 instruction set. '0' if the client's hardware does not support the SSE4.2 instruction set. '-1' if unknown. Default: '-1'. -- **hwHasSsse3** '1' if the client's hardware supports the SSSE3 instruction set. '0' if the client's hardware does not support the SSSE3 instruction set. '-1' if unknown. Default: '-1'. -- **hwPhysmemory** The physical memory available to the client, truncated down to the nearest gibibyte. '-1' if unknown. This value is intended to reflect the maximum theoretical storage capacity of the client, not including any hard drive or paging to a hard drive or peripheral. Default: '-1'. -- **isMsftDomainJoined** '1' if the client is a member of a Microsoft domain. '0' otherwise. Default: '0'. -- **osArch** The architecture of the operating system (e.g. 'x86', 'x64', 'arm'). '' if unknown. Default: ''. -- **osPlatform** The operating system family that the within which the Omaha client is running (e.g. 'win', 'mac', 'linux', 'ios', 'android'). '' if unknown. The operating system name should be transmitted in lowercase with minimal formatting. Default: ''. -- **osServicePack** The secondary version of the operating system. '' if unknown. Default: ''. -- **osVersion** The primary version of the operating system. '' if unknown. Default: ''. -- **requestCheckPeriodSec** The update interval in seconds. The value is read from the registry. Default: '-1'. -- **requestDlpref** A comma-separated list of values specifying the preferred download URL behavior. The first value is the highest priority, further values reflect secondary, tertiary, et cetera priorities. Legal values are '' (in which case the entire list must be empty, indicating unknown or no-preference) or 'cacheable' (the server should prioritize sending URLs that are easily cacheable). Default: ''. -- **requestDomainJoined** '1' if the device is part of a managed enterprise domain. Otherwise '0'. -- **requestInstallSource** A string specifying the cause of the update flow. For example: 'ondemand', or 'scheduledtask'. Default: ''. -- **requestIsMachine** '1' if the client is known to be installed with system-level or administrator privileges. '0' otherwise. Default: '0'. -- **requestOmahaShellVersion** The version of the Omaha installation folder. Default: ''. -- **requestOmahaVersion** The version of the Omaha updater itself (the entity sending this request). Default: '0.0.0.0'. -- **requestProtocolVersion** The version of the Omaha protocol. Compatible clients MUST provide a value of '3.0'. Compatible clients MUST always transmit this attribute. Default: undefined. -- **requestRequestId** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha request. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. -- **requestSessionCorrelationVectorBase** A client generated random MS Correlation Vector base code used to correlate the update session with update and CDN servers. Default: ''. -- **requestSessionId** A randomly-generated (uniformly distributed) GUID. Each single update flow (e.g. update check, update application, event ping sequence) SHOULD have (with high probability) a single unique session ID. Default: ''. -- **requestTestSource** Either '', 'dev', 'qa', 'prober', 'auto', or 'ossdev'. Any value except '' indicates that the request is a test and should not be counted toward normal metrics. Default: ''. -- **requestUid** A randomly-generated (uniformly distributed) GUID, corresponding to the Omaha user. Each request attempt SHOULD have (with high probability) a unique request id. Default: ''. - - -## Migration events - -### Microsoft.Windows.MigrationCore.MigObjectCountDLUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - -The following fields are available: - -- **currentSid** Indicates the user SID for which the migration is being performed. -- **knownFoldersUsr[i]** Predefined folder path locations. -- **migDiagSession->CString** The phase of the upgrade where migration occurs. (E.g.: Validate tracked content) -- **objectCount** The count for the number of objects that are being transferred. - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFSys - -This event returns data about the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - -The following fields are available: - -- **knownFoldersSys[i]** The predefined folder path locations. -- **migDiagSession->CString** Identifies the phase of the upgrade where migration happens. -- **objectCount** The count of the number of objects that are being transferred. - - -### Microsoft.Windows.MigrationCore.MigObjectCountKFUsr - -This event returns data to track the count of the migration objects across various phases during feature update. The data collected with this event is used to help keep Windows secure and to track data loss scenarios. - -The following fields are available: - -- **currentSid** Indicates the user SID for which the migration is being performed. -- **knownFoldersUsr[i]** Predefined folder path locations. -- **migDiagSession->CString** The phase of the upgrade where the migration occurs. (For example, Validate tracked content.) -- **objectCount** The number of objects that are being transferred. - - -## Miracast events - -### Microsoft.Windows.Cast.Miracast.MiracastSessionEnd - -This event sends data at the end of a Miracast session that helps determine RTSP related Miracast failures along with some statistics about the session. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AudioChannelCount** The number of audio channels. -- **AudioSampleRate** The sample rate of audio in terms of samples per second. -- **AudioSubtype** The unique subtype identifier of the audio codec (encoding method) used for audio encoding. -- **AverageBitrate** The average video bitrate used during the Miracast session, in bits per second. -- **AverageDataRate** The average available bandwidth reported by the WiFi driver during the Miracast session, in bits per second. -- **AveragePacketSendTimeInMs** The average time required for the network to send a sample, in milliseconds. -- **ConnectorType** The type of connector used during the Miracast session. -- **EncodeAverageTimeMS** The average time to encode a frame of video, in milliseconds. -- **EncodeCount** The count of total frames encoded in the session. -- **EncodeMaxTimeMS** The maximum time to encode a frame, in milliseconds. -- **EncodeMinTimeMS** The minimum time to encode a frame, in milliseconds. -- **EncoderCreationTimeInMs** The time required to create the video encoder, in milliseconds. -- **ErrorSource** Identifies the component that encountered an error that caused a disconnect, if applicable. -- **FirstFrameTime** The time (tick count) when the first frame is sent. -- **FirstLatencyMode** The first latency mode. -- **FrameAverageTimeMS** Average time to process an entire frame, in milliseconds. -- **FrameCount** The total number of frames processed. -- **FrameMaxTimeMS** The maximum time required to process an entire frame, in milliseconds. -- **FrameMinTimeMS** The minimum time required to process an entire frame, in milliseconds. -- **Glitches** The number of frames that failed to be delivered on time. -- **HardwareCursorEnabled** Indicates if hardware cursor was enabled when the connection ended. -- **HDCPState** The state of HDCP (High-bandwidth Digital Content Protection) when the connection ended. -- **HighestBitrate** The highest video bitrate used during the Miracast session, in bits per second. -- **HighestDataRate** The highest available bandwidth reported by the WiFi driver, in bits per second. -- **LastLatencyMode** The last reported latency mode. -- **LogTimeReference** The reference time, in tick counts. -- **LowestBitrate** The lowest video bitrate used during the Miracast session, in bits per second. -- **LowestDataRate** The lowest video bitrate used during the Miracast session, in bits per second. -- **MediaErrorCode** The error code reported by the media session, if applicable. -- **MiracastEntry** The time (tick count) when the Miracast driver was first loaded. -- **MiracastM1** The time (tick count) when the M1 request was sent. -- **MiracastM2** The time (tick count) when the M2 request was sent. -- **MiracastM3** The time (tick count) when the M3 request was sent. -- **MiracastM4** The time (tick count) when the M4 request was sent. -- **MiracastM5** The time (tick count) when the M5 request was sent. -- **MiracastM6** The time (tick count) when the M6 request was sent. -- **MiracastM7** The time (tick count) when the M7 request was sent. -- **MiracastSessionState** The state of the Miracast session when the connection ended. -- **MiracastStreaming** The time (tick count) when the Miracast session first started processing frames. -- **ProfileCount** The count of profiles generated from the receiver M4 response. -- **ProfileCountAfterFiltering** The count of profiles after filtering based on available bandwidth and encoder capabilities. -- **RefreshRate** The refresh rate set on the remote display. -- **RotationSupported** Indicates if the Miracast receiver supports display rotation. -- **RTSPSessionId** The unique identifier of the RTSP session. This matches the RTSP session ID for the receiver for the same session. -- **SessionGuid** The unique identifier of to correlate various Miracast events from a session. -- **SinkHadEdid** Indicates if the Miracast receiver reported an EDID. -- **SupportMicrosoftColorSpaceConversion** Indicates whether the Microsoft color space conversion for extra color fidelity is supported by the receiver. -- **SupportsMicrosoftDiagnostics** Indicates whether the Miracast receiver supports the Microsoft Diagnostics Miracast extension. -- **SupportsMicrosoftFormatChange** Indicates whether the Miracast receiver supports the Microsoft Format Change Miracast extension. -- **SupportsMicrosoftLatencyManagement** Indicates whether the Miracast receiver supports the Microsoft Latency Management Miracast extension. -- **SupportsMicrosoftRTCP** Indicates whether the Miracast receiver supports the Microsoft RTCP Miracast extension. -- **SupportsMicrosoftVideoFormats** Indicates whether the Miracast receiver supports Microsoft video format for 3:2 resolution. -- **SupportsWiDi** Indicates whether Miracast receiver supports Intel WiDi extensions. -- **TeardownErrorCode** The error code reason for teardown provided by the receiver, if applicable. -- **TeardownErrorReason** The text string reason for teardown provided by the receiver, if applicable. -- **UIBCEndState** Indicates whether UIBC was enabled when the connection ended. -- **UIBCEverEnabled** Indicates whether UIBC was ever enabled. -- **UIBCStatus** The result code reported by the UIBC setup process. -- **VideoBitrate** The starting bitrate for the video encoder. -- **VideoCodecLevel** The encoding level used for encoding, specific to the video subtype. -- **VideoHeight** The height of encoded video frames. -- **VideoSubtype** The unique subtype identifier of the video codec (encoding method) used for video encoding. -- **VideoWidth** The width of encoded video frames. -- **WFD2Supported** Indicates if the Miracast receiver supports WFD2 protocol. - - -## Mixed Reality events - -### Microsoft.ML.ONNXRuntime.ProcessInfo - -This event collects information when an application loads ONNXRuntime.dll. The data collected with this event is used to keep Windows product and service performing properly. - -The following fields are available: - -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **isRedist** Indicates if the ONNXRuntime usage is from redistributable package or inbox. -- **runtimeVersion** The version number of ONNXRuntime. -- **schemaVersion** Blueprint version of how the database is constructed. - - -### Microsoft.ML.ONNXRuntime.RuntimePerf - -This event collects information about ONNXRuntime performance. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **AppSessionGuid** An identifier of a particular application session starting at process creation time and persisting until process end. -- **schemaVersion** Blueprint version of how the database is constructed. -- **sessionId** Identifier for each created session. -- **totalRunDuration** Total running/evaluation time from last time. -- **totalRuns** Total number of running/evaluation from last time. - - -### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceAdded - -This event indicates Windows Mixed Reality device state. This event is also used to count WMR device. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **ClassGuid** Windows Mixed Reality device class GUID. -- **DeviceInterfaceId** Windows Mixed Reality device interface ID. -- **DeviceName** Windows Mixed Reality device name. -- **DriverVersion** Windows Mixed Reality device driver version. -- **FirmwareVersion** Windows Mixed Reality firmware version. -- **Manufacturer** Windows Mixed Reality device manufacturer. -- **ModelName** Windows Mixed Reality device model name. -- **SerialNumber** Windows Mixed Reality device serial number. - - -## OneDrive events - -### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation - -This event is related to the OS version when the OS is upgraded with OneDrive installed. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CurrentOneDriveVersion** The current version of OneDrive. -- **CurrentOSBuildBranch** The current branch of the operating system. -- **CurrentOSBuildNumber** The current build number of the operating system. -- **CurrentOSVersion** The current version of the operating system. -- **HResult** The HResult of the operation. -- **SourceOSBuildBranch** The source branch of the operating system. -- **SourceOSBuildNumber** The source build number of the operating system. -- **SourceOSVersion** The source version of the operating system. - - -## Other events - -### Microsoft.Windows.Test.WindowsCoreTelemetryTestProvider.WindowsCoreTelemetryTestEvent - -This is an internal-only test event used to validate the utc.app and telemetry.asm-windowsdefault settings and namespaces before publishing. The provider of this event is assigned to the Windows Core Telemetry group provider in order to test. The data collected with this event is used to keep Windows performing properly - - - -## Privacy consent logging events - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted - -This event is used to determine whether the user successfully completed the privacy consent experience. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **presentationVersion** Which display version of the privacy consent experience the user completed -- **privacyConsentState** The current state of the privacy consent experience -- **settingsVersion** Which setting version of the privacy consent experience the user completed -- **userOobeExitReason** The exit reason of the privacy consent experience - - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentStatus - -This event provides the effectiveness of new privacy experience. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **isAdmin** whether the person who is logging in is an admin -- **isExistingUser** whether the account existed in a downlevel OS -- **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience -- **userRegionCode** The current user's region setting - - -## Sediment events - -### Microsoft.Windows.Sediment.Info.DetailedState - -This event is sent when detailed state information is needed from an update trial run. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. -- **Id** Identifies the trial being run, such as a disk related trial. -- **ReleaseVer** The version of the component. -- **State** The state of the reporting data from the trial, such as the top-level directory analysis. -- **Time** The time the event was fired. - - -### Microsoft.Windows.Sediment.Info.PhaseChange - -The event indicates progress made by the updater. This information assists in keeping Windows up to date. - -The following fields are available: - -- **NewPhase** The phase of progress made. -- **ReleaseVer** The version information for the component in which the change occurred. -- **Time** The system time at which the phase chance occurred. - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelActivityEvent - -This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **InstanceID** This is a unique GUID to track individual instances of SetupPlatform that will help us tie events from a single instance together. -- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time - - -### SetupPlatformTel.SetupPlatformTelActivityStarted - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - -The following fields are available: - -- **Name** The name of the dynamic update type. Example: GDR driver - - -### SetupPlatformTel.SetupPlatformTelActivityStopped - -This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. - - - -### SetupPlatformTel.SetupPlatformTelEvent - -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios, to help keep Windows up to date. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **InstanceID** This is a unique GUID to track individual instances of SetupPlatform that will help us tie events from a single instance together. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## SIH events - -### SIHEngineTelemetry.EvalApplicability - -This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. -- **IsExecutingAction** If the action is presently being executed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Microsoft Store, etc.). -- **SihclientVersion** The client version that is being used. -- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -This event sends tracking data about the software distribution client check for content that is applicable to a device, to help keep Windows up to date. - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No data is currently reported in this field. Expected value for this field is 0. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the Windows Update for Business target version policy is enabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Online** Indicates if this was an online scan. -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ScanProps** This is a 32-bit integer containing Boolean properties for a given Windows Update scan. The following bits are used; all remaining bits are reserved and set to zero. Bit 0 (0x1): IsInteractive - is set to 1 if the scan is requested by a user, or 0 if the scan is requested by Automatic Updates. Bit 1 (0x2): IsSeeker - is set to 1 if the Windows Update client's Seeker functionality is enabled. Seeker functionality is enabled on certain interactive scans, and results in the scans returning certain updates that are in the initial stages of release (not yet released for full adoption via Automatic Updates). -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **TargetReleaseVersion** The value selected for the target release version policy. -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Commit - -This event sends data on whether the Update Service has been called to execute an upgrade, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** Device family as defined in the system BIOS -- **BiosName** Name of the system BIOS -- **BiosReleaseDate** Release date of the system BIOS -- **BiosSKUNumber** Device SKU as defined in the system BIOS -- **BIOSVendor** Vendor of the system BIOS -- **BiosVersion** Version of the system BIOS -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** Version number of the software distribution client -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DeviceModel** Device model as defined in the system bios -- **EventInstanceID** A globally unique identifier for event instance -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". -- **FlightId** The specific id of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **SystemBIOSMajorRelease** Major release version of the system bios -- **SystemBIOSMinorRelease** Minor release version of the system bios -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Download - -This event sends tracking data about the software distribution client download of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. -- **AppXBlockHashFailures** Indicates the number of blocks that failed hash validation during download. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. -- **AppXScope** Indicates the scope of the app download. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). -- **CachedEngineVersion** The version of the “Self-Initiated Healing” (SIH) engine that is cached on the device, if applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full- or a partial-file download. -- **CbsMethod** The method used for downloading the update content related to the Component Based Servicing (CBS) technology. -- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. -- **ConnectTime** Indicates the cumulative amount of time (in seconds) it took to establish the connection for all updates in an update bundle. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** The model of the device. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadProps** Information about the download operation properties in the form of a bitmask. -- **DownloadScenarioId** A unique ID for a given download, used to tie together Windows Update and Delivery Optimizer events. -- **DownloadType** Differentiates the download type of “Self-Initiated Healing” (SIH) downloads between Metadata and Payload downloads. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific ID of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The hostname URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the Windows Update for Business target version policy is enabled on the device. -- **NetworkCost** A flag indicating the cost of the network (congested, fixed, variable, over data limit, roaming, etc.) used for downloading the update content. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **PostDnldTime** Time taken (in seconds) to signal download completion after the last job has completed downloading payload. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **Reason** A 32-bit integer representing the reason the update is blocked from being downloaded in the background. -- **RegulationResult** The result code (HResult) of the last attempt to contact the regulation web service for download regulation of update content. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific content has previously failed. -- **RepeatFailFlag** Indicates whether this specific content previously failed to download. -- **RevisionNumber** The revision number of the specified piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **Setup360Phase** Identifies the active phase of the upgrade download if the current download is for an Operating System upgrade. -- **ShippingMobileOperator** The mobile operator linked to the device when the device shipped. -- **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TargetMetadataVersion** The version of the currently downloading (or most recently downloaded) package. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in milliseconds) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total count of bytes that the download is expected to be. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateID** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedDO** Whether the download used the delivery optimization service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver" -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough -- **FileId** A hash that uniquely identifies a file -- **FileName** Name of the downloaded file -- **FlightId** The unique identifier for each flight -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RevisionNumber** Unique revision number of Update -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.) -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) -- **UpdateId** Unique Update ID -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### SoftwareUpdateClientTelemetry.DownloadHeartbeat - -This event allows tracking of ongoing downloads and contains data to explain the current state of the download. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **EventType** Possible values are "Child", "Bundle", or "Driver" -- **FlightId** The unique identifier for each flight -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. No value is currently reported in this field. Expected value for this field is 0. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** The mobile operator to which the device is currently connected. -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DeviceModel** The device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **InstallProps** A bitmask for future flags associated with the install operation. No value is currently reported in this field. Expected value for this field is 0. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether this update is a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. -- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the Windows Update for Business target version policy is enabled on the device. -- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. -- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID that represents a given MSI installation. -- **UpdateId** Unique update ID. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.Revert - -This is a revert event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **BundleId** Identifier associated with the specific content bundle. Should not be all zeros if the BundleId was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle has previously failed. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. -- **CSIErrorType** Stage of CBS installation that failed. -- **DeploymentProviderMode** The mode of operation of the update deployment provider. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers if a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **EventType** Event type (Child, Bundle, Release, or Driver). -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBuildNumber** Indicates the build number of the flight. -- **FlightId** The specific ID of the flight the device is getting. -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether an update was a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether an initial success was a failure after a reboot. -- **IsWUfBDualScanEnabled** Flag indicating whether Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Flag indicating whether Windows Update for Business is enabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the Windows Update for Business target version policy is enabled on the device. -- **MergedUpdate** Indicates whether an OS update and a BSP update were merged for install. -- **ProcessName** Process name of the caller who initiated API calls into the software distribution client. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific piece of content has previously failed. -- **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **UpdateId** The identifier associated with the specific piece of content. -- **UpdateImportance** Indicates the importance of a driver, and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). -- **UsedSystemVolume** Indicates whether the device's main system storage drive or an alternate storage drive was used. -- **WUDeviceID** Unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.TaskRun - -This is a start event for Server Initiated Healing client. See EventScenario field for specifics (for example, started/completed). The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CmdLineArgs** Command line arguments passed in by the caller. -- **EventInstanceID** A globally unique identifier for the event instance. -- **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc.). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **WUDeviceID** Unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.Uninstall - -This is an uninstall event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **BundleId** The identifier associated with the specific content bundle. This should not be all zeros if the bundleID was found. -- **BundleRepeatFailCount** Indicates whether this particular update bundle previously failed. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** Name of the application making the Windows Update request. Used to identify context of request. -- **ClientVersion** Version number of the software distribution client. -- **CommonProps** A bitmask for future flags associated with the Windows Update client behavior. There is no value being reported in this field right now. Expected value for this field is 0. -- **DeploymentProviderMode** The mode of operation of the Update Deployment Provider. -- **DriverPingBack** Contains information about the previous driver and system state. -- **DriverRecoveryIds** The list of identifiers that could be used for uninstalling the drivers when a recovery is required. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of the event (a scan started, succeded, failed, etc.). -- **EventType** Indicates the event type. Possible values are "Child", "Bundle", "Release" or "Driver". -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode is not specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBuildNumber** Indicates the build number of the flight. -- **FlightId** The specific ID of the flight the device is getting. -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.). -- **HardwareId** If the download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. -- **IsFirmware** Indicates whether an update was a firmware update. -- **IsSuccessFailurePostReboot** Indicates whether an initial success was then a failure after a reboot. -- **IsWUfBDualScanEnabled** Flag indicating whether Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Flag indicating whether Windows Update for Business is enabled on the device. -- **IsWUfBTargetVersionEnabled** Flag that indicates if the Windows Update for Business target version policy is enabled on the device. -- **MergedUpdate** Indicates whether an OS update and a BSP update were merged for install. -- **ProcessName** Process name of the caller who initiated API calls into the software distribution client. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. -- **RepeatFailCount** Indicates whether this specific piece of content previously failed. -- **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** A unique identifier for the service that the software distribution client is installing content for (Windows Update, Microsoft Store, etc). -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **UpdateId** Identifier associated with the specific piece of content. -- **UpdateImportance** Indicates the importance of a driver and why it received that importance level (0-Unknown, 1-Optional, 2-Important-DNF, 3-Important-Generic, 4-Important-Other, 5-Recommended). -- **UsedSystemVolume** Indicates whether the device’s main system storage drive or an alternate storage drive was used. -- **WUDeviceID** Unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates ultimately deemed applicable to the system after the detection process is complete. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.). -- **WUDeviceID** The unique device ID controlled by the software distribution client. - - -### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity - -This event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. The data collected with this event is used to help keep Windows up to date, secure, and performing properly. - -The following fields are available: - -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** The integral ID from the FragmentSigning data for the certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Microsoft Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** An encoded string of the timestamp token. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. - - -## Surface events - -### Microsoft.Surface.Battery.Prod.BatteryInfoEvent - -This event includes the hardware level data about battery performance. The data collected with this event is used to help keep Windows products and services performing properly. - -The following fields are available: - -- **batteryData** Hardware level data about battery performance. -- **batteryData.data()** Battery performance data. -- **BatteryDataSize:** Size of the battery performance data. -- **batteryInfo.data()** Battery performance data. -- **BatteryInfoSize:** Battery performance data. -- **pszBatteryDataXml** Battery performance data. -- **szBatteryInfo** Battery performance data. - - -### Microsoft.Surface.Battery.Prod.BatteryInfoEventV2_BPM - -This event includes the hardware level data about battery performance. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BPMCurrentlyEngaged** Instantaneous snapshot if BPM is engaged on device. -- **BPMExitCriteria** What is the BPM exit criteria - 20%SOC or 50%SOC? -- **BPMHvtCountA** Current HVT count for BPM counter A. -- **BPMHvtCountB** Current HVT count for BPM counter B. -- **bpmOptOutLifetimeCount** BPM OptOut Lifetime Count. -- **BPMRsocBucketsHighTemp_Values** Time in temperature range 46°C -60°C and in the following true RSOC ranges: 0%-49%; 50%-79%; 80%-89%; 90%-94%; 95%-100%. -- **BPMRsocBucketsLowTemp_Values** Time in temperature range 0°C -20°C and in the following true RSOC ranges: 0%-49%; 50%-79%; 80%-89%; 90%-94%; 95%-100%. -- **BPMRsocBucketsMediumHighTemp_Values** Time in temperature range 36°C -45°C and in the following true RSOC ranges: 0%-49%; 50%-79%; 80%-89%; 90%-94%; 95%-100%. -- **BPMRsocBucketsMediumLowTemp_Values** Time in temperature range 21°C-35°C and in the following true RSOC ranges: 0%-49%; 50%-79%; 80%-89%; 90%-94%; 95%-100%. -- **BPMTotalEngagedMinutes** Total time that BPM was engaged. -- **BPMTotalEntryEvents** Total number of times entering BPM. -- **ComponentId** Component ID. -- **FwVersion** FW version that created this log. -- **LogClass** Log Class. -- **LogInstance** Log instance within class (1..n). -- **LogVersion** Log MGR version. -- **MCUInstance** Instance id used to identify multiple MCU's in a product. -- **ProductId** Product ID. -- **SeqNum** Sequence Number. -- **TimeStamp** UTC seconds when log was created. -- **Ver** Schema version. - - -### Microsoft.Surface.Battery.Prod.BatteryInfoEventV2_CTT - -This event includes the hardware level data about battery performance. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **BPMKioskModeStartDateInSeconds** First time Battery Limit was turned on. -- **BPMKioskModeTotalEngagedMinutes** Total time Battery Limit was on (SOC value at 50%). -- **ComponentId** Component ID. -- **CTTEqvTimeat35C** Poll time every minute. Add to lifetime counter based on temperature. Only count time above 80% SOC. -- **CTTEqvTimeat35CinBPM** Poll time every minute. Add to lifetime counter based on temperature. Only count time above 55% SOC and when device is in BPM. Round up. -- **CTTMinSOC1day** Rolling 1 day minimum SOC. Value set to 0 initially. -- **CTTMinSOC28day** Rolling 28 day minimum SOC. Value set to 0 initially. -- **CTTMinSOC3day** Rolling 3 day minimum SOC. Value set to 0 initially. -- **CTTMinSOC7day** Rolling 7 day minimum SOC. Value set to 0 initially. -- **CTTStartDateInSeconds** Start date from when device was starting to be used. -- **currentAuthenticationState** Current Authentication State. -- **FwVersion** FW version that created this log. -- **LogClass** LOG CLASS. -- **LogInstance** Log instance within class (1..n). -- **LogVersion** LOG MGR VERSION. -- **MCUInstance** Instance id used to identify multiple MCU's in a product. -- **newSnFruUpdateCount** New Sn FRU Update Count. -- **newSnUpdateCount** New Sn Update Count. -- **ProductId** Product ID. -- **ProtectionPolicy** Battery limit engaged. True (0 False). -- **SeqNum** Sequence Number. -- **TimeStamp** UTC seconds when log was created. -- **Ver** Schema version. -- **VoltageOptimization** Current CTT reduction in mV. - - -### Microsoft.Surface.Battery.Prod.BatteryInfoEventV2_GG - -This event includes the hardware level data about battery performance. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **cbTimeCell_Values** cb time for different cells. -- **ComponentId** Component ID. -- **cycleCount** Cycle Count. -- **deltaVoltage** Delta voltage. -- **eocChargeVoltage_Values** EOC Charge voltage values. -- **fullChargeCapacity** Full Charge Capacity. -- **FwVersion** FW version that created this log. -- **lastCovEvent** Last Cov event. -- **lastCuvEvent** Last Cuv event. -- **LogClass** LOG_CLASS. -- **LogInstance** Log instance within class (1..n). -- **LogVersion** LOG_MGR_VERSION. -- **manufacturerName** Manufacturer name. -- **maxChargeCurrent** Max charge current. -- **maxDeltaCellVoltage** Max delta cell voltage. -- **maxDischargeCurrent** Max discharge current. -- **maxTempCell** Max temp cell. -- **maxVoltage_Values** Max voltage values. -- **MCUInstance** Instance id used to identify multiple MCU's in a product. -- **minTempCell** Min temp cell. -- **minVoltage_Values** Min voltage values. -- **numberOfCovEvents** Number of Cov events. -- **numberOfCuvEvents** Number of Cuv events. -- **numberOfOCD1Events** Number of OCD1 events. -- **numberOfOCD2Events** Number of OCD2 events. -- **numberOfQmaxUpdates** Number of Qmax updates. -- **numberOfRaUpdates** Number of Ra updates. -- **numberOfShutdowns** Number of shutdowns. -- **pfStatus_Values** pf status values. -- **ProductId** Product ID. -- **qmax_Values** Qmax values for different cells. -- **SeqNum** Sequence Number. -- **TimeStamp** UTC seconds when log was created. -- **Ver** Schema version. - - -### Microsoft.Surface.Battery.Prod.BatteryInfoEventV2_GGExt - -This event includes the hardware level data about battery performance. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **avgCurrLastRun** Average current last run. -- **avgPowLastRun** Average power last run. -- **batteryMSPN** BatteryMSPN -- **batteryMSSN** BatteryMSSN. -- **cell0Ra3** Cell0Ra3. -- **cell1Ra3** Cell1Ra3. -- **cell2Ra3** Cell2Ra3. -- **cell3Ra3** Cell3Ra3. -- **ComponentId** Component ID. -- **currentAtEoc** Current at Eoc. -- **firstPFstatusA** First PF status-A. -- **firstPFstatusB** First PF status-B. -- **firstPFstatusC** First PF status-C. -- **firstPFstatusD** First PF status-D. -- **FwVersion** FW version that created this log. -- **lastQmaxUpdate** Last Qmax update. -- **lastRaDisable** Last Ra disable. -- **lastRaUpdate** Last Ra update. -- **lastValidChargeTerm** Last valid charge term. -- **LogClass** LOG CLASS. -- **LogInstance** Log instance within class (1..n). -- **LogVersion** LOG MGR VERSION. -- **maxAvgCurrLastRun** Max average current last run. -- **maxAvgPowLastRun** Max average power last run. -- **MCUInstance** Instance id used to identify multiple MCU's in a product. -- **mfgInfoBlockB01** MFG info Block B01. -- **mfgInfoBlockB02** MFG info Block B02. -- **mfgInfoBlockB03** MFG info Block B03. -- **mfgInfoBlockB04** MFG info Block B04. -- **numOfRaDisable** Number of Ra disable. -- **numOfValidChargeTerm** Number of valid charge term. -- **ProductId** Product ID. -- **qmaxCycleCount** Qmax cycle count. -- **SeqNum** Sequence Number. -- **stateOfHealthEnergy** State of health energy. -- **stateOfHealthFcc** State of health Fcc. -- **stateOfHealthPercent** State of health percent. -- **TimeStamp** UTC seconds when log was created. -- **totalFwRuntime** Total FW runtime. -- **updateStatus** Update status. -- **Ver** Schema version. - - -### Microsoft.Surface.Health.Binary.Prod.McuHealthLog - -This event collects information to keep track of health indicator of the built-in micro controller. For example, the number of abnormal shutdowns due to power issues during boot sequence, type of display panel attached to base, thermal indicator, throttling data in hardware etc. The data collected with this event is used to help keep Windows secure and performing properly. - -The following fields are available: - -- **CUtility::GetTargetNameA(Target)** Sub component name. -- **HealthLog** Health indicator log. -- **healthLogSize** 4KB. -- **productId** Identifier for product model. - - -## System reset events - -### Microsoft.Windows.SysReset.FlightUninstallCancel - -This event indicates the customer has cancelled uninstallation of Windows. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - - - -### Microsoft.Windows.SysReset.FlightUninstallError - -This event sends an error code when the Windows uninstallation fails. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **ErrorCode** Error code for uninstallation failure. - - -### Microsoft.Windows.SysReset.FlightUninstallReboot - -This event is sent to signal an upcoming reboot during uninstallation of Windows. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - - - -### Microsoft.Windows.SysReset.FlightUninstallStart - -This event indicates that the Windows uninstallation has started. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - - - -### Microsoft.Windows.SysReset.FlightUninstallUnavailable - -This event sends diagnostic data when the Windows uninstallation is not available. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **AddedProfiles** Indicates that new user profiles have been created since the flight was installed. -- **MissingExternalStorage** Indicates that the external storage used to install the flight is not available. -- **MissingInfra** Indicates that uninstall resources are missing. -- **MovedProfiles** Indicates that the user profile has been moved since the flight was installed. - - -### Microsoft.Windows.SysReset.HasPendingActions - -This event is sent when users have actions that will block the uninstall of the latest quality update. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - - - -### Microsoft.Windows.SysReset.IndicateLCUWasUninstalled - -This event is sent when the registry indicates that the latest cumulative Windows update package has finished uninstalling. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **errorCode** The error code if there was a failure during uninstallation of the latest cumulative Windows update package. - - -### Microsoft.Windows.SysReset.LCUUninstall - -This event is sent when the latest cumulative Windows update was uninstalled on a device. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **errorCode** An error that occurred while the Windows update package was being uninstalled. -- **packageName** The name of the Windows update package that is being uninstalled. -- **removalTime** The amount of time it took to uninstall the Windows update package. - - -### Microsoft.Windows.SysReset.PBRBlockedByPolicy - -This event is sent when a push-button reset operation is blocked by the System Administrator. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **PBRBlocked** Reason the push-button reset operation was blocked. -- **PBRType** The type of push-button reset operation that was blocked. - - -### Microsoft.Windows.SysReset.PBREngineInitFailed - -This event signals a failed handoff between two recovery binaries. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **Operation** Legacy customer scenario. - - -### Microsoft.Windows.SysReset.PBREngineInitSucceed - -This event signals successful handoff between two recovery binaries. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **Operation** Legacy customer scenario. - - -### Microsoft.Windows.SysReset.PBRFailedOffline - -This event reports the error code when recovery fails. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **HRESULT** Error code for the failure. -- **PBRType** The recovery scenario. -- **SessionID** The unique ID for the recovery session. - - -### Microsoft.Windows.SystemReset.EsimPresentCheck - -This event is sent when a device is checked to see whether it has an embedded SIM (eSIM). The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **errorCode** Any error that occurred while checking for the presence of an embedded SIM. -- **esimPresent** Indicates whether an embedded SIM is present on the device. -- **sessionID** The ID of this session. - - -### Microsoft.Windows.SystemReset.PBRCorruptionRepairOption - -This event sends corruption repair diagnostic data when the PBRCorruptionRepairOption encounters a corruption error. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **cbsSessionOption** The corruption repair configuration. -- **errorCode** The error code encountered. -- **meteredConnection** Indicates whether the device is connected to a metered network (wired or WiFi). -- **sessionID** The globally unique identifier (GUID) for the session. - - -### Microsoft.Windows.SystemReset.RepairNeeded - -This event provides information about whether a system reset needs repair. The data collected with this event is used to keep Windows performing properly and helps with tracking the health of recovery and OSUninstall scenarios. - -The following fields are available: - -- **repairNeeded** Indicates whether there was corruption in the system reset which needs repair. -- **sessionID** The ID of this push-button reset session. - - -## UEFI events - -### Microsoft.Windows.UEFI.ESRT - -This event sends basic data during boot about the firmware loaded or recently installed on the machine. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **DriverFirmwareFilename** The firmware file name reported by the device hardware key. -- **DriverFirmwarePolicy** The optional version update policy value. -- **DriverFirmwareStatus** The firmware status reported by the device hardware key. -- **DriverFirmwareVersion** The firmware version reported by the device hardware key. -- **FirmwareId** The UEFI (Unified Extensible Firmware Interface) identifier. -- **FirmwareLastAttemptStatus** The reported status of the most recent firmware installation attempt, as reported by the EFI System Resource Table (ESRT). -- **FirmwareLastAttemptVersion** The version of the most recent attempted firmware installation, as reported by the EFI System Resource Table (ESRT). -- **FirmwareType** The UEFI (Unified Extensible Firmware Interface) type. -- **FirmwareVersion** The UEFI (Unified Extensible Firmware Interface) version as reported by the EFI System Resource Table (ESRT). -- **InitiateUpdate** Indicates whether the system is ready to initiate an update. -- **LastAttemptDate** The date of the most recent attempted firmware installation. -- **LastAttemptStatus** The result of the most recent attempted firmware installation. -- **LastAttemptVersion** The version of the most recent attempted firmware installation. -- **LowestSupportedFirmwareVersion** The oldest (lowest) version of firmware supported. -- **MaxRetryCount** The maximum number of retries, defined by the firmware class key. -- **RetryCount** The number of attempted installations (retries), reported by the driver software key. -- **Status** The status returned to the PnP (Plug-and-Play) manager. -- **UpdateAttempted** Indicates if installation of the current update has been attempted before. - - -## Update Assistant events - -### Microsoft.Windows.QualityUpdateAssistant.Applicability - -This event sends basic info on whether the device should be updated to the latest cumulative update. The data collected with this event is used to help keep Windows up to date and secure. - -The following fields are available: - -- **CV** Correlation vector. -- **dayspendingrebootafterfu** Number of days that have elapsed since the device reached ready to reboot for a Feature Update that is still actively pending reboot. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **Reason** Provides information on reasons why the update is not applicable to the device. -- **Result** Applicability check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.DeviceReadinessCheck - -This event sends basic info on whether the device is ready to download the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **Reason** Indicates why the device did not pass the readiness check. -- **Result** Device readiness check for quality update assistant. - - -### Microsoft.Windows.QualityUpdateAssistant.Download - -This event sends basic info when download of the latest cumulative update begins. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DODownloadHResult** Result code from Delivery Optimization when used to download the quality update. -- **DownloadMode** Indicates how the quality update was downloaded. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by this device. -- **HttpsDownloadHResult** Result code when HTTPS is used to download the quality update. -- **KBNumber** KBNumber of the update being installed. -- **PackageVersion** Current package version of quality update assistant. -- **QualityUpdateDeviceHasMinimumUptime** Indicates whether the device has the minimum uptime required to install a quality update. -- **Result** Download of latest cumulative update payload. -- **Scenario** Indicates if the installation step succeeded or failed. - - -### Microsoft.Windows.QualityUpdateAssistant.Install - -This event sends basic info on the result of the installation of the latest cumulative update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **DismInstallHResult** Internal result code from DISM when used to install the quality update. -- **ExecutionRequestId** Identifier of the Execution Request that launched the QualityUpdateAssistant process. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. -- **InstallMode** Indicates which installation method was used to attempt the install of the quality update. -- **KBNumber** KBNumber of the update being installed. -- **launchretrycounter** Count of the number of times the install has been retried in the event of a non-successful installation attempt. -- **PackageVersion** Current package version of quality update assistant. -- **QualityUpdateDismErrorCode** Error code returned when DISM is used to install the quality update. -- **QualityUpdatePendingRebootAfterInstallStage** Indicates if the device is pending reboot after install is complete. -- **QualityUpdateSecondsInstallStage** Time spent installing the quality update. -- **QualityUpdateWusaErrorCode** Error code returned when WUSA is used to install the quality update. -- **Result** Install of latest cumulative update payload. -- **Scenario** Indicates if the installation step succeeded or failed. -- **WusaInstallHResult** Internal result code from WUSA when used to install the quality update. - - -### Microsoft.Windows.Shell.EM.EMCompleted - -Event that tracks the effectiveness of an operation to mitigate an issue on devices that meet certain requirements. - -The following fields are available: - -- **cleanUpScheduledTaskHR** The result of the operation to clean up the scheduled task the launched the operation. -- **eulaHashHR** The result of the operation to generate a hash of the EULA file that's currently on-disk. -- **mitigationHR** The result of the operation to take corrective action on a device that's impacted. -- **mitigationResult** The enumeration value representing the action that was taken on the device. -- **mitigationResultReason** The string value representing the action that was taken on the device. -- **mitigationSuccessWriteHR** The result of writing the success value to the registry. -- **region** The device's default region at the time of execution. -- **windowsVersionString** The version of Windows that was computed at the time of execution. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantCompatCheckResult - -This event provides the result of running the compatibility check for update assistant. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantCompatCheckResultOutput** Output of compatibility check for update assistant. -- **UpdateAssistantVersion** Current package version of UpdateAssistant. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantDeviceInformation - -This event provides basic information about the device where update assistant was run. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantAppFilePath** Path to Update Assistant app. -- **UpdateAssistantDeviceId** Device Id of the Update Assistant Candidate Device. -- **UpdateAssistantExeName** Exe name running as Update Assistant. -- **UpdateAssistantExternalId** External Id of the Update Assistant Candidate Device. -- **UpdateAssistantIsDeviceCloverTrail** True/False is the device clovertrail. -- **UpdateAssistantIsPushing** True if the update is pushing to the device. -- **UpdateAssistantMachineId** Machine Id of the Update Assistant Candidate Device. -- **UpdateAssistantOsVersion** Update Assistant OS Version. -- **UpdateAssistantPartnerId** Partner Id for Assistant application. -- **UpdateAssistantReportPath** Path to report for Update Assistant. -- **UpdateAssistantStartTime** Start time for UpdateAssistant. -- **UpdateAssistantTargetOSVersion** Update Assistant Target OS Version. -- **UpdateAssistantUiType** The type of UI whether default or OOBE. -- **UpdateAssistantVersion** Current package version of UpdateAssistant. -- **UpdateAssistantVersionInfo** Information about Update Assistant application. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantEULAProperty - -This event is set to true at the start of AcceptEULA. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantEULAPropertyGeoId** Geo Id used to show EULA. -- **UpdateAssistantEULAPropertyRegion** Region used to show EULA. -- **UpdateAssistantVersion** Current package version of UpdateAssistant. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantInteractive - -An user action such as button click happens. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantInteractiveObjective** The objective of the action performed. -- **UpdateAssistantInteractiveUiAction** The action performed through UI. -- **UpdateAssistantVersion** Current package version of Update Assistant. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantPostInstallDetails - -Information pertaining to post install phase of Update Assistant. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantPostInstallCV** Correlation vector for update assistant post install. -- **UpdateAssistantPostInstallUpgradeClientId** Client id post install. -- **UpdateAssistantPostInstallUserSignature** User signature of install. -- **UpdateAssistantVersion** Current package version of Update Assistant. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantStartState - -Will mark the start of an Update Assistant State. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantStateAcceptEULA** True at the start of AcceptEULA. -- **UpdateAssistantStateCheckingCompat** True at the start of Checking Compat -- **UpdateAssistantStateCheckingUpgrade** True at the start of CheckingUpgrade. -- **UpdateAssistantStateConfirmUninstall** True at the start of the state Confirm Uninstall. -- **UpdateAssistantStateDownloading** True at the start Downloading. -- **UpdateAssistantStateInitializingApplication** True at the start of the state InitializingApplication. -- **UpdateAssistantStateInitializingStates** True at the start of InitializingStates. -- **UpdateAssistantStateInstalling** True at the start of Installing. -- **UpdateAssistantStatePerformRestart** True at the start of PerformRestart. -- **UpdateAssistantStatePostInstall** True at the start of PostInstall. -- **UpdateAssistantStateShowingUpdate** True at the start of Showing Update. -- **UpdateAssistantVersion** Current package version of UpdateAssistant. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantStateGeneralErrorDetails - -Details about errors of current state. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantGeneralErrorHResult** HResult of current state. -- **UpdateAssistantGeneralErrorOriginalState** State name of current state. -- **UpdateAssistantVersion** Current package version of Update Assistant. - - -### Microsoft.Windows.UpdateAssistantApp.UpdateAssistantUserActionDetails - -This event provides details about user action. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The global event counter for all telemetry on the device. -- **UpdateAssistantUserActionExitingState** Exiting state name user performed action on. -- **UpdateAssistantUserActionHResult** HRESULT of user action. -- **UpdateAssistantUserActionState** State name user performed action on. -- **UpdateAssistantVersion** Current package version of UpdateAssistant. - - -### Microsoft.Windows.UpdateAssistantDwnldr.UpdateAssistantDownloadDetails - -Details about the Update Assistant ESD download. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** The counter for all telemetry on the device. -- **UpdateAssistantDownloadCancelled** True when the ESD download is cancelled. -- **UpdateAssistantDownloadDownloadTotalBytes** The total size in bytes of the download. -- **UpdateAssistantDownloadEditionMismatch** True if downloaded ESD doesn't match edition. -- **UpdateAssistantDownloadESDEncrypted** True if ESD is encrypted. -- **UpdateAssistantDownloadIs10s** True if ESD is 10s. -- **UpdateAssistantDownloadMessage** Message from a completed or failed download. -- **UpdateAssistantDownloadMsgSize** Size of the download. -- **UpdateAssistantDownloadNEdition** True if ESD is N edition. -- **UpdateAssistantDownloadPath** Full path to the download. -- **UpdateAssistantDownloadPathSize** Size of the path. -- **UpdateAssistantDownloadProductsXml** Full path of products xml. -- **UpdateAssistantDownloadTargetEdition** The targeted edition for the download. -- **UpdateAssistantDownloadTargetLanguage** The targeted language for the download. -- **UpdateAssistantDownloadUseCatalog** True if update assistant is using catalog. -- **UpdateAssistantVersion** Current package version of Update Assistant. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteBlocked - -This event indicates that an update detection has occurred and the targeted install has been blocked. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** A correlation vector. -- **ExpeditePolicyId** The policy id of the expedite request. -- **ExpediteUpdaterOfferedUpdateId** An Update Id of the LCU expected to be expedited -- **ExpediteUpdatesInProgress** A list of update IDs in progress. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version of the label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteCompleted - -This event indicates that the update has been completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** A correlation vector. -- **ExpeditePolicyId** The policy Id of the expedite request. -- **ExpediteUpdaterOfferedUpdateId** The Update Id of the LCU expected to be expedited. -- **ExpediteUpdatesInProgress** The list of update IDs in progress. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version of the label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteDetectionStarted - -This event indicates that the detection phase of USO has started. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpeditePolicyId** The policy ID of the expedite request. -- **ExpediteUpdaterOfferedUpdateId** UpdateId of the LCU expected to be expedited. -- **ExpediteUpdatesInProgress** List of update IDs in progress. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteDownloadStarted - -This event indicates that the download phase of USO has started. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** A correlation vector. -- **ExpeditePolicyId** The policy Id of the expedite request. -- **ExpediteUpdaterOfferedUpdateId** Update Id of the LCU expected to be expedited. -- **ExpediteUpdatesInProgress** A list of update IDs in progress. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteInstallStarted - -This event indicates that the install phase of USO has started. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpeditePolicyId** The policy ID of the expedite request. -- **ExpediteUpdaterOfferedUpdateId** UpdateId of the LCU expected to be expedited. -- **ExpediteUpdatesInProgress** List of update IDs in progress. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteUpdaterAlreadyExpectedUbr - -This event indicates that the device is already on the expected UBR. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpediteErrorBitMap** Bit map value for any error code. -- **ExpeditePolicyId** The policy id of the expedite request. -- **ExpediteResult** Boolean value for success or failure. -- **ExpediteUpdaterCurrentUbr** The ubr of the device. -- **ExpediteUpdaterExpectedUbr** The expected ubr of the device. -- **ExpediteUpdaterOfferedUpdateId** Update Id of the LCU expected to be expedited. -- **ExpediteUpdaterPolicyRestoreResult** HRESULT of the policy restore. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteUpdaterFailedToUpdateToExpectedUbr - -This event indicates the expected UBR of the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpediteErrorBitMap** Bit map value for any error code. -- **ExpeditePolicyId** The policy ID of the expedite request. -- **ExpediteResult** Boolean value for success or failure. -- **ExpediteUpdaterOfferedUpdateId** UpdateId of the LCU expected to be expedited. -- **ExpediteUpdaterPolicyRestoreResult** HRESULT of the policy restore. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteUpdaterRebootComplete - -This event indicates that the expedite update is completed with reboot. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpeditePolicyId** The policy id of the expedite request. -- **ExpediteResult** Boolean value for success or failure. -- **ExpediteUpdaterCurrentUbr** The ubr of the device. -- **ExpediteUpdaterOfferedUpdateId** Update Id of the LCU expected to be expedited. -- **ExpediteUpdaterPolicyRestoreResult** HRESULT of the policy restore. -- **ExpediteUpdatesInProgress** Comma delimited list of updates in progress. -- **ExpediteUsoCorrelationVector** The current USO correlation vector as surfaced from the USO store. -- **ExpediteUsoLastError** The last error as surfaced from the USO store. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteUpdaterRebootRequired - -This event indicates that the device has finished servicing and a reboot is required. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpeditePolicyId** The policy ID of the expedite request. -- **ExpediteUpdaterOfferedUpdateId** UpdateId of the LCU expected to be expedited. -- **ExpediteUpdatesInProgress** Comma delimited list of update IDs currently being offered. -- **ExpediteUsoCorrelationVector** The correlation vector from the USO session. -- **ExpediteUsoLastError** Last HResult from the current USO session. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of UpdateHealthTools. - - -### Microsoft.Windows.UpdateHealthTools.ExpediteUpdaterScanCompleted - -This event sends results of the expedite USO scan. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpediteCbsServicingInProgressStatus** True if servicing is in progress in cbs for the device. -- **ExpediteErrorBitMap** Bit map value for any error code. -- **ExpeditePolicyId** The policy ID of the expedite request. -- **ExpediteResult** Boolean value for success or failure. -- **ExpediteScheduledTaskCreated** Indicates whether the scheduled task was created (true/false). -- **ExpediteScheduledTaskHresult** HRESULT for scheduled task creation. -- **ExpediteUpdaterCurrentUbr** The UBR of the device. -- **ExpediteUpdaterExpectedUbr** The expected UBR of the device. -- **ExpediteUpdaterMonitorResult** HRESULT of the USO monitoring. -- **ExpediteUpdaterOfferedUpdateId** UpdateId of the LCU expected to be expedited. -- **ExpediteUpdaterScanResult** HRESULT of the expedite USO scan. -- **ExpediteUpdaterUsoResult** HRESULT of the USO initialization and resume API calls. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. -- **UsoFrequencyKey** Indicates whether the USO frequency key was found on the device (true/false). - - -### Microsoft.Windows.UpdateHealthTools.ExpediteUpdaterScanStarted - -Sends telemetry that USO scan has been started. - -The following fields are available: - -- **CV** Correlation vector. -- **ExpediteErrorBitMap** Bit map value for any error code. -- **ExpediteHoursOfUpTimeSincePolicy** The number of hours the device has been active since it received a policy. -- **ExpeditePolicyId** The policy Id of the expedite request. -- **ExpeditePollCount** Counts the number of polls. -- **ExpediteResult** Boolean value for success or failure. -- **ExpediteUpdaterCurrentUbr** The UBR of the device. -- **ExpediteUpdaterExpectedUbr** The expected UBR of the device. -- **ExpediteUpdaterOfferedUpdateId** UpdateId of the LCU expected to be expedited. -- **ExpediteUpdaterUsoIntiatedScan** True when USO scan has been called. -- **ExpediteUsoCorrelationVector** The correlation vector for the current USO session. -- **ExpediteUsoLastError** The last error returned by USO. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version label. -- **UsoFrequencyKey** Indicates whether the USO frequency key was found on the device (true/false). - - -### Microsoft.Windows.UpdateHealthTools.UnifiedInstallerEnd - -This event indicates that the unified installer has completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** The event counter for telemetry events on the device for currency tools. -- **PackageVersion** The package version label for currency tools. -- **UnifiedInstallerInstallResult** The final result code for the unified installer. -- **UnifiedInstallerPlatformResult** The result code from determination of the platform type. -- **UnifiedInstallerPlatformType** The enum indicating the platform type. - - -### Microsoft.Windows.UpdateHealthTools.UnifiedInstallerStart - -This event indicates that the installation has started for the unified installer. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** The correlation vector. -- **GlobalEventCounter** Counts the events at the global level for telemetry. -- **PackageVersion** The package version for currency tools. -- **UnifiedInstallerDeviceAADJoinedHresult** The result code after checking if device is AAD joined. -- **UnifiedInstallerDeviceInDssPolicy** Boolean indicating whether the device is found to be in a DSS policy. -- **UnifiedInstallerDeviceInDssPolicyHresult** The result code for checking whether the device is found to be in a DSS policy. -- **UnifiedInstallerDeviceIsAADJoined** Boolean indicating whether a device is AADJ. -- **UnifiedInstallerDeviceIsAdJoined** Boolean indicating whether a device is AD joined. -- **UnifiedInstallerDeviceIsAdJoinedHresult** The result code for checking whether a device is AD joined. -- **UnifiedInstallerDeviceIsEducationSku** Boolean indicating whether a device is Education SKU. -- **UnifiedInstallerDeviceIsEducationSkuHresult** The result code from checking whether a device is Education SKU. -- **UnifiedInstallerDeviceIsEnterpriseSku** Boolean indicating whether a device is Enterprise SKU. -- **UnifiedInstallerDeviceIsEnterpriseSkuHresult** The result code from checking whether a device is Enterprise SKU. -- **UnifiedInstallerDeviceIsHomeSku** Boolean indicating whether a device is Home SKU. -- **UnifiedInstallerDeviceIsHomeSkuHresult** The result code from checking whether device is Home SKU. -- **UnifiedInstallerDeviceIsMdmManaged** Boolean indicating whether a device is MDM managed. -- **UnifiedInstallerDeviceIsMdmManagedHresult** The result code from checking whether a device is MDM managed. -- **UnifiedInstallerDeviceIsProSku** Boolean indicating whether a device is Pro SKU. -- **UnifiedInstallerDeviceIsProSkuHresult** The result code from checking whether a device is Pro SKU. -- **UnifiedInstallerDeviceIsSccmManaged** Boolean indicating whether a device is managed by Configuration Manager. -- **UnifiedInstallerDeviceIsSccmManagedHresult** The result code from checking whether a device is managed by Configuration Manager. -- **UnifiedInstallerDeviceWufbManaged** Boolean indicating whether a device is managed by Windows Update for Business. -- **UnifiedInstallerDeviceWufbManagedHresult** The result code from checking whether a device is is managed by Windows Update for Business. -- **UnifiedInstallerPlatformResult** The result code from checking what platform type the device is. -- **UnifiedInstallerPlatformType** The enum indicating the type of platform detected. -- **UnifiedInstUnifiedInstallerDeviceIsHomeSkuHresultllerDeviceIsHomeSku** The result code from checking whether a device is Home SKU. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsBlobNotificationRetrieved - -This event is sent when a blob notification is received. The data collected with this event is used to help keep Windows up to date and secure. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Counts the number of events for this provider. -- **PackageVersion** The package version of the label. -- **UpdateHealthToolsBlobNotificationNotEmpty** True if the blob notification is not empty. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsCachedNotificationRetrieved - -This event is sent when a notification is received. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** A correlation vector. -- **GlobalEventCounter** This is a client side counter that indicates ordering of events sent by the user. -- **PackageVersion** The package version of the label. -- **UpdateHealthToolsBlobNotificationNotEmpty** A boolean that is true if the blob notification has valid content. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsDeviceInformationUploaded - -This event is received when the UpdateHealthTools service uploads device information. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of remediation. -- **UpdateHealthToolsDeviceUbrChanged** 1 if the Ubr just changed, 0 otherwise. -- **UpdateHealthToolsDeviceUri** The URI to be used for push notifications on this device. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsDeviceInformationUploadFailed - -This event provides information for device which failed to upload the details. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Telemetry event counter. -- **PackageVersion** Version label of the package sending telemetry. -- **UpdateHealthToolsEnterpriseActionResult** Result of running the tool expressed as an HRESULT. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsPushNotificationCompleted - -This event is received when a push notification has been completed by the UpdateHealthTools service. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of UpdateHealthTools. -- **UpdateHealthToolsEnterpriseActionResult** The HRESULT return by the enterprise action. -- **UpdateHealthToolsEnterpriseActionType** Enum describing the type of action requested by the push. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsPushNotificationReceived - -This event is received when the UpdateHealthTools service receives a push notification. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of UpdateHealthTools. -- **UpdateHealthToolsDeviceUri** The URI to be used for push notifications on this device. -- **UpdateHealthToolsEnterpriseActionType** Enum describing the type of action requested by the push. -- **UpdateHealthToolsPushCurrentChannel** The channel used to receive notification. -- **UpdateHealthToolsPushCurrentRequestId** The request ID for the push. -- **UpdateHealthToolsPushCurrentResults** The results from the push request. -- **UpdateHealthToolsPushCurrentStep** The current step for the push notification. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsPushNotificationStatus - -This event is received when there is status on a push notification. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of UpdateHealthTools. -- **UpdateHealthToolsDeviceUri** The URI to be used for push notifications on this device. -- **UpdateHealthToolsEnterpriseActionType** Enum describing the type of action requested by the push. -- **UpdateHealthToolsPushCurrentRequestId** The request ID for the push. -- **UpdateHealthToolsPushCurrentResults** The results from the push request. -- **UpdateHealthToolsPushCurrentStep** The current step for the push notification - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsServiceBlobDocumentDetails - -The event indicates the details about the blob used for update health tools. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** A correlation vector. -- **GlobalEventCounter** This is a client side counter which indicates ordering of events sent by the user. -- **PackageVersion** The package version of the label. -- **UpdateHealthToolsDevicePolicyFileName** The default name of the policy blob file. -- **UpdateHealthToolsDssDeviceApiSegment** The URI segment for reading the DSS device pointer. -- **UpdateHealthToolsDssDeviceId** The AAD ID of the device used to create the device ID hash. -- **UpdateHealthToolsDssDevicePolicyApiSegment** The segment of the device policy API pointer. -- **UpdateHealthToolsDssTenantId** The tenant id of the device used to create the tenant id hash. -- **UpdateHealthToolsHashedDeviceId** The SHA256 hash of the device id. -- **UpdateHealthToolsHashedTenantId** The SHA256 hash of the device tenant id. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsServiceBlockedByNoDSSJoin - -The event is sent when the device is not joined to AAD. The data collected with this event is used to help keep Windows up to date and secure. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** The global event counter counts the total events for the provider. -- **PackageVersion** The version for the current package. -- **UpdateHealthToolsServiceBlockedByNoDSSJoinHr** The result code returned when checking for is managed by Windows Update for Business cloud membership. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsServiceIsDSSJoin - -This event is sent when a device has been detected as DSS device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** A correlation vector. -- **GlobalEventCounter** This is a client side counter which indicates ordering of events sent by this user. -- **PackageVersion** The package version of the label. - - -### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsServiceStarted - -This event is sent when the service first starts. It is a heartbeat indicating that the service is available on the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. -- **PackageVersion** Current package version of remediation. - - -## Update events - -### Update360Telemetry.Revert - -This event sends data relating to the Revert phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the Revert phase. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **RebootRequired** Indicates reboot is required. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **RevertResult** The result code returned for the Revert operation. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. - - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CancelRequested** Boolean that indicates whether cancel was requested. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - -This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CancelRequested** Boolean indicating whether a cancel was requested. -- **ContainsSafeOSDUPackage** Boolean indicating whether Safe DU packages are part of the payload. -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **DownloadComplete** Indicates if the download is complete. -- **DownloadedSizeBundle** Cumulative size (in bytes) of the downloaded bundle content. -- **DownloadedSizeCanonical** Cumulative size (in bytes) of downloaded canonical content. -- **DownloadedSizeDiff** Cumulative size (in bytes) of downloaded diff content. -- **DownloadedSizeExpress** Cumulative size (in bytes) of downloaded express content. -- **DownloadedSizePSFX** Cumulative size (in bytes) of downloaded PSFX content. -- **DownloadRequests** Number of times a download was retried. -- **ErrorCode** The error code returned for the current download request phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique ID for each flight. -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **NumberOfHops** Number of intermediate packages used to reach target version. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **PackageCategoriesSkipped** Indicates package categories that were skipped, if applicable. -- **PackageCountOptional** Number of optional packages requested. -- **PackageCountRequired** Number of required packages requested. -- **PackageCountTotal** Total number of packages needed. -- **PackageCountTotalBundle** Total number of bundle packages. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageCountTotalPSFX** The total number of PSFX packages. -- **PackageExpressType** Type of express package. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **PackageSizePSFX** The size of PSFX packages, in bytes. -- **RangeRequestState** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **SandboxTaggedForReserves** The sandbox for reserves. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentExpand - -This event collects information regarding the expansion phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CancelRequested** Boolean that indicates whether a cancel was requested. -- **CanonicalRequestedOnError** Indicates if an error caused a reversion to a different type of compressed update (TRUE or FALSE). -- **ElapsedTickCount** Time taken for expand phase. -- **EndFreeSpace** Free space after expand phase. -- **EndSandboxSize** Sandbox size after expand phase. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **StartFreeSpace** Free space before expand phase. -- **StartSandboxSize** Sandbox size after expand phase. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInitialize - -This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInstall - -This event sends data for the install phase of updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CancelRequested** Boolean to indicate whether a cancel was requested. -- **ErrorCode** The error code returned for the current install phase. -- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **UpdatePriority** Indicates the priority that Update Agent is requested to run in for the install phase of an update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **MergeId** The unique ID to join two update sessions being merged. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMitigationResult - -This event sends data indicating the result of each update agent mitigation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** Indicates whether the mitigation is applicable for the current update. -- **CommandCount** The number of command operations in the mitigation entry. -- **CustomCount** The number of custom operations in the mitigation entry. -- **FileCount** The number of file operations in the mitigation entry. -- **FlightId** Unique identifier for each flight. -- **Index** The mitigation index of this particular mitigation. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **Name** The friendly name of the mitigation. -- **ObjectId** Unique value for each Update Agent mode. -- **OperationIndex** The mitigation operation index (in the event of a failure). -- **OperationName** The friendly name of the mitigation operation (in the event of failure). -- **RegistryCount** The number of registry operations in the mitigation entry. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). -- **UpdateId** Unique ID for each Update. - - -### Update360Telemetry.UpdateAgentMitigationSummary - -This event sends a summary of all the update agent mitigations available for an this update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** The count of mitigations that were applicable to the system and scenario. -- **Failed** The count of mitigations that failed. -- **FlightId** Unique identifier for each flight. -- **MitigationScenario** The update scenario in which the mitigations were attempted. -- **ObjectId** The unique value for each Update Agent mode. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** The HResult of this operation. -- **ScenarioId** The update agent scenario ID. -- **SessionId** Unique value for each update attempt. -- **TimeDiff** The amount of time spent performing all mitigations (in 100-nanosecond increments). -- **Total** Total number of mitigations that were available. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates the mode that has started. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **Version** Version of update - - -### Update360Telemetry.UpdateAgentOneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Count** The count of applicable OneSettings for the device. -- **FlightId** Unique ID for the flight (test instance version). -- **ObjectId** The unique value for each Update Agent mode. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. -- **Values** The values sent back to the device, if applicable. - - -### Update360Telemetry.UpdateAgentPostRebootResult - -This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **ObjectId** Unique value for each Update Agent mode. -- **PostRebootResult** Indicates the Hresult. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **RollbackFailureReason** Indicates the cause of the rollback. -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **UpdateOutputState** A numeric value indicating the state of the update at the time of reboot. - - -### Update360Telemetry.UpdateAgentReboot - -This event sends information indicating that a request has been sent to suspend an update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ErrorCode** The error code returned for the current reboot. -- **FlightId** Unique ID for the flight (test instance version). -- **IsSuspendable** Indicates whether the update has the ability to be suspended and resumed at the time of reboot. When the machine is rebooted and the update is in middle of Predownload or Install and Setup.exe is running, this field is TRUE, if not its FALSE. -- **ObjectId** The unique value for each Update Agent mode. -- **Reason** Indicates the HResult why the machine could not be suspended. If it is successfully suspended, the result is 0. -- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. -- **Result** The HResult of the event. -- **ScenarioId** The ID of the update scenario. -- **SessionId** The ID of the update attempt. -- **UpdateId** The ID of the update. -- **UpdateState** Indicates the state of the machine when Suspend is called. For example, Install, Download, Commit. - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ContainsExpressPackage** Indicates whether the download package is express. -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign. -- **CampaignID** Currently campaign that is running on Update Notification Pipeline (UNP). -- **ConfigCatalogVersion** Current catalog version of UNP. -- **ContentVersion** Content version for the current campaign on UNP. -- **CV** Correlation vector. -- **DetectorVersion** Most recently run detector version for the current campaign on UNP. -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. -- **PackageVersion** Current UNP package version. - - -## Upgrade events - -### FacilitatorTelemetry.DCATDownload - -This event indicates whether devices received additional or critical supplemental content during an OS Upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **DownloadSize** Download size of payload. -- **ElapsedTime** Time taken to download payload. -- **MediaFallbackUsed** Used to determine if we used Media CompDBs to figure out package requirements for the upgrade. -- **ResultCode** Result returned by the Facilitator DCAT call. -- **Scenario** Dynamic update scenario (Image DU, or Setup DU). -- **Type** Type of package that was downloaded. -- **UpdateId** The ID of the update that was downloaded. - - -### FacilitatorTelemetry.DUDownload - -This event returns data about the download of supplemental packages critical to upgrading a device to the next version of Windows. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PackageCategoriesFailed** Lists the categories of packages that failed to download. -- **PackageCategoriesSkipped** Lists the categories of package downloads that were skipped. - - -### FacilitatorTelemetry.InitializeDU - -This event determines whether devices received additional or critical supplemental content during an OS upgrade. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. -- **DownloadRequestAttributes** The attributes we send to DCAT. -- **ResultCode** The result returned from the initiation of Facilitator with the URL/attributes. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **Url** The Delivery Catalog (DCAT) URL we send the request to. -- **Version** Version of Facilitator. - - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up to date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). -- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). -- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** An ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PostRebootInstall - -This event sends data indicating that the device has invoked the post reboot install phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. - - -### Setup360Telemetry.PreDownloadQuiet - -This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreDownloadUX - -This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS, to help keep Windows up-to-date and secure. Specifically, it indicates the outcome of the PredownloadUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** ID that uniquely identifies a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT). -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreInstallUX - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10, to help keep Windows up-to-date. Specifically, it indicates the outcome of the PreinstallUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. - - -### Setup360Telemetry.Setup360 - -This event sends data about OS deployment scenarios, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** Retrieves the upgrade ID. In the Windows Update scenario, this will be the Windows Update client ID. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FieldName** Retrieves the data point. -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. - - -### Setup360Telemetry.Setup360DynamicUpdate - -This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **Operation** Facilitator’s last known operation (scan, download, etc.). -- **ReportId** ID for tying together events stream side. -- **ResultCode** Result returned for the entire setup operation. -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). -- **ScenarioId** Identifies the update scenario. -- **TargetBranch** Branch of the target OS. -- **TargetBuild** Build of the target OS. - - -### Setup360Telemetry.Setup360MitigationResult - -This event sends data indicating the result of each setup mitigation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** TRUE if the mitigation is applicable for the current update. -- **ClientId** In the Windows Update scenario, this is the client ID passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **CommandCount** The number of command operations in the mitigation entry. -- **CustomCount** The number of custom operations in the mitigation entry. -- **FileCount** The number of file operations in the mitigation entry. -- **FlightData** The unique identifier for each flight (test release). -- **Index** The mitigation index of this particular mitigation. -- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **Name** The friendly (descriptive) name of the mitigation. -- **OperationIndex** The mitigation operation index (in the event of a failure). -- **OperationName** The friendly (descriptive) name of the mitigation operation (in the event of failure). -- **RegistryCount** The number of registry operations in the mitigation entry. -- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. -- **Result** HResult of this operation. -- **ScenarioId** Setup360 flow type. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). - - -### Setup360Telemetry.Setup360MitigationSummary - -This event sends a summary of all the setup mitigations available for this update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Applicable** The count of mitigations that were applicable to the system and scenario. -- **ClientId** The Windows Update client ID passed to Setup. -- **Failed** The count of mitigations that failed. -- **FlightData** The unique identifier for each flight (test release). -- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. -- **MitigationScenario** The update scenario in which the mitigations were attempted. -- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. -- **Result** HResult of this operation. -- **ScenarioId** Setup360 flow type. -- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). -- **Total** The total number of mitigations that were available. - - -### Setup360Telemetry.Setup360OneSettings - -This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The Windows Update client ID passed to Setup. -- **Count** The count of applicable OneSettings for the device. -- **FlightData** The ID for the flight (test instance version). -- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. -- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. -- **ReportId** The Update ID passed to Setup. -- **Result** The HResult of the event error. -- **ScenarioId** The update scenario ID. -- **Values** Values sent back to the device, if applicable. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSMedic.DetectionFailed - -This event is sent when WaaSMedic fails to apply the named diagnostic. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **diagnostic** Parameter where the diagnostic failed. -- **hResult** Error code from attempting the diagnostic. -- **isDetected** Flag indicating whether the condition was detected. -- **pluginName** Name of the attempted diagnostic. -- **versionString** The version number of the remediation engine. - - -### Microsoft.Windows.WaaSMedic.RemediationFailed - -This event is sent when the WaaS Medic update stack remediation tool fails to apply a described resolution to a problem that is blocking Windows Update from operating correctly on a target device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **diagnostic** Parameter where the resolution failed. -- **hResult** Error code that resulted from attempting the resolution. -- **isRemediated** Indicates whether the condition was remediated. -- **pluginName** Name of the attempted resolution. -- **versionString** Version of the engine. - - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -This event provides the result of the WaaSMedic operation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **callerApplication** The name of the calling application. -- **capsuleCount** The number of Sediment Pack capsules. -- **capsuleFailureCount** The number of capsule failures. -- **detectionSummary** Result of each applicable detection that was run. -- **featureAssessmentImpact** WaaS Assessment impact for feature updates. -- **hrEngineBlockReason** Indicates the reason for stopping WaaSMedic. -- **hrEngineResult** Error code from the engine operation. -- **hrLastSandboxError** The last error sent by the WaaSMedic sandbox. -- **initSummary** Summary data of the initialization method. -- **isInteractiveMode** The user started a run of WaaSMedic. -- **isManaged** Device is managed for updates. -- **isWUConnected** Device is connected to Windows Update. -- **noMoreActions** No more applicable diagnostics. -- **pluginFailureCount** The number of plugins that have failed. -- **pluginsCount** The number of plugins. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. -- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. -- **versionString** Version of the WaaSMedic engine. -- **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. - - -## Windows Error Reporting events - -### Microsoft.Windows.WERVertical.OSCrash - -This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. - -The following fields are available: - -- **BootId** Uint32 identifying the boot number for this device. -- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. -- **BugCheckParameter1** Uint64 parameter providing additional information. -- **BugCheckParameter2** Uint64 parameter providing additional information. -- **BugCheckParameter3** Uint64 parameter providing additional information. -- **BugCheckParameter4** Uint64 parameter providing additional information. -- **DumpFileAttributes** Codes that identify the type of data contained in the dump file -- **DumpFileSize** Size of the dump file -- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise -- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). - - -### Value - -This event returns data about Mean Time to Failure (MTTF) for Windows devices. It is the primary means of estimating reliability problems in Basic Diagnostic reporting with very strong privacy guarantees. Since Basic Diagnostic reporting does not include system up-time, and since that information is important to ensuring the safe and stable operation of Windows, the data provided by this event provides that data in a manner which does not threaten a user’s privacy. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **Algorithm** The algorithm used to preserve privacy. -- **DPRange** The upper bound of the range being measured. -- **DPValue** The randomized response returned by the client. -- **Epsilon** The level of privacy to be applied. -- **HistType** The histogram type if the algorithm is a histogram algorithm. -- **PertProb** The probability the entry will be Perturbed if the algorithm chosen is “heavy-hitters”. - - -## Windows Error Reporting MTT events - -### Microsoft.Windows.WER.MTT.Denominator - -This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. - -The following fields are available: - -- **Value** Standard UTC emitted DP value structure See [Value](#value). - - -## Windows Hardware Error Architecture events - -### WheaProvider.WheaErrorRecord - -This event collects data about common platform hardware error recorded by the Windows Hardware Error Architecture (WHEA) mechanism. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **creatorId** The unique identifier for the entity that created the error record. -- **errorFlags** Any flags set on the error record. -- **notifyType** The unique identifier for the notification mechanism which reported the error to the operating system. -- **partitionId** The unique identifier for the partition on which the hardware error occurred. -- **platformId** The unique identifier for the platform on which the hardware error occurred. -- **record** A collection of binary data containing the full error record. -- **recordId** The identifier of the error record. -- **sectionFlags** The flags for each section recorded in the error record. -- **sectionTypes** The unique identifier that represents the type of sections contained in the error record. -- **severityCount** The severity of each individual section. -- **timeStamp** The error time stamp as recorded in the error record. - - -## Windows Security Center events - -### Microsoft.Windows.Security.WSC.DatastoreMigratedVersion - -This event provides information about the datastore migration and whether it was successful. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **datastoreisvtype** The product category of the datastore. -- **datastoremigrated** The version of the datastore that was migrated. -- **status** The result code of the migration. - - -### Microsoft.Windows.Security.WSC.GetCallerViaWdsp - -This event returns data if the registering product EXE (executable file) does not allow COM (Component Object Model) impersonation. The data collected with this event is used to help keep Windows secure and performing properly. - -The following fields are available: - -- **callerExe** The registering product EXE that does not support COM impersonation. - - -## Windows Store events - -### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation - -This event is sent when an installation or update is canceled by a user or the system and is used to help keep Windows Apps up to date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The Item Bundle ID. -- **CategoryId** The Item Category ID. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Was this a mandatory update? -- **IsRemediation** Was this a remediation install? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Flag indicating if this is an update. -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The product family name of the product being installed. -- **ProductId** The identity of the package or packages being installed. -- **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. -- **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds - -This event is sent when an inventory of the apps installed is started to determine whether updates for those apps are available. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.BeginUpdateMetadataPrepare - -This event is sent when the Store Agent cache is refreshed with any available package updates. It's used to help keep Windows up-to-date and secure. - - - -### Microsoft.Windows.StoreAgent.Telemetry.CancelInstallation - -This event is sent when an app update or installation is canceled while in interactive mode. This can be canceled by the user or the system. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all package or packages to be downloaded and installed. -- **AttemptNumber** Total number of installation attempts. -- **BundleId** The identity of the Windows Insider build that is associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Was this requested by a user? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this an automatic restore of a previously acquired product? -- **IsUpdate** Is this a product update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of all packages to be downloaded and installed. -- **PreviousHResult** The previous HResult code. -- **PreviousInstallState** Previous installation state before it was canceled. -- **ProductId** The name of the package or packages requested for installation. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. -- **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest - -This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Product ID of the app being installed. -- **HResult** HResult code of the action being performed. -- **IsBundle** Is this a bundle? -- **PackageFamilyName** The name of the package being installed. -- **ProductId** The Store Product ID of the product being installed. -- **SkuId** Specific edition of the item being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndAcquireLicense - -This event is sent after the license is acquired when a product is being installed. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. -- **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** HResult code to show the result of the operation (success/failure). -- **IsBundle** Is this a bundle? -- **IsInteractive** Did the user initiate the installation? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this happening after a device restore? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to acquire this product. -- **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndDownload - -This event is sent after an app is downloaded to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** Number of retry attempts before it was canceled. -- **BundleId** The identity of the Windows Insider build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **DownloadSize** The total size of the download. -- **ExtendedHResult** Any extended HResult error codes. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this initiated by the user? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this a restore of a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). -- **PFN** The Product Family Name of the app being download. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The number of attempts by the system to download. -- **UserAttemptNumber** The number of attempts by the user to download. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate - -This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndGetInstalledContentIds - -This event is sent after sending the inventory of the products installed to determine whether updates for those products are available. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed before this operation. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndInstall - -This event is sent after a product has been installed to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **ExtendedHResult** The extended HResult error code. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this an interactive installation? -- **IsMandatory** Is this a mandatory installation? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this automatically restoring a previously acquired product? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** Product Family Name of the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates - -This event is sent after a scan for product updates to determine if there are packages to install. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsApplicability** Is this request to only check if there are any applicable packages to install? -- **IsInteractive** Is this user requested? -- **IsOnline** Is the request doing an online check? - - -### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages - -This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData - -This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The name of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **ProductId** The Store Product ID for the product being installed. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare - -This event is sent after a scan for available app updates to help keep Windows up-to-date and secure. - -The following fields are available: - -- **HResult** The result code of the last action performed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete - -This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate - -This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The name of the product catalog from which this app was chosen. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **ProductId** The product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest - -This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **BundleId** The identity of the build associated with this product. -- **CatalogId** If this product is from a private catalog, the Store Product ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specific edition ID being installed. -- **VolumePath** The disk path of the installation. - - -### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation - -This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The total number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The Product Full Name. -- **PreviousHResult** The result code of the last action performed before this operation. -- **PreviousInstallState** Previous state before the installation or update was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector of a previous performed action on this product. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation - -This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. - -The following fields are available: - -- **AggregatedPackageFullNames** The names of all packages to be downloaded and installed. -- **AttemptNumber** The number of retry attempts before it was canceled. -- **BundleId** The identity of the build associated with this product. -- **CategoryId** The identity of the package or packages being installed. -- **ClientAppId** The identity of the app that initiated this operation. -- **HResult** The result code of the last action performed before this operation. -- **IsBundle** Is this a bundle? -- **IsInteractive** Is this user requested? -- **IsMandatory** Is this a mandatory update? -- **IsRemediation** Is this repairing a previous installation? -- **IsRestore** Is this restoring previously acquired content? -- **IsUpdate** Is this an update? -- **IsUserRetry** Did the user initiate the retry? -- **ParentBundleId** The product ID of the parent (if this product is part of a bundle). -- **PFN** The name of the package or packages requested for install. -- **PreviousHResult** The previous HResult error code. -- **PreviousInstallState** Previous state before the installation was paused. -- **ProductId** The Store Product ID for the product being installed. -- **RelatedCV** Correlation Vector for the original install before it was resumed. -- **ResumeClientId** The ID of the app that initiated the resume operation. -- **SystemAttemptNumber** The total number of system attempts. -- **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID. - - -### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest - -This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ProductId** The Store Product ID for the product being installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest - -This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **CatalogId** The Store Catalog ID for the product being installed. -- **ProductId** The Store Product ID for the product being installed. -- **SkuId** Specfic edition of the app being updated. - - -### Microsoft.Windows.StoreAgent.Telemetry.StateTransition - -Products in the process of being fulfilled (installed or updated) are maintained in a list. This event is sent any time there is a change in a product's fulfillment status (pending, working, paused, cancelled, or complete), to help keep Windows up to date and secure. - -The following fields are available: - -- **CatalogId** The ID for the product being installed if the product is from a private catalog, such as the Enterprise catalog. -- **FulfillmentPluginId** The ID of the plugin needed to install the package type of the product. -- **HResult** The resulting HResult error/success code of this operation. -- **NewState** The current fulfillment state of this product. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **PluginLastStage** The most recent product fulfillment step that the plug-in has reported (different than its state). -- **PluginTelemetryData** Diagnostic information specific to the package-type plug-in. -- **Prevstate** The previous fulfillment state of this product. -- **ProductId** Product ID of the app that is being updated or installed. - - -### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest - -This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. - -The following fields are available: - -- **PFamN** The name of the app that is requested for update. - - -## Windows Update CSP events - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed - -This event sends basic telemetry on the failure of the Feature Rollback. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **sacDevice** This is the device info. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureNotApplicable - -This event sends basic telemetry on whether Feature Rollback (rolling back features updates) is applicable to a device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **sacDevice** Represents the device info. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureStarted - -This event sends basic information indicating that Feature Rollback has started. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityFailed - -This event sends basic telemetry on the failure of the rollback of the Quality/LCU builds. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure Error code. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **sacDevice** Release Channel. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityNotApplicable - -This event informs you whether a rollback of Quality updates is applicable to the devices that you are attempting to rollback. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **current** Result of currency check. -- **dismOperationSucceeded** Dism uninstall operation status. -- **oSVersion** Build number of the device. -- **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. -- **sacDevice** Device in the General Availability Channel. -- **wUfBConnected** Result of Windows Update for Business connection check. - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityStarted - -This event indicates that the Quality Rollback process has started. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualitySucceeded - -This event sends basic telemetry on the success of the rollback of the Quality/LCU builds. The data collected with this event is used to help keep Windows secure and up to date. - - - -## Windows Update Delivery Optimization events - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCanceled - -This event describes when a download was canceled with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **cdnUrl** The URL of the source CDN (Content Delivery Network). -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller. -- **reasonCode** Reason the action or event occurred. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromLinkLocalPeers** The number of bytes received from local peers. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **cdnUrl** Url of the source Content Distribution Network (CDN). -- **congestionPrevention** Indicates a download may have been suspended to prevent network congestion. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **downloadModeReason** Reason for the download. -- **downloadModeSrc** Source of the DownloadMode setting. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **expiresAt** The time when the content will expire from the Delivery Optimization Cache. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. -- **isThrottled** Event Rate throttled (event represents aggregated data). -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **linkLocalConnectionCount** The number of connections made to peers in the same Link-local network. -- **numPeers** The total number of peers used for this download. -- **numPeersLocal** The total number of local peers used for this download. -- **predefinedCallerName** The name of the API Caller. -- **restrictedUpload** Is the upload restricted? -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Is the download a background download? -- **cdnUrl** The URL of the source CDN (Content Delivery Network). -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being paused. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **predefinedCallerName** The name of the API Caller object. -- **reasonCode** The reason for pausing the download. -- **routeToCacheServer** The cache server setting, source, and value. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being paused. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted - -This event sends data describing the start of a new download to enable Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeReason** Reason for the download. -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isEncrypted** Indicates whether the download is encrypted. -- **isThrottled** Indicates the Event Rate was throttled (event represent aggregated data). -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **peerID** The ID for this delivery optimization client. -- **predefinedCallerName** Name of the API caller. -- **routeToCacheServer** Cache server setting, source, and value. -- **sessionID** The ID for the file download session. -- **setConfigs** A JSON representation of the configurations that have been set, and their sources. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - -### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication - -This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cdnHeaders** The HTTP headers returned by the CDN. -- **cdnIp** The IP address of the CDN. -- **cdnUrl** The URL of the CDN. -- **errorCode** The error code that was returned. -- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **httpStatusCode** The HTTP status code returned by the CDN. -- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET -- **peerType** The type of peer (LAN, Group, Internet, CDN, Cache Host, etc.). -- **requestOffset** The byte offset within the file in the sent request. -- **requestSize** The size of the range requested from the CDN. -- **responseSize** The size of the range response received from the CDN. -- **sessionID** The ID of the download session. - - -### Microsoft.OSG.DU.DeliveryOptClient.JobError - -This event represents a Windows Update job error. It allows for investigation of top errors. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **cdnIp** The IP Address of the source CDN (Content Delivery Network). -- **doErrorCode** Error code returned for delivery optimization. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - -## Windows Update events - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary - -This event collects information regarding the state of devices and drivers on the system following a reboot after the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** The number of driver packages that could not be analyzed because errors occurred during analysis. -- **flightId** Unique ID for each flight. -- **missingDriverCount** The number of driver packages delivered by the device manifest that are missing from the system. -- **missingUpdateCount** The number of updates in the device manifest that are missing from the system. -- **objectId** Unique value for each diagnostics session. -- **publishedCount** The number of drivers packages delivered by the device manifest that are published and available to be used on devices. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** Indicates the update scenario. -- **sessionId** Unique value for each update session. -- **summary** A summary string that contains basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. -- **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** The number of devices missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** The number of driver packages missing from the summary string because there is not enough room in the string. -- **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** The unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit - -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** The unique GUID for each diagnostics session. -- **relatedCV** A correlation vector value generated from the latest USO scan. -- **result** Outcome of the initialization of the session. -- **scenarioId** Identifies the Update scenario. -- **sessionId** The unique value for each update session. -- **updateId** The unique identifier for each Update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest - -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **deletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **objectId** Unique value for each Update Agent mode. -- **packageCountOptional** Number of optional packages requested. -- **packageCountRequired** Number of required packages requested. -- **packageCountTotal** Total number of packages needed. -- **packageCountTotalCanonical** Total number of canonical packages. -- **packageCountTotalDiff** Total number of diff packages. -- **packageCountTotalExpress** Total number of express packages. -- **packageSizeCanonical** Size of canonical packages in bytes. -- **packageSizeDiff** Size of diff packages in bytes. -- **packageSizeExpress** Size of express packages in bytes. -- **rangeRequestState** Represents the state of the download range request. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Result of the download request phase of update. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInitialize - -This event sends data for initializing a new update session for the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current session initialization. -- **flightId** The unique identifier for each flight. -- **flightMetadata** Contains the FlightId and the build being flighted. -- **objectId** Unique value for each Update Agent mode. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Result of the initialize phase of the update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique ID for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInstall - -This event collects information regarding the install phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code returned for the current install phase. -- **flightId** The unique identifier for each flight. -- **objectId** The unique identifier for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **result** Outcome of the install phase of the update. -- **scenarioId** The unique identifier for the update scenario. -- **sessionId** Unique value for each update session. -- **updateId** The unique identifier for each update. - - -### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart - -This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **flightId** The unique identifier for each flight. -- **mode** The mode that is starting. -- **objectId** The unique value for each diagnostics session. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. -- **sessionId** Unique value for each Update Agent mode attempt. -- **updateId** Unique identifier for each update. - - -### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed - -This event indicates that a notification dialog box is about to be displayed to user. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before the RebootFailed dialog box is shown. -- **DaysSinceRebootRequired** Number of days since restart was required. -- **DeviceLocalTime** The local time on the device sending the event. -- **EngagedModeLimit** The number of days to switch between DTE dialog boxes. -- **EnterAutoModeLimit** The maximum number of days for a device to enter Auto Reboot mode. -- **ETag** OneSettings versioning value. -- **IsForcedEnabled** Indicates whether Forced Reboot mode is enabled for this device. -- **IsUltimateForcedEnabled** Indicates whether Ultimate Forced Reboot mode is enabled for this device. -- **NotificationUxState** Indicates which dialog box is shown. -- **NotificationUxStateString** Indicates which dialog box is shown. -- **RebootUxState** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). -- **RebootUxStateString** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). -- **RebootVersion** Version of DTE. -- **SkipToAutoModeLimit** The minimum length of time to pass in restart pending before a device can be put into auto mode. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UtcTime** The time the dialog box notification will be displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog - -This event indicates that the Enhanced Engaged restart "accept automatically" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time on the device sending the event. -- **EnterpriseAttributionValue** Indicates whether the Enterprise attribution is on in this dialog box. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose on this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog - -This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The local time of the device sending the event. -- **EnterpriseAttributionValue** Indicates whether the Enterprise attribution is on in this dialog box. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that the user chose in this dialog box. -- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog - -This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** Time the dialog box was shown on the local device. -- **EnterpriseAttributionValue** Indicates whether the Enterprise attribution is on in this dialog box. -- **ETag** OneSettings versioning value. -- **ExitCode** Indicates how users exited the dialog box. -- **RebootVersion** Version of DTE. -- **UpdateId** The ID of the update that is pending restart to finish installation. -- **UpdateRevision** The revision of the update that is pending restart to finish installation. -- **UserResponseString** The option that user chose in this dialog box. -- **UtcTime** The time that dialog box was displayed, in Coordinated Universal Time. - - -### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootReminderDialog - -This event returns information relating to the Enhanced Engaged reboot reminder dialog that was displayed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **DeviceLocalTime** The time at which the reboot reminder dialog was shown (based on the local device time settings). -- **EnterpriseAttributionValue** Indicates whether Enterprise attribution is on for this dialog. -- **ETag** The OneSettings versioning value. -- **ExitCode** Indicates how users exited the reboot reminder dialog box. -- **RebootVersion** The version of the DTE (Direct-to-Engaged). -- **UpdateId** The ID of the update that is waiting for reboot to finish installation. -- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. -- **UserResponseString** The option chosen by the user on the reboot dialog box. -- **UtcTime** The time at which the reboot reminder dialog was shown (in UTC). - - -### Microsoft.Windows.Update.NotificationUx.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows secure and up-to-date by indicating when a reboot is scheduled by the system or a user for a security, quality, or feature update. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether an Active Hours policy is present on the device. -- **IsEnhancedEngagedReboot** Indicates whether this is an Enhanced Engaged reboot. -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** Indicates whether a restart is scheduled outside of active hours. -- **rebootScheduledByUser** Indicates whether the restart was scheduled by user (if not, it was scheduled automatically). -- **rebootState** The current state of the restart. -- **rebootUsingSmartScheduler** Indicates whether the reboot is scheduled by smart scheduler. -- **revisionNumber** Revision number of the update that is getting installed with this restart. -- **scheduledRebootTime** Time of the scheduled restart. -- **scheduledRebootTimeInUTC** Time of the scheduled restart in Coordinated Universal Time. -- **updateId** ID of the update that is getting installed with this restart. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.ActivityError - -This event measures overall health of UpdateOrchestrator. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures. -- **failureId** Id of the failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Function where the failure occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **PartA_PrivTags** Privacy tags. -- **threadId** Identifier of the thread the error occurred on. -- **wilActivity** This struct provides a Windows Internal Library context used for Product and Service diagnostics. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy - -This event indicates a policy is present that may restrict update activity to outside of active hours. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours - -This event indicates that update activity was blocked because it is within the active hours window. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel - -This event indicates that Windows Update activity was blocked due to low battery level. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.DeferRestart - -This event indicates that a restart required for installing updates was postponed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **displayNeededReason** List of reasons for needing display. -- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). -- **gameModeReason** Name of the executable that caused the game mode state check to start. -- **ignoredReason** List of reasons that were intentionally ignored. -- **IgnoreReasonsForRestart** List of reasons why restart was deferred. -- **revisionNumber** Update ID revision number. -- **systemNeededReason** List of reasons why system is needed. -- **updateId** Update ID. -- **updateScenarioType** Update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Detection - -This event sends launch data for a Windows Update scan to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** Reason why the device could not check for updates. -- **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** The reason detection did not complete. -- **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The error code returned for the current process. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session was user initiated. -- **networkStatus** Error info -- **revisionNumber** Update revision number. -- **scanTriggerSource** Source of the triggered scan. -- **updateId** Update ID. -- **updateScenarioType** Identifies the type of update session being performed. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DetectionActivity - -This event returns data about detected updates, as well as the types of update (optional or recommended). This data helps keep Windows up to date. - -The following fields are available: - -- **applicableUpdateIdList** The list of update identifiers. -- **applicableUpdateList** The list of available updates. -- **durationInSeconds** The amount of time (in seconds) it took for the event to run. -- **expeditedMode** Indicates whether Expedited Mode is on. -- **networkCostPolicy** The network cost. -- **scanTriggerSource** Indicates whether the scan is Interactive or Background. -- **scenario** The result code of the event. -- **scenarioReason** The reason for the result code (scenario). -- **seekerUpdateIdList** The list of “seeker” update identifiers. -- **seekerUpdateList** The list of “seeker” updates. -- **services** The list of services that were called during update. -- **wilActivity** The activity results. See [wilActivity](#wilactivity). - - -### Microsoft.Windows.Update.Orchestrator.DisplayNeeded - -This event indicates the reboot was postponed due to needing a display. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **displayNeededReason** Reason the display is needed. -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### Microsoft.Windows.Update.Orchestrator.Download - -This event sends launch data for a Windows Update download to help keep Windows secure and up to date. - -The following fields are available: - -- **deferReason** Reason for download not completing. -- **errorCode** An error code represented as a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the session is user initiated. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DTUEnabled - -This event indicates that Inbox DTU functionality was enabled. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.DTUInitiated - -This event indicates that Inbox DTU functionality was initiated. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **dtuErrorCode** Return code from creating the DTU Com Server. -- **isDtuApplicable** Determination of whether DTU is applicable to the machine it is running on. -- **utilizeDtuOverWu** Whether DTU should be utilized over Windows Update. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels - -This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **configVersion** The escalation configuration version on the device. -- **downloadElapsedTime** Indicates how long since the download is required on device. -- **downloadRiskLevel** At-risk level of download phase. -- **installElapsedTime** Indicates how long since the install is required on device. -- **installRiskLevel** The at-risk level of install phase. -- **isSediment** Assessment of whether is device is at risk. -- **scanElapsedTime** Indicates how long since the scan is required on device. -- **scanRiskLevel** At-risk level of the scan phase. -- **wuDeviceid** Device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.FailedToAddTimeTriggerToScanTask - -This event indicated that USO failed to add a trigger time to a task. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The Windows Update error code. -- **wuDeviceid** The Windows Update device ID. - - -### Microsoft.Windows.Update.Orchestrator.FlightInapplicable - -This event sends data on whether the update was applicable to the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time when this event was generated. -- **flightID** The specific ID of the Windows Insider build. -- **inapplicableReason** The reason why the update is inapplicable. -- **revisionNumber** Update revision number. -- **updateId** Unique Windows Update ID. -- **updateScenarioType** Update session type. -- **UpdateStatus** Last status of update. -- **UUPFallBackConfigured** Indicates whether UUP fallback is configured. -- **wuDeviceid** Unique Device ID. - - -### Microsoft.Windows.Update.Orchestrator.InitiatingReboot - -This event sends data about an Orchestrator requesting a reboot from power management to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** Time of the event. -- **flightID** Unique update ID -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. -- **revisionNumber** Revision number of the update. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.Install - -This event sends launch data for a Windows Update install to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **errorCode** The error code reppresented by a hexadecimal value. -- **eventScenario** End-to-end update session ID. -- **flightID** The ID of the Windows Insider build the device is getting. -- **flightUpdate** Indicates whether the update is a Windows Insider build. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **interactive** Identifies if session is user initiated. -- **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.LowUptimes - -This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **availableHistoryMinutes** The number of minutes available from the local machine activity history. -- **isLowUptimeMachine** Is the machine considered low uptime or not. -- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. -- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. -- **uptimeMinutes** Number of minutes of uptime measured. -- **wuDeviceid** Unique device ID for Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection - -This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows secure and up to date. - -The following fields are available: - -- **externalOneshotupdate** The last time a task-triggered scan was completed. -- **interactiveOneshotupdate** The last time an interactive scan was completed. -- **oldlastscanOneshotupdate** The last time a scan completed successfully. -- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). - - -### Microsoft.Windows.Update.Orchestrator.PreShutdownStart - -This event is generated before the shutdown and commit operations. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### Microsoft.Windows.Update.Orchestrator.RebootFailed - -This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. -- **EventPublishedTime** The time that the reboot failure occurred. -- **flightID** Unique update ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. -- **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RefreshSettings - -This event sends basic data about the version of upgrade settings applied to the system to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. -- **settingsETag** Version identifier for the settings. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask - -This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows secure and up to date. - -The following fields are available: - -- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. -- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. -- **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device ID for the device on which the reboot is restored. - - -### Microsoft.Windows.Update.Orchestrator.ScanTriggered - -This event indicates that Update Orchestrator has started a scan operation. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **interactive** Indicates whether the scan is interactive. -- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. -- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. -- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. -- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. -- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. -- **scanTriggerSource** Indicates what caused the scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.SeekerUpdateAvailable - -This event defines when an optional update is available for the device to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The unique identifier of the Windows Insider build on this device. -- **isFeatureUpdate** Indicates whether the update is a Feature Update. -- **revisionNumber** The revision number of the update. -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.SeekUpdate - -This event occurs when user initiates "seeker" scan. This helps keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The ID of the Windows Insider builds on the device. -- **isFeatureUpdate** Indicates that the target of the Seek is a feature update. -- **revisionNumber** The revision number of the update. -- **updateId** The identifier of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.StickUpdate - -This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **updateId** Identifier associated with the specific piece of content. -- **wuDeviceid** Unique device ID controlled by the software distribution client. - - -### Microsoft.Windows.Update.Orchestrator.SystemNeeded - -This event sends data about why a device is unable to reboot, to help keep Windows secure and up to date. - -The following fields are available: - -- **eventScenario** End-to-end update session ID. -- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. -- **revisionNumber** Update revision number. -- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours - -This event indicates that update activity was stopped due to active hours starting. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursEnd** The end of the active hours window. -- **activeHoursStart** The start of the active hours window. -- **updatePhase** The current state of the update process. -- **wuDeviceid** The device identifier. - - -### Microsoft.Windows.Update.Orchestrator.TerminatedByBatteryLevel - -This event is sent when update activity was stopped due to a low battery level. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **batteryLevel** The current battery charge capacity. -- **batteryLevelThreshold** The battery capacity threshold to stop update activity. -- **updatePhase** The current state of the update process. -- **wuDeviceid** The device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorInvalidSignature - -This event is sent when an updater has attempted to register a binary that is not signed by Microsoft. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **updaterCmdLine** The callback executable for the updater. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorScheduleWorkInvalidCmd - -This event indicates a critical error with the callback binary requested by the updater. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **updaterCmdLine** The command line requested by the updater. -- **updaterId** The ID of the updater that requested the work. -- **wuDeviceid** Windows Update device ID. - - -### Microsoft.Windows.Update.Orchestrator.UniversalOrchestratorScheduleWorkNonSystem - -This event ensures that only callers with system or admin privileges are allowed to schedule work through Windows Update Universal Orchestrator. The data collected with this event is used to help keep Windows product and service secure. - -The following fields are available: - -- **updaterCmdLine** Updater Command Line. -- **updaterId** Updater ID. -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.UnstickUpdate - -This event is sent when the update service orchestrator (USO) indicates that the update can be superseded by a newer update. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **updateId** Identifier associated with the specific piece of content. -- **wuDeviceid** Unique device ID controlled by the software distribution client. - - -### Microsoft.Windows.Update.Orchestrator.UpdateNotApplicableForReserves - -This event reports a critical error when using update reserves for OS updates to help keep Windows up to date. - -The following fields are available: - -- **updateId** The GUID (Globally Unique Identifier) of the update. -- **wuDeviceid** The Windows Update device identifier. - - -### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh - -This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows secure and up to date. - -The following fields are available: - -- **configuredPoliciescount** Number of policies on the device. -- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). -- **policyCacherefreshtime** Time when policy cache was refreshed. -- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterCallbackFailed - -This event is sent when an updater failed to execute the registered callback. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **updaterArgument** The argument to pass to the updater callback. -- **updaterCmdLine** The callback executable for the updater. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired - -This event sends data about whether an update required a reboot to help keep Windows secure and up to date. - -The following fields are available: - -- **flightID** The specific ID of the Windows Insider build the device is getting. -- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.UpdaterMalformedData - -This event is sent when a registered updater has missing or corrupted information, to help keep Windows up to date. - -The following fields are available: - -- **malformedRegValue** The registry value that contains the malformed or missing entry. -- **updaterId** The ID of the updater. -- **wuDeviceid** Unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed - -This event sends information about an update that encountered problems and was not able to complete. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **errorCode** The error code encountered. -- **wuDeviceid** The ID of the device in which the error occurred. - - -### Microsoft.Windows.Update.Orchestrator.UsoSession - -This event represents the state of the USO service at start and completion. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeSessionid** A unique session GUID. -- **eventScenario** The state of the update action. -- **interactive** Is the USO session interactive? -- **lastErrorcode** The last error that was encountered. -- **lastErrorstate** The state of the update when the last error was encountered. -- **sessionType** A GUID that refers to the update session type. -- **updateScenarioType** A descriptive update session type. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.Update.Orchestrator.UUPFallBack - -This event sends data when UUP needs to fall back, to help keep Windows secure and up to date. - -The following fields are available: - -- **EventPublishedTime** The current event time. -- **UUPFallBackCause** The reason for UUP fall back. -- **UUPFallBackConfigured** The fall back error code. -- **UUPFallBackErrorReason** The reason for fall back error. -- **wuDeviceid** A Windows Update device ID. - - -### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState - -This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. -- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. -- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. -- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. -- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. -- **ETag** The Entity Tag that represents the OneSettings version. -- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. -- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. -- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. -- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. -- **RebootVersion** The version of the DTE (Direct-to-Engaged). -- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. -- **UpdateId** The ID of the update that is waiting for reboot to finish installation. -- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded - -This event is sent when a security update has successfully completed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **UtcTime** The Coordinated Universal Time that the restart was no longer needed. - - -### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled - -This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Indicates whether Active Hours applies on this device. -- **IsEnhancedEngagedReboot** Indicates whether Enhanced reboot was enabled. -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. -- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. -- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. -- **rebootState** Current state of the reboot. -- **rebootUsingSmartScheduler** Indicates that the reboot is scheduled by SmartScheduler. -- **revisionNumber** Revision number of the OS. -- **scheduledRebootTime** Time scheduled for the reboot. -- **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. -- **updateId** Identifies which update is being scheduled. -- **wuDeviceid** The unique device ID used by Windows Update. - - -### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled - -This event sends basic information for scheduling a device restart to install security updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **activeHoursApplicable** Is the restart respecting Active Hours? -- **IsEnhancedEngagedReboot** TRUE if the reboot path is Enhanced Engaged. Otherwise, FALSE. -- **rebootArgument** The arguments that are passed to the OS for the restarted. -- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? -- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. -- **rebootState** The state of the restart. -- **rebootUsingSmartScheduler** TRUE if the reboot should be performed by the Smart Scheduler. Otherwise, FALSE. -- **revisionNumber** The revision number of the OS being updated. -- **scheduledRebootTime** Time of the scheduled reboot -- **scheduledRebootTimeInUTC** Time of the scheduled restart, in Coordinated Universal Time. -- **updateId** The Windows Update device GUID. -- **wuDeviceid** The Windows Update device GUID. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSEvaluateInteractionCampaign - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) finishes processing an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **ControlId** String identifying the control (if any) that was selected by the user during presentation. -- **hrInteractionHandler** The error (if any) reported by the RUXIM Interaction Handler while processing the interaction campaign. -- **hrScheduler** The error (if any) encountered by RUXIM Interaction Campaign Scheduler itself while processing the interaction campaign. -- **InteractionCampaignID** The ID of the interaction campaign that was processed. -- **LanguageCode** The language used to display the interaction campaign. -- **ResultId** The result of the evaluation/presentation. -- **WasCompleted** True if the interaction campaign is complete. -- **WasPresented** True if the Interaction Handler displayed the interaction campaign to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSExit - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSLaunch - -This event is generated when the RUXIM Interaction Campaign Scheduler (RUXIMICS.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMICS. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncExit - -This event is sent when RUXIM completes checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ETagValue** eTag for sync. -- **hrInitialize** Error, if any, that occurred while initializing OneSettings. -- **hrQuery** Error, if any, that occurred while retrieving UX interaction campaign data from OneSettings. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.ICSOneSettingsSyncLaunch - -This event is sent when RUXIM begins checking with OneSettings to retrieve any UX interaction campaigns that may need to be displayed. The data collected with this event is used to help keep Windows up to date. - - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHBeginPresentation - -This event is generated when RUXIM is about to present an interaction campaign to the user. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying interaction campaign being presented. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHEndPresentation - -This event is generated when Interaction Handler completes presenting an interaction campaign to the user. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **hrPresentation** Error, if any, occurring during the presentation. -- **InteractionCampaignID** GUID identifying the interaction campaign being presented. -- **ResultId** Result generated by the presentation. -- **WasCompleted** True if the interaction campaign is now considered complete. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHEvaluateAndPresent - -This event is generated when the RUXIM Interaction Handler finishes evaluating, and possibly presenting an interaction campaign. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **hrLocal** The error (if any) encountered by RUXIM Interaction Handler during evaluation and presentation. -- **hrPresentation** The error (if any) reported by RUXIM Presentation Handler during presentation. -- **InteractionCampaignID** GUID; the user interaction campaign processed by RUXIM Interaction Handler. -- **ResultId** The result generated by the evaluation and presentation. -- **WasCompleted** True if the user interaction campaign is complete. -- **WasPresented** True if the user interaction campaign is displayed to the user. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHExit - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) exits. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **InteractionCampaignID** GUID identifying the interaction campaign that RUXIMIH processed. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.IHLaunch - -This event is generated when the RUXIM Interaction Handler (RUXIMIH.EXE) is launched. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **CommandLine** The command line used to launch RUXIMIH. -- **InteractionCampaignID** GUID identifying the user interaction campaign that the Interaction Handler will process. - - -### Microsoft.Windows.WindowsUpdate.RUXIM.SystemEvaluator.Evaluation - -This event is generated whenever the RUXIM Evaluator DLL performs an evaluation. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **HRESULT** Error, if any, that occurred during evaluation. (Note that if errors encountered during individual checks do not affect the overall result of the evaluation, those errors will be reported in NodeEvaluationData, but this HRESULT will still be zero.) -- **Id** GUID passed in by the caller to identify the evaluation. -- **NodeEvaluationData** Structure showing the results of individual checks that occurred during the overall evaluation. -- **Result** Overall result generated by the evaluation. - - -### wilActivity - -This event provides a Windows Internal Library context used for Product and Service diagnostics. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **callContext** The function where the failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -## Windows Update mitigation events - -### Microsoft.Windows.Mitigations.AllowInPlaceUpgrade.ApplyTroubleshootingComplete - -This event provides summary information after attempting to enable In-Place Upgrade. The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **applicable** The operations that were needed to be attempted. -- **failed** Result of the individual operations that were attempted. -- **hr** Result of the overall operation to evaluate and enable In-Place Upgrade. - - -### Microsoft.Windows.RecommendedTroubleshootingService.MitigationFailed - -This event is raised after an executable delivered by Mitigation Service has run and failed. Data from this event is used to measure the health of mitigations used by engineers to solve in-market problems on internal, insider, and retail devices. Failure data will also be used for root-cause investigation by feature teams, as signal to halt mitigation rollout and, possible follow-up action on specific devices still impacted by the problem because the mitigation failed (i.e. reoffer it to impacted devices). The data collected with this event is used to help keep Windows up to date and performing properly. - -The following fields are available: - -- **activeProcesses** Number of active processes. -- **atleastOneMitigationSucceeded** Bool flag indicating if at least one mitigation succeeded. -- **contactTSServiceAttempts** Number of attempts made by TroubleshootingSvc in a single Scanner session to get Troubleshooter metadata from the Troubleshooting cloud service. -- **countDownloadedPayload** Count instances of payload downloaded. -- **description** Description of failure. -- **devicePreference** Recommended Troubleshooting Setting on the device. -- **downloadBinaryAttempts** Number of attempts made by TroubleshootingSvc in a single Scanner session to download Troubleshooter Exe. -- **downloadCabAttempts** Number of attempts made by TroubleshootingSvc in a single Scanner session to download PrivilegedActions Cab. -- **executionHR** HR code of the execution of the mitigation. -- **executionPreference** Current Execution level Preference. This may not be same as devicePreference, eg when executing Critical troubleshooters, the executionPreference is set to the Silent option. -- **exitCode** Exit code of the execution of the mitigation. -- **experimentFeatureId** Experiment feature ID. -- **experimentFeatureState** Config state of the experiment. -- **hr** HRESULT for error code. -- **isActiveSessionPresent** If an active user session is present on the device. -- **isCriticalMitigationAvailable** If a critical mitigation is available to this device. -- **isFilteringSuccessful** If the filtering operation was successful. -- **isReApply** reApply status for the mitigation. -- **mitigationId** ID value of the mitigation. -- **mitigationProcessCycleTime** Process cycle time used by the mitigation. -- **mitigationRequestWithCompressionFailed** Boolean flag indicating if HTTP request with compression failed for this device. -- **mitigationServiceResultFetched** Boolean flag indicating if mitigation details were fetched from the admin service. -- **mitigationVersion** String indicating version of the mitigation. -- **oneSettingsMetadataParsed** If OneSettings metadata was parsed successfully. -- **oneSettingsSchemaVersion** Schema version used by the OneSettings parser. -- **onlyNoOptMitigationsPresent** Checks if all mitigations were no opt. -- **parsedOneSettingsFile** Indicates if OneSettings parsing was successful. -- **sessionAttempts** Number of Scanner sessions attempted so far by TroubleshootingSvc for this troubleshooter. -- **SessionId** Random GUID used for grouping events in a session. -- **subType** Error type. -- **totalKernelTime** Total kernel time used by the mitigation. -- **totalNumberOfApplicableMitigations** Total number of applicable mitigations. -- **totalProcesses** Total number of processes assigned to the job object. -- **totalTerminatedProcesses** Total number of processes in terminated state assigned to the job object. -- **totalUserTime** Total user mode time used by the job object. - - -### Microsoft.Windows.RecommendedTroubleshootingService.MitigationSucceeded - -This event is raised after an executable delivered by Mitigation Service has successfully run. Data from this event is used to measure the health of mitigations used by engineers to solve in-market problems on internal, insider, and retail devices. The data collected with this event is used to keep Windows performing properly. - -The following fields are available: - -- **activeProcesses** Number of active processes. -- **contactTSServiceAttempts** Number of attempts made by TroubleshootingSvc in a single Scanner session to get Troubleshooter metadata from the Troubleshooting cloud service. -- **devicePreference** Recommended troubleshooting setting on the device. -- **downloadBinaryAttempts** Number of attempts made by TroubleshootingSvc in a single Scanner session to download Troubleshooter Exe. -- **downloadCabAttempts** Number of attempts made by TroubleshootingSvc in a single Scanner session to download PrivilegedActions Cab. -- **executionPreference** Current Execution level Preference. This may not be same as devicePreference, for example, when executing Critical troubleshooters, the executionPreference is set to the Silent option. -- **experimentFeatureId** Experiment feature ID. -- **experimentFeatureState** Feature state for the experiment. -- **mitigationId** ID value of the mitigation. -- **mitigationProcessCycleTime** Process cycle time used by the mitigation. -- **mitigationVersion** String indicating version of the mitigation. -- **sessionAttempts** Number of Scanner sessions attempted so far by TroubleshootingSvc for this troubleshooter. -- **SessionId** Random GUID used for grouping events in a session. -- **totalKernelTime** Total kernel time used by the mitigation. -- **totalProcesses** Total number of processes assigned to the job object. -- **totalTerminatedProcesses** Total number of processes in terminated state assigned to the job object. -- **totalUserTime** Total user mode time used by the job object. - - -### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages - -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The client ID used by Windows Update. -- **FlightId** The ID of each Windows Insider build the device received. -- **InstanceId** A unique device ID that identifies each update instance. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** The number of mounted images. -- **MountedImageMatches** The number of mounted image matches. -- **MountedImagesFailed** The number of mounted images that could not be removed. -- **MountedImagesRemoved** The number of mounted images that were successfully removed. -- **MountedImagesSkipped** The number of mounted images that were not found. -- **RelatedCV** The correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Windows Update. -- **WuId** Unique ID for the Windows Update client. - - -### Mitigation360Telemetry.MitigationCustom.FixAppXReparsePoints - -This event sends data specific to the FixAppXReparsePoints mitigation used for OS updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. -- **WuId** Unique ID for the Windows Update client. - - -### Mitigation360Telemetry.MitigationCustom.FixupEditionId - -This event sends data specific to the FixupEditionId mitigation used for OS updates. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **EditionIdUpdated** Determine whether EditionId was changed. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **ProductEditionId** Expected EditionId value based on GetProductInfo. -- **ProductType** Value returned by GetProductInfo. -- **RegistryEditionId** EditionId value in the registry. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **WuId** Unique ID for the Windows Update client. - - -### Mitigation360Telemetry.MitigationCustom.FixupWimmountSysPath - -This event sends data specific to the FixupWimmountSysPath mitigation used for OS Updates. The data collected with this event is used to help keep Windows up to date. - -The following fields are available: - -- **ClientId** In the Windows Update scenario, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **ImagePathDefault** Default path to wimmount.sys driver defined in the system registry. -- **ImagePathFixedup** Boolean indicating whether the wimmount.sys driver path was fixed by this mitigation. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigations were attempted. -- **RelatedCV** Correlation vector value. -- **Result** HResult of this operation. -- **ScenarioId** Setup360 flow type. -- **ScenarioSupported** Whether the updated scenario that was passed in was supported. -- **SessionId** The UpdateAgent “SessionId” value. -- **UpdateId** Unique identifier for the Update. -- **WuId** Unique identifier for the Windows Update client. - - -## Windows Update Reserve Manager events - -### Microsoft.Windows.UpdateReserveManager.BeginScenario - -This event is sent when the Update Reserve Manager is called to begin a scenario. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Flags** The flags that are passed to the begin scenario function. -- **HardReserveSize** The size of the hard reserve. -- **HardReserveUsedSpace** The used space in the hard reserve. -- **OwningScenarioId** The scenario ID the client that called the begin scenario function. -- **ReturnCode** The return code for the begin scenario operation. -- **ScenarioId** The scenario ID that is internal to the reserve manager. -- **SoftReserveSize** The size of the soft reserve. -- **SoftReserveUsedSpace** The amount of soft reserve space that was used. - - -### Microsoft.Windows.UpdateReserveManager.ClearReserve - -This event is sent when the Update Reserve Manager clears one of the reserves. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FinalReserveUsedSpace** The amount of used space for the reserve after it was cleared. -- **Flags** The context of clearing the reserves. -- **InitialReserveUsedSpace** The amount of used space for the reserve before it was cleared. -- **ReserveId** The ID of the reserve that needs to be cleared. - - -### Microsoft.Windows.UpdateReserveManager.CommitPendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager commits a hard reserve adjustment that was pending. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FinalAdjustment** Final adjustment for the hard reserve following the addition or removal of optional content. -- **InitialAdjustment** Initial intended adjustment for the hard reserve following the addition or removal of optional content. - - -### Microsoft.Windows.UpdateReserveManager.EndScenario - -This event is sent when the Update Reserve Manager ends an active scenario. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ActiveScenario** The current active scenario. -- **Flags** The flags passed to the end scenario call. -- **HardReserveSize** The size of the hard reserve when the end scenario is called. -- **HardReserveUsedSpace** The used space in the hard reserve when the end scenario is called. -- **ReturnCode** The return code of this operation. -- **ScenarioId** The ID of the internal reserve manager scenario. -- **SoftReserveSize** The size of the soft reserve when end scenario is called. -- **SoftReserveUsedSpace** The amount of the soft reserve used when end scenario is called. - - -### Microsoft.Windows.UpdateReserveManager.FunctionReturnedError - -This event is sent when the Update Reserve Manager returns an error from one of its internal functions. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FailedExpression** The failed expression that was returned. -- **FailedFile** The binary file that contained the failed function. -- **FailedFunction** The name of the function that originated the failure. -- **FailedLine** The line number of the failure. -- **ReturnCode** The return code of the function. - - -### Microsoft.Windows.UpdateReserveManager.InitializeReserves - -This event is sent when reserves are initialized on the device. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FallbackInitUsed** Indicates whether fallback initialization is used. -- **FinalUserFreeSpace** The amount of user free space after initialization. -- **Flags** The flags used in the initialization of Update Reserve Manager. -- **FreeSpaceToLeaveInUpdateScratch** The amount of space that should be left free after using the reserves. -- **HardReserveFinalSize** The final size of the hard reserve. -- **HardReserveFinalUsedSpace** The used space in the hard reserve. -- **HardReserveInitialSize** The size of the hard reserve after initialization. -- **HardReserveInitialUsedSpace** The utilization of the hard reserve after initialization. -- **HardReserveTargetSize** The target size that was set for the hard reserve. -- **InitialUserFreeSpace** The user free space during initialization. -- **PostUpgradeFreeSpace** The free space value passed into the Update Reserve Manager to determine reserve sizing post upgrade. -- **SoftReserveFinalSize** The final size of the soft reserve. -- **SoftReserveFinalUsedSpace** The used space in the soft reserve. -- **SoftReserveInitialSize** The soft reserve size after initialization. -- **SoftReserveInitialUsedSpace** The utilization of the soft reserve after initialization. -- **SoftReserveTargetSize** The target size that was set for the soft reserve. -- **TargetUserFreeSpace** The target user free space that was passed into the reserve manager to determine reserve sizing post upgrade. -- **UpdateScratchFinalUsedSpace** The used space in the scratch reserve. -- **UpdateScratchInitialUsedSpace** The utilization of the scratch reserve after initialization. -- **UpdateScratchReserveFinalSize** The utilization of the scratch reserve after initialization. -- **UpdateScratchReserveInitialSize** The size of the scratch reserve after initialization. - - -### Microsoft.Windows.UpdateReserveManager.InitializeUpdateReserveManager - -This event returns data about the Update Reserve Manager, including whether it’s been initialized. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ClientId** The ID of the caller application. -- **Flags** The enumerated flags used to initialize the manager. -- **FlightId** The flight ID of the content the calling client is currently operating with. -- **Offline** Indicates whether or the reserve manager is called during offline operations. -- **PolicyPassed** Indicates whether the machine is able to use reserves. -- **ReturnCode** Return code of the operation. -- **Version** The version of the Update Reserve Manager. - - -### Microsoft.Windows.UpdateReserveManager.PrepareTIForReserveInitialization - -This event is sent when the Update Reserve Manager prepares the Trusted Installer to initialize reserves on the next boot. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **FallbackLogicUsed** Indicates whether fallback logic was used for initialization. -- **Flags** The flags that are passed to the function to prepare the Trusted Installer for reserve initialization. - - -### Microsoft.Windows.UpdateReserveManager.ReevaluatePolicy - -This event is sent when the Update Reserve Manager reevaluates policy to determine reserve usage. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **PolicyChanged** Indicates whether the policy has changed. -- **PolicyFailedEnum** The reason why the policy failed. -- **PolicyPassed** Indicates whether the policy passed. - - -### Microsoft.Windows.UpdateReserveManager.RemovePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager removes a pending hard reserve adjustment. The data collected with this event is used to help keep Windows secure and up to date. - - - -### Microsoft.Windows.UpdateReserveManager.TurnOffReserves - -This event is sent when the Update Reserve Manager turns off reserve functionality for certain operations. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **Flags** Flags used in the turn off reserves function. -- **HardReserveSize** The size of the hard reserve when Turn Off is called. -- **HardReserveUsedSpace** The amount of space used by the hard reserve when Turn Off is called -- **ScratchReserveSize** The size of the scratch reserve when Turn Off is called. -- **ScratchReserveUsedSpace** The amount of space used by the scratch reserve when Turn Off is called. -- **SoftReserveSize** The size of the soft reserve when Turn Off is called. -- **SoftReserveUsedSpace** The amount of the soft reserve used when Turn Off is called. - - -### Microsoft.Windows.UpdateReserveManager.UpdatePendingHardReserveAdjustment - -This event is sent when the Update Reserve Manager needs to adjust the size of the hard reserve after the option content is installed. The data collected with this event is used to help keep Windows secure and up to date. - -The following fields are available: - -- **ChangeSize** The change in the hard reserve size based on the addition or removal of optional content. -- **Disposition** The parameter for the hard reserve adjustment function. -- **Flags** The flags passed to the hard reserve adjustment function. -- **PendingHardReserveAdjustment** The final change to the hard reserve size. -- **UpdateType** Indicates whether the change is an increase or decrease in the size of the hard reserve. - - -## Winlogon events - -### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon - -This event signals the completion of the setup process. It happens only once during the first logon. - - - -## XBOX events - -### Microsoft.Xbox.XamTelemetry.AppActivationError - -This event indicates whether the system detected an activation error in the app. - -The following fields are available: - -- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. -- **AppId** The Xbox LIVE Title ID. -- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. -- **Result** The HResult error. -- **UserId** The Xbox LIVE User ID (XUID). - - -### Microsoft.Xbox.XamTelemetry.AppActivity - -This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. - -The following fields are available: - -- **AppActionId** The ID of the application action. -- **AppCurrentVisibilityState** The ID of the current application visibility state. -- **AppId** The Xbox LIVE Title ID of the app. -- **AppPackageFullName** The full name of the application package. -- **AppPreviousVisibilityState** The ID of the previous application visibility state. -- **AppSessionId** The application session ID. -- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). -- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. -- **DurationMs** The amount of time (in milliseconds) since the last application state transition. -- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. -- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). -- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. -- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. -- **UserId** The XUID (Xbox User ID) of the current user. diff --git a/windows/privacy/changes-to-windows-diagnostic-data-collection.md b/windows/privacy/changes-to-windows-diagnostic-data-collection.md deleted file mode 100644 index 6b6004f7d3..0000000000 --- a/windows/privacy/changes-to-windows-diagnostic-data-collection.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: Changes to Windows diagnostic data collection -description: This article provides information on changes to Windows diagnostic data collection Windows 10 and Windows 11. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 06/27/2024 -ms.topic: conceptual -ms.collection: privacy-windows ---- - -# Changes to Windows diagnostic data collection - -**Applies to** -- Windows 11, version 21H2 and later -- Windows 10, version 1903 and later -- Windows Server 2022 - -Microsoft is committed to providing you with effective controls over your data and ongoing transparency into our data handling practices. As part of this effort, we've moved our major products and services to a model where data sent back to Microsoft from customer devices will be classified as either **Required** or **Optional**. We believe this change will provide our customers with a simpler experience – information should be easier to find, easier to understand, and easier to act upon through the tools we provide. - -This article is meant for IT administrators and explains the changes Windows is making to align to the new data collection taxonomy. These changes are focused in two areas: - -- [Taxonomy changes](#taxonomy-changes) -- [Behavioral changes](#behavioral-changes) - -## Summary of changes - -In Windows 10, version 1903 and later, you'll see taxonomy updates in both the **Out-of-box-experience** (OOBE) and the **Diagnostics & feedback** privacy settings page. These changes are explained in the section named **Taxonomy** changes. - -Additionally, starting in Windows 11 and Windows Server 2022, we’re simplifying your diagnostic data controls by moving from four diagnostic data controls to three: **Diagnostic data off**, **Required**, and **Optional**. We’re also clarifying the Security diagnostic data level to reflect its behavior more accurately by changing it to **Diagnostic data off**. All these changes are explained in the section named **Behavioral changes**. - -Prior to December 13 2022, the default setting for Windows Server 2022 Datacenter: Azure Edition images deployed using Azure Marketplace was **Diagnostic data off**. Beginning December 13 2022, all newly deployed images are set to **Required diagnostic data** to align with all other Windows releases. All other Windows releases and existing installations remain unchanged. - -## Taxonomy changes - -Starting in Windows 10, version 1903 and later, both the **Out-of-Box-Experience** (OOBE) and the **Diagnostics & feedback** privacy setting pages will reflect the following changes: - -- The **Basic** diagnostic data level is being labeled as **Required**. -- The **Full** diagnostic data level is being labeled as **Optional**. - -> [!IMPORTANT] -> No action is required for the taxonomy changes, and your existing settings will be maintained as part of this update. - -## Behavioral changes - -Starting in Windows 11 and Windows Server 2022, we’re simplifying the Windows diagnostic data controls by moving from four diagnostic data settings to three: **Diagnostic data off**, **Required**, and **Optional**. If your devices are set to **Enhanced** when they're upgraded to a supported version of the operating system, the device settings will be evaluated to be at the more privacy-preserving setting of **Required diagnostic data**, which means that analytic services that use enhanced data collection may not work properly. For a list of services, see [Services that rely on Enhanced diagnostic data](#services-that-rely-on-enhanced-diagnostic-data). Administrators should read through the details and determine whether to apply these new policies to restore the same collection settings as they had before this change. - -Additionally, you'll see the following policy changes in Windows Server 2022, Windows 11, and Windows Holographic, version 21H1 (HoloLens 2): - -| Policy type | Current policy | Renamed policy | -| --- | --- | --- | -| Group Policy | Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Allow Telemetry**

                • **0 - Security**
                • **1 - Basic**
                • **2 - Enhanced**
                • **3 - Full**
                | Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Allow Diagnostic Data**
                • **Diagnostic data off (not recommended)**
                • **Send required diagnostic data**
                • **Send optional diagnostic data**
                | -| Group Policy |Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Configure telemetry opt-in settings user interface**| Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Configure diagnostic data opt-in settings user interface** | -| Group Policy |Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Configure telemetry opt-in change notifications**| Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Configure diagnostic data opt-in change notifications** | - -A final set of changes includes two new policies that can help you fine-tune diagnostic data collection within your organization. These policies let you limit the amount of optional diagnostic data that’s sent back to Microsoft. - -- The **Limit dump collection** policy is a new policy that can be used to limit the types of [crash dumps](/windows/win32/dxtecharts/crash-dump-analysis) that can be sent back to Microsoft. If this policy is enabled, Windows Error Reporting will send only kernel mini dumps and user mode triage dumps. - - Group Policy: Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Limit Dump Collection** - - MDM policy: System/LimitDumpCollection -- The **Limit diagnostic log collection** policy is another new policy that limits the number of diagnostic logs that are sent back to Microsoft. If this policy is enabled, diagnostic logs aren't sent back to Microsoft. - - Group Policy: Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Limit Diagnostic Log Collection** - - MDM policy: System/LimitDiagnosticLogCollection - -For more information, see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). - -## Services that rely on Enhanced diagnostic data - -Customers who use services that depend on Windows diagnostic data, such as [Microsoft Managed Desktop](/managed-desktop/operate/device-policies#windows-diagnostic-data), may be impacted by the behavioral changes when they're released. These services will be updated to address these changes and guidance will be published on how to configure them properly. - -## Significant change to the Windows diagnostic data processor configuration - -> [!NOTE] -> The information in this section applies to the following versions of Windows: -> - Windows 10, versions 20H2, 21H2, 22H2, and newer -> - Windows 11, versions 21H2, 22H2, 23H2, and newer - -Previously, IT admins could use policies (for example, the "Allow commercial data pipeline" policy) at the individual device level to enroll devices in the Windows diagnostic data processor configuration. - -Starting with the January 2023 preview cumulative update, how you enable the processor configuration option depends on the billing address of the Azure AD tenant to which your devices are joined. - -We made this change to help ensure the diagnostic data for all devices in an organization is processed in a consistent way and in the same geographic region, and to help us implement our plan to [store and process EU Data for European enterprise customers in the EU](/privacy/eudb/eu-data-boundary-learn). - -For more information, see [Enable Windows diagnostic data processor configuration](configure-windows-diagnostic-data-in-your-organization.md#enable-windows-diagnostic-data-processor-configuration). - -## Data collection changes - -> [!NOTE] -> The information in this section applies to the following versions of Windows: -> - Windows 10, version 22H2 and newer -> - Windows 11, version 23H2 and newer - -As of March 6, 2024, Microsoft Edge diagnostic data is collected separately from Windows diagnostic data on Windows 10 and Windows 11 devices in the European Economic Area. The collection of Microsoft Edge diagnostic data is subject to its own settings. For more information related to this change, see [Microsoft Edge, browsing data, and privacy](https://support.microsoft.com/windows/bb8174ba-9d73-dcf2-9b4a-c582b4e640dd). \ No newline at end of file diff --git a/windows/privacy/manage-windows-1903-endpoints.md b/windows/privacy/manage-windows-1903-endpoints.md deleted file mode 100644 index 4ac562a487..0000000000 --- a/windows/privacy/manage-windows-1903-endpoints.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -title: Connection endpoints for Windows 10 Enterprise, version 1903 -description: Explains what Windows 10 endpoints are used for, how to turn off traffic to them, and the impact. Specific to Windows 10 Enterprise, version 1903. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 01/18/2018 -ms.topic: reference ---- -# Manage connection endpoints for Windows 10 Enterprise, version 1903 - -**Applies to** - -- Windows 10 Enterprise, version 1903 - -Some Windows components, app, and related services transfer data to Microsoft network endpoints. Some examples include: - -- Connecting to Microsoft Office and Windows sites to download the latest app and security updates. -- Connecting to email servers to send and receive email. -- Connecting to the web for every day web browsing. -- Connecting to the cloud to store and access backups. -- Using your location to show a weather forecast. - -This article lists different endpoints that are available on a clean installation of Windows 10, version 1709 and later. -Details about the different ways to control traffic to these endpoints are covered in [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -Where applicable, each endpoint covered in this article includes a link to the specific details on how to control that traffic. - -The following methodology was used to derive these network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user isn't interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and wasn't joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using an IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week, but if you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 1903 Enterprise connection endpoints - -|Area|Description|Protocol|Destination| -|----------------|----------|----------|------------| -|Apps|||[Learn how to turn off traffic to the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -||The following endpoints are used to download updates to the Weather app Live Tile. If you turn off traffic to this endpoint, no Live Tiles will be updated.|HTTP|`blob.weather.microsoft.com`| -|||HTTP|tile-service.weather.microsoft.com| -|||HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used for OneNote Live Tile. To turn off traffic for this endpoint, either uninstall OneNote or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|cdn.onenote.net/livetile/?Language=en-US| -||The following endpoint is used for Twitter updates. To turn off traffic for these endpoints, either uninstall Twitter or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|*.twimg.com*| -||The following endpoint is used for Candy Crush Saga updates. To turn off traffic for this endpoint, either uninstall Candy Crush Saga or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLS v1.2|candycrushsoda.king.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Microsoft 365 admin center's shared infrastructure, including Office in a browser. To turn off traffic for this endpoint, either uninstall the Photos app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for by the Microsoft Wallet app. To turn off traffic for this endpoint, either uninstall the Wallet app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|wallet.microsoft.com| -||The following endpoint is used by the Groove Music app for update HTTP handler status. If you turn off traffic for this endpoint, apps for websites won't work and customers who visit websites (such as mediaredirect.microsoft.com) that are registered with their associated app (such as Groove Music) will stay at the website and won't be able to directly launch the app.|HTTPS|mediaredirect.microsoft.com| -||The following endpoints are used when using the Whiteboard app. To turn off traffic for this endpoint disable the Microsoft Store.|HTTPS|int.whiteboard.microsoft.com| -|||HTTPS|wbd.ms| -|||HTTPS|whiteboard.microsoft.com| -|||HTTP / HTTPS|whiteboard.ms| -|Azure |The following endpoints are related to Azure. |HTTPS|wd-prod-*fe*.cloudapp.azure.com| -|||HTTPS|ris-prod-atm.trafficmanager.net| -|||HTTPS|validation-v2.sls.trafficmanager.net| -|Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or isn't trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

                If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update)| -|||HTTP|ctldl.windowsupdate.com| -|Cortana and Search|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-cortana)| -||The following endpoint is used to get images that are used for Microsoft Store suggestions. If you turn off traffic for this endpoint, you'll block images that are used for Microsoft Store suggestions.|HTTPS|store-images.*microsoft.com| -||The following endpoints are related to Cortana and Live Tiles. If you turn off traffic for this endpoint, you'll block updates to Cortana greetings, tips, and Live Tiles.|HTTPS|www.bing.com/client| -|||HTTPS|www.bing.com| -|||HTTPS|www.bing.com/proactive| -|||HTTPS|www.bing.com/threshold/xls.aspx| -|||HTTP|exo-ring.msedge.net| -|||HTTP|fp.msedge.net| -|||HTTP|fp-vp.azureedge.net| -|||HTTP|odinvzc.azureedge.net| -|||HTTP|spo-ring.msedge.net| -|Device authentication|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -||The following endpoint is used to authenticate a device. If you turn off traffic for this endpoint, the device won't be authenticated.|HTTPS|login.live.com*| -|Device metadata|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#4-device-metadata-retrieval)| -||The following endpoint is used to retrieve device metadata. If you turn off traffic for this endpoint, metadata won't be updated for the device.|HTTP|dmd.metaservices.microsoft.com| -|Diagnostic Data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service. If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, won't be sent back to Microsoft. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||HTTP|v10.events.data.microsoft.com| -|||HTTPS|v10.vortex-win.data.microsoft.com/collect/v1| -|||HTTP|www.microsoft.com| -||The following endpoints are used by Windows Error Reporting. To turn off traffic for these endpoints, enable the following Group Policy: Administrative Templates > Windows Components > Windows Error Reporting > Disable Windows Error Reporting. This means error reporting information won't be sent back to Microsoft.|HTTPS|co4.telecommand.telemetry.microsoft.com| -|||HTTP|cs11.wpc.v0cdn.net| -|||HTTPS|cs1137.wpc.gammacdn.net| -|||TLS v1.2|modern.watson.data.microsoft.com*| -|||HTTPS|watson.telemetry.microsoft.com| -|Licensing|The following endpoint is used for online activation and some app licensing. To turn off traffic for this endpoint, disable the Windows License Manager Service. This will also block online activation and app licensing may not work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#9-license-manager)| -|||HTTPS|*licensing.mp.microsoft.com*| -|Location|The following endpoints are used for location data. If you turn off traffic for this endpoint, apps can't use location data. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-location)| -|||HTTPS|inference.location.live.net| -|||HTTP|location-inference-westus.cloudapp.net| -|Maps|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-offlinemaps)| -||The following endpoints are used to check for updates to maps that have been downloaded for offline use. If you turn off traffic for this endpoint, offline maps won't be updated.|HTTPS|*g.akamaiedge.net| -|||HTTP|*maps.windows.com*| -|Microsoft Account|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-microsoft-account)| -||The following endpoints are used for Microsoft accounts to sign in. If you turn off traffic for these endpoints, users can't sign in with Microsoft accounts. |HTTP|login.msa.akadns6.net| -|||HTTP|us.configsvc1.live.com.akadns.net| -|Microsoft Edge|This traffic is related to the Microsoft Edge browser.|HTTPS|iecvlist.microsoft.com| -|Microsoft forward link redirection service (FWLink)|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer. If you disable this endpoint, Windows Defender won't be able to update its malware definitions; links from Windows and other Microsoft products to the Web won't work; and PowerShell updateable Help won't update. To disable the traffic, instead disable the traffic that's getting forwarded.|HTTPS|go.microsoft.com| -|||HTTP|www.microsoft.com| -|Microsoft Store|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps). If you turn off traffic for these endpoints, the image files won't be downloaded, and apps can't be installed or updated from the Microsoft Store. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|HTTPS|img-prod-cms-rt-microsoft-com*| -|||HTTPS|store-images.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|TLS v1.2|*.md.mp.microsoft.com*| -|||HTTPS|*displaycatalog.mp.microsoft.com| -|||HTTP|storeedgefd.dsx.mp.microsoft.com| -|||HTTP|markets.books.microsoft.com| -|||HTTP |share.microsoft.com| -|Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| -||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Microsoft 365 admin center's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -|||HTTP|*.c-msedge.net| -|||HTTPS|*.e-msedge.net| -|||HTTPS|*.s-msedge.net| -|||HTTPS|nexusrules.officeapps.live.com| -|||HTTPS|ocos-office365-s2s.msedge.net| -|||HTTPS|officeclient.microsoft.com| -|||HTTPS|outlook.office365.com| -|||HTTPS|client-office365-tas.msedge.net| -|||HTTPS|www.office.com| -|||HTTPS|onecollector.cloudapp.aria| -|||HTTP|v10.events.data.microsoft.com/onecollector/1.0/| -|||HTTPS|self.events.data.microsoft.com| -||The following endpoint is used to connect the Office To-Do app to its cloud service. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store.|HTTPS|to-do.microsoft.com| -|OneDrive|The following endpoints are related to OneDrive. If you turn off traffic for these endpoints, anything that relies on g.live.com to get updated URL information will no longer work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-onedrive)| -|||HTTP \ HTTPS|g.live.com/1rewlive5skydrive/*| -|||HTTP|msagfx.live.com| -|||HTTPS|oneclient.sfx.ms| -|||HTTP| windows.policies.live.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it. If you turn off traffic for this endpoint, an app that uses this endpoint may stop working.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||HTTPS|cy2.settings.data.microsoft.com.akadns.net| -|||HTTPS|settings.data.microsoft.com| -|||HTTPS|settings-win.data.microsoft.com| -|Skype|The following endpoint is used to retrieve Skype configuration values. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -|||HTTPS|browser.pipe.aria.microsoft.com| -|||HTTP|config.edge.skype.com| -|||HTTP|s2s.config.skype.com| -|||HTTPS|skypeecs-prod-usw-0-b.cloudapp.net| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| -|||HTTPS|wdcp.microsoft.com| -|||HTTPS|definitionupdates.microsoft.com| -|||HTTPS|go.microsoft.com| -||The following endpoints are used for Windows Defender Smartscreen reporting and notifications. If you turn off traffic for these endpoints, Smartscreen notifications won't appear.|HTTPS|*.smartscreen.microsoft.com| -|||HTTPS|smartscreen-sn3p.smartscreen.microsoft.com| -|||HTTPS|unitedstates.smartscreen-prod.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| -|||TLS v1.2|*.search.msn.com| -|||HTTPS|arc.msn.com| -|||HTTPS|g.msn.com*| -|||HTTPS|query.prod.cms.rt.microsoft.com| -|||HTTPS|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers. If you turn off traffic for this endpoint, Windows Update downloads won't be managed, as critical metadata that is used to make downloads more resilient is blocked. Downloads may be impacted by corruption (resulting in re-downloads of full files). Additionally, downloads of the same update by multiple devices on the same local network won't use peer devices for bandwidth reduction.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-updates)| -|||HTTPS|*.prod.do.dsp.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store. If you turn off traffic for these endpoints, the device won't be able to download updates for the operating system.|HTTP|*.dl.delivery.mp.microsoft.com| -|||HTTP|*.windowsupdate.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store. If you turn off traffic for these endpoints, the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device won't be able to acquire and update apps from the Store. These are dependent on also enabling "Device authentication" and "Microsoft Account" endpoints.|HTTPS|*.delivery.mp.microsoft.com| -|||HTTPS|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP|adl.windows.com| -||The following endpoint is used for content regulation. If you turn off traffic for this endpoint, the Windows Update Agent will be unable to contact the endpoint and fallback behavior will be used. This may result in content being either incorrectly downloaded or not downloaded at all.|HTTPS|tsfe.trafficshaping.dsp.mp.microsoft.com| - -## Other Windows 10 editions - -To view endpoints for other versions of Windows 10 Enterprise, see: - -- [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) - -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) - -## Related links - -- [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) -- [Network infrastructure requirements for Microsoft Intune](/mem/intune/fundamentals/intune-endpoints) diff --git a/windows/privacy/manage-windows-1909-endpoints.md b/windows/privacy/manage-windows-1909-endpoints.md deleted file mode 100644 index 7e47f156a7..0000000000 --- a/windows/privacy/manage-windows-1909-endpoints.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Connection endpoints for Windows 10 Enterprise, version 1909 -description: Explains what Windows 10 endpoints are used for, how to turn off traffic to them, and the impact. Specific to Windows 10 Enterprise, version 1909. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 01/18/2018 -ms.topic: reference ---- -# Manage connection endpoints for Windows 10 Enterprise, version 1909 - -**Applies to** - -- Windows 10 Enterprise, version 1909 - -Some Windows components, app, and related services transfer data to Microsoft network endpoints. Some examples include: - -- Connecting to Microsoft Office and Windows sites to download the latest app and security updates. -- Connecting to email servers to send and receive email. -- Connecting to the web for every day web browsing. -- Connecting to the cloud to store and access backups. -- Using your location to show a weather forecast. - -Details about the different ways to control traffic to these endpoints are covered in [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -Where applicable, each endpoint covered in this article includes a link to the specific details on how to control that traffic. - -The following methodology was used to derive these network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user isn't interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and wasn't joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using an IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week, but if you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 1909 Enterprise connection endpoints - -|Area|Description|Protocol|Destination| -|----------------|----------|----------|------------| -|Apps|||[Learn how to turn off traffic to the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -||The following endpoint is used for the Weather app. To turn off traffic for this endpoint, either uninstall the Weather app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTP|tile-service.weather.microsoft.com| -|||HTTP|tile-service.weather.microsoft.com/en-us/livetile/preinstall| -||The following endpoint is used for OneNote Live Tile. To turn off traffic for this endpoint, either uninstall OneNote or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|cdn.onenote.net/*| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser. To turn off traffic for this endpoint, either uninstall the Photos app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLS v1.2|evoke-windowsservices-tas.msedge.net| -|Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or isn't trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

                If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update)| -|||HTTP|ctldl.windowsupdate.com| -|Cortana and Live Tiles|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-cortana)| -||The following endpoints are related to Cortana and Live Tiles. If you turn off traffic for this endpoint, you'll block updates to Cortana greetings, tips, and Live Tiles.|HTTPS|www.bing.com*| -|||HTTPS|www.bing.com/client/config| -|||TLS v1.2|fp.msedge.net| -|Device authentication|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -||The following endpoint is used to authenticate a device. If you turn off traffic for this endpoint, the device won't be authenticated.|HTTPS|login.live.com*| -|Diagnostic Data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service. If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, won't be sent back to Microsoft. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||HTTP|v10.events.data.microsoft.com| -||The following endpoints are used by Windows Error Reporting. To turn off traffic for these endpoints, enable the following Group Policy: Administrative Templates > Windows Components > Windows Error Reporting > Disable Windows Error Reporting. This means error reporting information won't be sent back to Microsoft.|HTTPS|*.telecommand.telemetry.microsoft.com| -|||TLS v1.2|watson.*.microsoft.com| -|Licensing|The following endpoint is used for online activation and some app licensing. To turn off traffic for this endpoint, disable the Windows License Manager Service. This will also block online activation and app licensing may not work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#9-license-manager)| -|||HTTPS|*licensing.mp.microsoft.com| -|||HTTPS|licensing.mp.microsoft.com/v7.0/licenses/content| -|Location|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-location)| -||The following endpoints are used for location data. If you turn off traffic for this endpoint, apps can't use location data.|TLS v1.2|inference.location.live.net| -|Maps|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-offlinemaps)| -||The following endpoints are used to check for updates to maps that have been downloaded for offline use. If you turn off traffic for this endpoint, offline maps won't be updated.|HTTP|*maps.windows.com| -|Microsoft Account|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-microsoft-account)| -||The following endpoints are used for Microsoft accounts to sign in. If you turn off traffic for these endpoints, users can't sign in with Microsoft accounts. |TLS v1.2|*login.live.com| -|Microsoft Edge|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge)| -||This traffic is related to the Microsoft Edge browser.|HTTPS|iecvlist.microsoft.com| -|Microsoft forward link redirection service (FWLink)|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer. If you disable this endpoint, Windows Defender won't be able to update its malware definitions; links from Windows and other Microsoft products to the Web won't work; and PowerShell updateable Help won't update. To disable the traffic, instead disable the traffic that's getting forwarded.|HTTPS|go.microsoft.com| -|Microsoft Store|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLS v1.2|1storecatalogrevocation.storequality.microsoft.com| -|||HTTPS|storecatalogrevocation.storequality.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|HTTPS|*displaycatalog.mp.microsoft.com| -|Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| -||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTP/ TLS v1.2|v10.events.data.microsoft.com/onecollector/1.0/| -|||TLS v1.2|*.blob.core.windows.net| -|||HTTP|officehomeblobs.blob.core.windows.net| -||The following endpoints are used by Microsoft OfficeHub to get the metadata of Microsoft Office apps |TLS v1.2|c-ring.msedge.net| -|OneDrive|The following endpoints are related to OneDrive. If you turn off traffic for these endpoints, anything that relies on g.live.com to get updated URL information will no longer work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-onedrive)| -|||TLS v1.2|*g.live.com| -|||HTTPS|oneclient.sfx.ms| -|||HTTPS| logincdn.msauth.net| -|||HTTP| windows.policies.live.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it. If you turn off traffic for this endpoint, an app that uses this endpoint may stop working.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLS v1.2|settings-win.data.microsoft.com| -|Skype|The following endpoint is used to retrieve Skype configuration values. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -|||HTTPS|*.pipe.aria.microsoft.com| -|||HTTP/TLS v1.2|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.||[Learn how to turn off traffic to all of the following endpoint(s).]( manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTPS|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| -|||HTTPS/TLS v1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS/TLS v1.2|*.smartscreen-prod.microsoft.com| -|||HTTPS|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| -|||HTTPS/TLS v1.2|arc.msn.com| -|||HTTPS|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers. If you turn off traffic for this endpoint, Windows Update downloads won't be managed, as critical metadata that is used to make downloads more resilient is blocked. Downloads may be impacted by corruption (resulting in re-downloads of full files). Additionally, downloads of the same update by multiple devices on the same local network won't use peer devices for bandwidth reduction.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-updates)| -|||HTTPS/TLS v1.2|*.prod.do.dsp.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store. If you turn off traffic for these endpoints, the device won't be able to download updates for the operating system.|HTTP|*.dl.delivery.mp.microsoft.com| -|||HTTP|*.windowsupdate.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store. If you turn off traffic for these endpoints, the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device won't be able to acquire and update apps from the Store. These are dependent on also enabling "Device authentication" and "Microsoft Account" endpoints.|HTTP|*.delivery.mp.microsoft.com| -|||HTTPS/TLS v1.2|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP|adl.windows.com| -||The following endpoint is used for content regulation. If you turn off traffic for this endpoint, the Windows Update Agent will be unable to contact the endpoint and fallback behavior will be used. This may result in content being either incorrectly.|HTTPS/TLS v1.2|tsfe.trafficshaping.dsp.mp.microsoft.com| -## Other Windows 10 editions - -To view endpoints for other versions of Windows 10 Enterprise, see: - -- [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) - -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) - -## Related links - -- [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) -- [Network infrastructure requirements for Microsoft Intune](/mem/intune/fundamentals/intune-endpoints) diff --git a/windows/privacy/manage-windows-2004-endpoints.md b/windows/privacy/manage-windows-2004-endpoints.md deleted file mode 100644 index f9101f343c..0000000000 --- a/windows/privacy/manage-windows-2004-endpoints.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Connection endpoints for Windows 10 Enterprise, version 2004 -description: Explains what Windows 10 endpoints are used for, how to turn off traffic to them, and the impact. Specific to Windows 10 Enterprise, version 2004. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 01/18/2018 -ms.topic: reference ---- -# Manage connection endpoints for Windows 10 Enterprise, version 2004 - -**Applies to** - -- Windows 10 Enterprise, version 2004 - -Some Windows components, app, and related services transfer data to Microsoft network endpoints. Some examples include: - -- Connecting to Microsoft Office and Windows sites to download the latest app and security updates. -- Connecting to email servers to send and receive email. -- Connecting to the web for every day web browsing. -- Connecting to the cloud to store and access backups. -- Using your location to show a weather forecast. - -Details about the different ways to control traffic to these endpoints are covered in [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -Where applicable, each endpoint covered in this article includes a link to the specific details on how to control that traffic. - -The following methodology was used to derive these network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user isn't interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and wasn't joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using an IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week, but if you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 2004 Enterprise connection endpoints - -|Area|Description|Protocol|Destination| -|----------------|----------|----------|------------| -|Apps|||[Learn how to turn off traffic to the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -||The following endpoints are used for the Weather app. To turn off traffic for this endpoint, either uninstall the Weather app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|blob.weather.microsoft.com| -|||HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used for OneNote Live Tile. To turn off traffic for this endpoint, either uninstall OneNote or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTPS|cdn.onenote.net/*| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser. To turn off traffic for this endpoint, either uninstall the Photos app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLSv1.2|evoke-windowsservices-tas.msedge.net| -|Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or isn't trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

                If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update)| -|||HTTP|ctldl.windowsupdate.com| -|Cortana and Live Tiles|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-cortana)| -||The following endpoints are related to Cortana and Live Tiles. If you turn off traffic for this endpoint, you'll block updates to Cortana greetings, tips, and Live Tiles.|TLSv1.2|www.bing.com*| -|Device metadata|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#4-device-metadata-retrieval)| -||The following endpoint is used to retrieve device metadata. If you turn off traffic for this endpoint, metadata won't be updated for the device.|HTTPS|dmd.metaservices.microsoft.com| -|Diagnostic Data|The following endpoints are used by the Windows Diagnostic Data, Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service. If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft improve our products and services, won't be sent back to Microsoft. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLSv1.2|v10.events.data.microsoft.com| -||The following endpoints are used by Windows Error Reporting. To turn off traffic for these endpoints, enable the following Group Policy: Administrative Templates > Windows Components > Windows Error Reporting > Disable Windows Error Reporting. This means error reporting information won't be sent back to Microsoft.|HTTPS|*.telecommand.telemetry.microsoft.com| -|||TLS v1.2|watson.*.microsoft.com| -|Font Streaming|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#6-font-streaming)| -||The following endpoints are used to download fonts on demand. If you turn off traffic for these endpoints, you won't be able to download fonts on demand. |HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing. To turn off traffic for this endpoint, disable the Windows License Manager Service. This will also block online activation and app licensing may not work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#9-license-manager)| -|||HTTPS|*licensing.mp.microsoft.com| -|Maps|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-offlinemaps)| -||The following endpoints are used to check for updates to maps that have been downloaded for offline use. If you turn off traffic for this endpoint, offline maps won't be updated.|TLSv1.2|*maps.windows.com| -|Microsoft Account|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-microsoft-account)| -||The following endpoints are used for Microsoft accounts to sign in. If you turn off traffic for these endpoints, users can't sign in with Microsoft accounts. |TLSv1.2|*login.live.com| -|Microsoft forward link redirection service (FWLink)|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer. If you disable this endpoint, Windows Defender won't be able to update its malware definitions; links from Windows and other Microsoft products to the Web won't work; and PowerShell updateable Help won't update. To disable the traffic, instead disable the traffic that's getting forwarded.|HTTPS|go.microsoft.com| -|Microsoft Store|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -||The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps). If you turn off traffic for these endpoints, the image files won't be downloaded, and apps can't be installed or updated from the Microsoft Store. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|TLSv1.2/HTTPS|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|TLSv1.2|storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|HTTPS|*displaycatalog.mp.microsoft.com| -|||HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| -||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTPS|*ow1.res.office365.com| -|||HTTPS|office.com| -|||HTTPS|blobs.officehome.msocdn.com| -|||HTTPS|self.events.data.microsoft.com| -|OneDrive|The following endpoints are related to OneDrive. If you turn off traffic for these endpoints, anything that relies on g.live.com to get updated URL information will no longer work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-onedrive)| -|||TLSv1.2|*g.live.com| -|||TLSv1.2|oneclient.sfx.ms| -|||HTTPS| logincdn.msauth.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it. If you turn off traffic for this endpoint, an app that uses this endpoint may stop working.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLSv1.2|settings-win.data.microsoft.com| -|Skype|The following endpoint is used to retrieve Skype configuration values. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -|||HTTPS|*.pipe.aria.microsoft.com| -|||HTTPS|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.||[Learn how to turn off traffic to all of the following endpoint(s).]( manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||TLSv1.2|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| -|||TLSv1.2|wdcp.microsoft.com| -|||HTTPS|go.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| -|||HTTPS|*.smartscreen.microsoft.com | -|||HTTPS|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| -|||TLSv1.2|arc.msn.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers. If you turn off traffic for this endpoint, Windows Update downloads won't be managed, as critical metadata that is used to make downloads more resilient is blocked. Downloads may be impacted by corruption (resulting in re-downloads of full files). Additionally, downloads of the same update by multiple devices on the same local network won't use peer devices for bandwidth reduction.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-updates)| -|||TLSv1.2|*.prod.do.dsp.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store. If you turn off traffic for these endpoints, the device won't be able to download updates for the operating system.|HTTP|*.dl.delivery.mp.microsoft.com| -|||HTTP|*.windowsupdate.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store. If you turn off traffic for these endpoints, the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device won't be able to acquire and update apps from the Store. These are dependent on also enabling "Device authentication" and "Microsoft Account" endpoints.|HTTPS|*.delivery.mp.microsoft.com| -|||TLSv1.2|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP|adl.windows.com| -||The following endpoint is used for content regulation. If you turn off traffic for this endpoint, the Windows Update Agent will be unable to contact the endpoint and fallback behavior will be used. This may result in content being either incorrectly.|TLSv1.2|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoint is used for Xbox Live.||[Learn how to turn off traffic to all of the following endpoint(s).]( manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||TLSv1.2|dlassets-ssl.xboxlive.com| - -## Other Windows 10 editions - -To view endpoints for other versions of Windows 10 Enterprise, see: - -- [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) - -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) - -## Related links - -- [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) -- [Network infrastructure requirements for Microsoft Intune](/mem/intune/fundamentals/intune-endpoints) diff --git a/windows/privacy/manage-windows-20H2-endpoints.md b/windows/privacy/manage-windows-20H2-endpoints.md deleted file mode 100644 index 8ae07104f4..0000000000 --- a/windows/privacy/manage-windows-20H2-endpoints.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Connection endpoints for Windows 10 Enterprise, version 20H2 -description: Explains what Windows 10 endpoints are used for, how to turn off traffic to them, and the impact. Specific to Windows 10 Enterprise, version 20H2. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 01/18/2018 -ms.topic: reference ---- - -# Manage connection endpoints for Windows 10 Enterprise, version 20H2 - -**Applies to** - -- Windows 10 Enterprise, version 20H2 - -Some Windows components, app, and related services transfer data to Microsoft network endpoints. Some examples include: - -- Connecting to Microsoft Office and Windows sites to download the latest app and security updates. -- Connecting to email servers to send and receive email. -- Connecting to the web for every day web browsing. -- Connecting to the cloud to store and access backups. -- Using your location to show a weather forecast. - -Details about the different ways to control traffic to these endpoints are covered in [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -Where applicable, each endpoint covered in this article includes a link to the specific details on how to control that traffic. - -The following methodology was used to derive these network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user isn't interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and wasn't joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using an IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week, but if you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 20H2 Enterprise connection endpoints - -|Area|Description|Protocol|Destination| -|----------------|----------|----------|------------| -|Apps|||[Learn how to turn off traffic to the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -||The following endpoint is used for the Weather app. To turn off traffic for this endpoint, either uninstall the Weather app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used for OneNote Live Tile. To turn off traffic for this endpoint, either uninstall OneNote or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLSv1.2/HTTPS/HTTP|cdn.onenote.net| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser. To turn off traffic for this endpoint, either uninstall the Photos app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLSv1.2/HTTPS|evoke-windowsservices-tas.msedge.net| -|Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or isn't trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

                If automatic updates are turned off, applications and websites may stop working because they did not receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update)| -|||TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com| -|Cortana and Live Tiles|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-cortana)| -||The following endpoints are related to Cortana and Live Tiles. If you turn off traffic for this endpoint, you'll block updates to Cortana greetings, tips, and Live Tiles.|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|||TLSv1.2/HTTPS/HTTP|fp.msedge.net| -|||TLSv1.2|I-ring.msedge.net| -|||HTTPS|s-ring.msedge.net| -|Device authentication|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -||The following endpoint is used to authenticate a device. If you turn off traffic for this endpoint, the device won't be authenticated.|HTTPS|login.live.com*| -|Device metadata|The following endpoint is used to retrieve device metadata. If you turn off traffic for this endpoint, metadata won't be updated for the device.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#4-device-metadata-retrieval)| -|||HTTP|dmd.metaservices.microsoft.com| -|Diagnostic Data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service. If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, won't be sent back to Microsoft. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLSv1.2/HTTPS/HTTP|v10.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|v20.events.data.microsoft.com| -|||HTTP|www.microsoft.com| -||The following endpoints are used by Windows Error Reporting. To turn off traffic for these endpoints, enable the following Group Policy: Administrative Templates > Windows Components > Windows Error Reporting > Disable Windows Error Reporting. This means error reporting information won't be sent back to Microsoft.|TLSv1.2|telecommand.telemetry.microsoft.com| -|||TLS v1.2/HTTPS/HTTP|watson.*.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand. If you turn off traffic for these endpoints, you won't be able to download fonts on demand.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#6-font-streaming)| -|||HTTPS|fs.microsoft.com| -|Licensing|The following endpoint is used for online activation and some app licensing. To turn off traffic for this endpoint, disable the Windows License Manager Service. This will also block online activation and app licensing may not work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#9-license-manager)| -|||TLSv1.2/HTTPS/HTTP|licensing.mp.microsoft.com| -|Maps|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-offlinemaps)| -||The following endpoints are used to check for updates to maps that have been downloaded for offline use. If you turn off traffic for this endpoint, offline maps won't be updated.|TLSv1.2/HTTPS/HTTP|maps.windows.com| -|Microsoft Account|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-microsoft-account)| -||The following endpoints are used for Microsoft accounts to sign in. If you turn off traffic for these endpoints, users can't sign in with Microsoft accounts. |TLSv1.2/HTTPS|login.live.com| -|Microsoft Edge|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge)| -||This traffic is related to the Microsoft Edge browser.|HTTPS|iecvlist.microsoft.com| -||The following endpoint is used by Microsoft Edge Update service to check for new updates. If you disable this endpoint, Microsoft Edge won't be able to check for and apply new edge updates.|TLSv1.2/HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection service (FWLink)|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer. If you disable this endpoint, Windows Defender won't be able to update its malware definitions; links from Windows and other Microsoft products to the Web won't work; and PowerShell updateable Help won't update. To disable the traffic, instead disable the traffic that's getting forwarded.|HTTP|go.microsoft.com| -|Microsoft Store|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -||The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps). If you turn off traffic for these endpoints, the image files won't be downloaded, and apps can't be installed or updated from the Microsoft Store. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|HTTPS|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is needed to load the content in the Microsoft Store app.|HTTPS|livetileedge.dsx.mp.microsoft.com| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTP|share.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| -||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTPS|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTPS|www.office.com| -|||HTTPS|blobs.officehome.msocdn.com| -|||HTTPS|officehomeblobs.blob.core.windows.net| -|||HTTPS|self.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|outlookmobile-office365-tas.msedge.net| -|OneDrive|The following endpoints are related to OneDrive. If you turn off traffic for these endpoints, anything that relies on g.live.com to get updated URL information will no longer work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-onedrive)| -|||TLSv1.2/HTTPS/HTTP|g.live.com| -|||TLSv1.2/HTTPS/HTTP|oneclient.sfx.ms| -|||HTTPS| logincdn.msauth.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it. If you turn off traffic for this endpoint, an app that uses this endpoint may stop working.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com| -|||HTTPS|settings.data.microsoft.com| -|Skype|The following endpoint is used to retrieve Skype configuration values. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -|||HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.||[Learn how to turn off traffic to all of the following endpoint(s).]( manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| -|||HTTPS/TLSv1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| -|||HTTPS/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| -|||TLSv1.2/HTTPS/HTTP|arc.msn.com| -|||HTTPS|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers. If you turn off traffic for this endpoint, Windows Update downloads won't be managed, as critical metadata that is used to make downloads more resilient is blocked. Downloads may be impacted by corruption (resulting in re-downloads of full files). Additionally, downloads of the same update by multiple devices on the same local network won't use peer devices for bandwidth reduction.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-updates)| -|||TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store. If you turn off traffic for these endpoints, the device won't be able to download updates for the operating system.|TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -|||HTTP|*.windowsupdate.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store. If you turn off traffic for these endpoints, the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device won't be able to acquire and update apps from the Store. These are dependent on also enabling "Device authentication" and "Microsoft Account" endpoints.|TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTPS|adl.windows.com| -||The following endpoint is used for content regulation. If you turn off traffic for this endpoint, the Windows Update Agent will be unable to contact the endpoint and fallback behavior will be used. This may result in content being either incorrectly downloaded or not downloaded at all.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoint is used for Xbox Live.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTPS|dlassets-ssl.xboxlive.com| - - -## Other Windows 10 editions - -To view endpoints for other versions of Windows 10 Enterprise, see: - -- [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 2004](manage-windows-2004-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) - -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 2004, connection endpoints for non-Enterprise editions](windows-endpoints-2004-non-enterprise-editions.md) -- [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) - -## Related links - -- [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) -- [Network infrastructure requirements for Microsoft Intune](/mem/intune/fundamentals/intune-endpoints) diff --git a/windows/privacy/manage-windows-21H1-endpoints.md b/windows/privacy/manage-windows-21H1-endpoints.md deleted file mode 100644 index 0d0e1bd833..0000000000 --- a/windows/privacy/manage-windows-21H1-endpoints.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: Connection endpoints for Windows 10 Enterprise, version 21H1 -description: Explains what Windows 10 endpoints are used for, how to turn off traffic to them, and the impact. Specific to Windows 10 Enterprise, version 21H1. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 01/18/2018 -ms.topic: reference ---- - -# Manage connection endpoints for Windows 10 Enterprise, version 21H1 - -**Applies to** - -- Windows 10 Enterprise, version 21H1 - -Some Windows components, app, and related services transfer data to Microsoft network endpoints. Some examples include: - -- Connecting to Microsoft Office and Windows sites to download the latest app and security updates. -- Connecting to email servers to send and receive email. -- Connecting to the web for every day web browsing. -- Connecting to the cloud to store and access backups. -- Using your location to show a weather forecast. - -Details about the different ways to control traffic to these endpoints are covered in [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -Where applicable, each endpoint covered in this article includes a link to the specific details on how to control that traffic. - -The following methodology was used to derive these network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user isn't interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and wasn't joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using an IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week, but if you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 21H1 Enterprise connection endpoints - -|Area|Description|Protocol|Destination| -|----------------|----------|----------|------------| -|Apps|||[Learn how to turn off traffic to the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -||The following endpoint is used for the Weather app. To turn off traffic for this endpoint, either uninstall the Weather app or disable the Microsoft Store. If you disable the Microsoft Store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used for OneNote Live Tile. To turn off traffic for this endpoint, either uninstall OneNote or disable the Microsoft Store. If you disable the Microsoft Store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLSv1.2/HTTPS/HTTP|cdn.onenote.net| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser. To turn off traffic for this endpoint, either uninstall the Photos app or disable the Microsoft Store. If you disable the Microsoft Store, other Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them.|TLSv1.2/HTTPS|evoke-windowsservices-tas.msedge.net -|Certificates|Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or isn't trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism.

                If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update)| -|||TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com| -|Cortana and Live Tiles|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-cortana)| -||The following endpoints are related to Cortana and Live Tiles. If you turn off traffic for this endpoint, you'll block updates to Cortana greetings, tips, and Live Tiles.|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|||TLSv1.2/HTTPS/HTTP|fp.msedge.net| -|||TLSv1.2|I-ring.msedge.net| -|||HTTPS|s-ring.msedge.net| -|Device authentication|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -||The following endpoint is used to authenticate a device. If you turn off traffic for this endpoint, the device won't be authenticated.|HTTPS|login.live.com*| -|Device metadata|The following endpoint is used to retrieve device metadata. If you turn off traffic for this endpoint, metadata won't be updated for the device.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#4-device-metadata-retrieval)| -|||HTTP|dmd.metaservices.microsoft.com| -|Diagnostic Data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service. If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, won't be sent back to Microsoft. ||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLSv1.2/HTTPS/HTTP|v10.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|v20.events.data.microsoft.com| -|||HTTP|www.microsoft.com| -||The following endpoints are used by Windows Error Reporting. To turn off traffic for these endpoints, enable the following Group Policy: **Administrative Templates** > **Windows Components** > **Windows Error Reporting** > **Disable Windows Error Reporting**. This means error reporting information won't be sent back to Microsoft.|TLSv1.2|telecommand.telemetry.microsoft.com| -|||TLS v1.2/HTTPS/HTTP|watson.*.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand. If you turn off traffic for these endpoints, you won't be able to download fonts on demand.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#6-font-streaming)| -|||HTTPS|fs.microsoft.com| -|Licensing|The following endpoint is used for online activation and some app licensing. To turn off traffic for this endpoint, disable the Windows License Manager Service. This will also block online activation and app licensing may not work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#9-license-manager)| -|||TLSv1.2/HTTPS/HTTP|licensing.mp.microsoft.com| -|Maps|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-offlinemaps)| -||The following endpoints are used to check for updates to maps that have been downloaded for offline use. If you turn off traffic for this endpoint, offline maps won't be updated.|TLSv1.2/HTTPS/HTTP|maps.windows.com| -|Microsoft Account|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-microsoft-account)| -||The following endpoints are used for Microsoft accounts to sign in. If you turn off traffic for these endpoints, users can't sign in with Microsoft accounts. |TLSv1.2/HTTPS|login.live.com| -|Microsoft Edge|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#13-microsoft-edge)| -||This traffic is related to the Microsoft Edge browser.|HTTPS|iecvlist.microsoft.com| -||The following endpoint is used by Microsoft Edge Update service to check for new updates. If you disable this endpoint, Microsoft Edge won't be able to check for and apply new edge updates.|TLSv1.2/HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection service (FWLink)|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer. If you disable this endpoint, Windows Defender won't be able to update its malware definitions; links from Windows and other Microsoft products to the web won't work; and PowerShell updateable Help won't update. To disable the traffic, instead, disable the traffic that's getting forwarded.|HTTP|go.microsoft.com| -|Microsoft Store|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -||The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps). If you turn off traffic for these endpoints, the image files won't be downloaded, and apps can't be installed or updated from the Microsoft Store. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.|HTTPS|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is needed to load the content in the Microsoft Store app.|HTTPS|livetileedge.dsx.mp.microsoft.com| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way. If you turn off traffic for this endpoint, push notifications will no longer work, including MDM device management, mail synchronization, settings synchronization.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoints are used to revoke licenses for malicious apps in the Microsoft Store. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|HTTPS|manage.devcenter.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store. If you turn off traffic for these endpoints, apps can't be installed or updated from the Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTP|share.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-ncsi)| -||Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet. If you turn off traffic for this endpoint, NCSI won't be able to determine if the device is connected to the Internet and the network status tray icon will show a warning.|HTTPS|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser. For more info, see Office 365 URLs and IP address ranges. You can turn this off by removing all Microsoft Office apps and the Mail and Calendar apps. If you turn off traffic for these endpoints, users won't be able to save documents to the cloud or see their recently used documents.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTPS|www.office.com| -|||HTTPS|blobs.officehome.msocdn.com| -|||HTTPS|officehomeblobs.blob.core.windows.net| -|||HTTPS|self.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|outlookmobile-office365-tas.msedge.net| -|OneDrive|The following endpoints are related to OneDrive. If you turn off traffic for these endpoints, anything that relies on g.live.com to get updated URL information will no longer work.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-onedrive)| -|||TLSv1.2/HTTPS/HTTP|g.live.com| -|||TLSv1.2/HTTPS/HTTP|oneclient.sfx.ms| -|||HTTPS| logincdn.msauth.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it. If you turn off traffic for this endpoint, an app that uses this endpoint may stop working.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-priv-feedback)| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com| -|||HTTPS|settings.data.microsoft.com| -|Skype|The following endpoint is used to retrieve Skype configuration values. To turn off traffic for this endpoint, either uninstall the app or disable the Microsoft Store. If you disable the Microsoft Store, other Microsoft Store apps can't be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious apps and users will still be able to open them.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-windowsstore)| -|||HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled. If you turn off traffic for this endpoint, the device won't use Cloud-based Protection.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-defender)| -|||HTTPS/TLSv1.2|wdcp.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications. If you turn off traffic for these endpoints, SmartScreen notifications won't appear.|HTTPS|*.smartscreen-prod.microsoft.com| -|||HTTPS/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips. If you turn off traffic for these endpoints, Windows Spotlight will still try to deliver new lock screen images and updated content but it will fail; suggested apps, Microsoft account notifications, and Windows tips won't be downloaded. For more information, see Windows Spotlight.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-spotlight)| -|||TLSv1.2/HTTPS/HTTP|arc.msn.com| -|||HTTPS|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers. If you turn off traffic for this endpoint, Windows Update downloads won't be managed, as critical metadata that is used to make downloads more resilient is blocked. Downloads may be impacted by corruption (resulting in re-downloads of full files). Additionally, downloads of the same update by multiple devices on the same local network won't use peer devices for bandwidth reduction.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-updates)| -|||TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store. If you turn off traffic for these endpoints, the device won't be able to download updates for the operating system.|TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -|||HTTP|*.windowsupdate.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store. If you turn off traffic for these endpoints, the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device won't be able to acquire and update apps from the Microsoft Store. These are dependent on also enabling "Device authentication" and "Microsoft Account" endpoints.|TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTPS|adl.windows.com| -||The following endpoint is used for content regulation. If you turn off traffic for this endpoint, the Windows Update Agent will be unable to contact the endpoint and fallback behavior will be used. This may result in content being either incorrectly downloaded or not downloaded at all.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoint is used for Xbox Live.||[Learn how to turn off traffic to all of the following endpoint(s).](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#26-microsoft-store)| -|||HTTPS|dlassets-ssl.xboxlive.com| - - -## Other Windows 10 editions - -To view endpoints for other versions of Windows 10 Enterprise, see: - -- [Manage connection endpoints for Windows 10, version 21H2](manage-windows-21H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 20H2](manage-windows-20H2-endpoints.md) -- [Manage connection endpoints for Windows 10, version 2004](manage-windows-2004-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1909](manage-windows-1909-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1903](manage-windows-1903-endpoints.md) -- [Manage connection endpoints for Windows 10, version 1809](manage-windows-1809-endpoints.md) - -To view endpoints for non-Enterprise Windows 10 editions, see: - -- [Windows 10, version 21H1, connection endpoints for non-Enterprise editions](windows-endpoints-21H1-non-enterprise-editions.md) -- [Windows 10, version 20H2, connection endpoints for non-Enterprise editions](windows-endpoints-20H2-non-enterprise-editions.md) -- [Windows 10, version 2004, connection endpoints for non-Enterprise editions](windows-endpoints-2004-non-enterprise-editions.md) -- [Windows 10, version 1909, connection endpoints for non-Enterprise editions](windows-endpoints-1909-non-enterprise-editions.md) -- [Windows 10, version 1903, connection endpoints for non-Enterprise editions](windows-endpoints-1903-non-enterprise-editions.md) -- [Windows 10, version 1809, connection endpoints for non-Enterprise editions](windows-endpoints-1809-non-enterprise-editions.md) - -## Related links - -- [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) -- [Network infrastructure requirements for Microsoft Intune](/mem/intune/fundamentals/intune-endpoints) diff --git a/windows/privacy/windows-diagnostic-data-1703.md b/windows/privacy/windows-diagnostic-data-1703.md deleted file mode 100644 index 6716304894..0000000000 --- a/windows/privacy/windows-diagnostic-data-1703.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Windows 10 diagnostic data for the Full diagnostic data level (Windows 10) -description: Use this article to learn about the types of data that is collected the Full diagnostic data level. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 03/31/2017 -ms.topic: reference ---- - -# Windows 10 diagnostic data for the Full diagnostic data level - -**Applies to:** -- Windows 10, version 1703 - -Microsoft collects Windows diagnostic data to keep Windows up-to-date, secure, and operating properly. It also helps us improve Windows and, for users who have turned on “tailored experiences”, can be used to provide more relevant tips and recommendations to tailor Microsoft products to the user’s needs. This article describes all types diagnostic data collected by Windows at the Full diagnostic data level (inclusive of data collected at Basic), with comprehensive examples of data we collect per each type. For additional, detailed technical descriptions of Basic data items, see [Windows 10, version 1709 Basic level diagnostic events and fields](./basic-level-windows-diagnostic-events-and-fields-1709.md) and [Windows 10, version 1703 Basic level diagnostic events and fields](./basic-level-windows-diagnostic-events-and-fields-1703.md). - -The data covered in this article is grouped into the following categories: - -- Common Data (diagnostic header information) -- Device, Connectivity, and Configuration data -- Product and Service Usage data -- Product and Service Performance data -- Software Setup and Inventory data -- Browsing History data -- Inking, Typing, and Speech Utterance data - -> [!NOTE] -> The majority of diagnostic data falls into the first four categories. - -## Common data - -Most diagnostic events contain a header of common data: - -| Category Name | Examples | -| - | - | -| Common Data | Information that is added to most diagnostic events, if relevant and available:
                • OS name, version, build, and [locale](/windows/win32/intl/locales-and-languages)
                • User ID - a unique identifier associated with the user's Microsoft Account (if one is used) or local account. The user's Microsoft Account identifier is not collected from devices configured to send Basic diagnostic data
                • Xbox UserID
                • Environment from which the event was logged - Application ID of app or component that logged the event, Session GUID. Used to track events over a given period of time such the period an app is running or between boots of the OS.
                • The diagnostic event name, Event ID, [ETW](/windows/win32/etw/event-tracing-portal) opcode, version, schema signature, keywords, and flags
                • HTTP header information, including the IP address. This IP address is the source address that’s provided by the network packet header and received by the diagnostics ingestion service.
                • Various IDs that are used to correlate and sequence related events together.
                • Device ID. This ID is not the user provided device name, but an ID that is unique for that device.
                • Device class - Desktop, Server, or Mobile
                • Event collection time
                • Diagnostic level - Basic or Full, Sample level - for sampled data, what sample level is this device opted into
                | - -## ​Device, Connectivity, and Configuration data - -This type of data includes details about the device, its configuration and connectivity capabilities, and status. - -| Category Name | Examples | -| - | - | -| Device properties | Information about the OS and device hardware, such as:
                • OS - version name, Edition
                • Installation type, subscription status, and genuine OS status
                • Processor architecture, speed, number of cores, manufacturer, and model
                • OEM details - manufacturer, model, and serial number
                • Device identifier and Xbox serial number
                • Firmware/BIOS - type, manufacturer, model, and version
                • Memory - total memory, video memory, speed, and how much memory is available after the device has reserved memory
                • Storage - total capacity and disk type
                • Battery - charge capacity and InstantOn support
                • Hardware chassis type, color, and form factor
                • Is this machine a virtual machine?
                | -| Device capabilities | Information about the specific device capabilities such as:
                • Camera - whether the device has a front facing, a rear facing camera, or both.
                • Touch screen - does the device include a touch screen? If so, how many hardware touch points are supported?
                • Processor capabilities - CompareExchange128, LahfSahf, NX, PrefetchW, and SSE2
                • Trusted Platform Module (TPM) – whether present and what version
                • Virtualization hardware - whether an IOMMU is present, SLAT support, is virtualization enabled in the firmware
                • Voice – whether voice interaction is supported and the number of active microphones
                • Number of displays, resolutions, DPI
                • Wireless capabilities
                • OEM or platform face detection
                • OEM or platform video stabilization and quality level set
                • Advanced Camera Capture mode (HDR vs. LowLight), OEM vs. platform implementation, HDR probability, and Low Light probability
                | -| Device preferences and settings | Information about the device settings and user preferences such as:
                • User Settings – System, Device, Network & Internet, Personalization, Cortana, Apps, Accounts, Time & Language, Gaming, Ease of Access, Privacy, Update & Security
                • User-provided device name
                • Whether device is domain-joined, or cloud-domain joined (that is, part of a company-managed network)
                • Hashed representation of the domain name
                • MDM (mobile device management) enrollment settings and status
                • BitLocker, Secure Boot, encryption settings, and status
                • Windows Update settings and status
                • Developer Unlock settings and status
                • Default app choices
                • Default browser choice
                • Default language settings for app, input, keyboard, speech, and display
                • App store update settings
                • Enterprise OrganizationID, Commercial ID
                | -| Device peripherals | Information about the device peripherals such as:
                • Peripheral name, device model, class, manufacturer, and description
                • Peripheral device state, install state, and checksum
                • Driver name, package name, version, and manufacturer
                • HWID - A hardware vendor defined ID to match a device to a driver [INF file](/windows-hardware/drivers/install/hardware-ids)
                • Driver state, problem code, and checksum
                • Whether driver is kernel mode, signed, and image size
                | -| Device network info | Information about the device network configuration such as:
                • Network system capabilities
                • Local or Internet connectivity status
                • Proxy, gateway, DHCP, DNS details, and addresses
                • Paid or free network
                • Wireless driver is emulated or not
                • Access point mode capable
                • Access point manufacturer, model, and MAC address
                • WDI Version
                • Name of networking driver service
                • Wi-Fi Direct details
                • Wi-Fi device hardware ID and manufacturer
                • Wi-Fi scan attempt counts and item counts
                • Mac randomization is supported/enabled or not
                • Number of spatial streams and channel frequencies supported
                • Manual or Auto Connect enabled
                • Time and result of each connection attempt
                • Airplane mode status and attempts
                • Interface description provided by the manufacturer
                • Data transfer rates
                • Cipher algorithm
                • Mobile Equipment ID (IMEI) and Mobile Country Code (MCCO)
                • Mobile operator and service provider name
                • Available SSIDs and BSSIDs
                • IP Address type - IPv4 or IPv6
                • Signal Quality percentage and changes
                • Hotspot presence detection and success rate
                • TCP connection performance
                • Miracast device names
                • Hashed IP address
                - -## Product and Service Usage data - -This type of data includes details about the usage of the device, operating system, applications, and services. - -| Category Name | Examples | -| - | - | -| App usage | Information about Windows and application usage such as:
                • OS component and app feature usage
                • User navigation and interaction with app and Windows features. This information could include user input, such as the name of a new alarm set, user menu choices, or user favorites.
                • Time of and count of app/component launches, duration of use, session GUID, and process ID
                • App time in various states – running foreground or background, sleeping, or receiving active user interaction
                • User interaction method and duration – whether and length of time user used the keyboard, mouse, pen, touch, speech, or game controller
                • Cortana launch entry point/reason
                • Notification delivery requests and status
                • Apps used to edit images and videos
                • SMS, MMS, VCard, and broadcast message usage statistics on primary or secondary line
                • Incoming and Outgoing calls and Voicemail usage statistics on primary or secondary line
                • Emergency alerts are received or displayed statistics
                • Content searches within an app
                • Reading activity - bookmarking used, print used, layout changed
                | -| App or product state | Information about Windows and application state such as:
                • Start Menu and Taskbar pins
                • Online/Offline status
                • App launch state –- with deep-link such as Groove launched with an audio track to play, or share contract such as MMS launched to share a picture.
                • Personalization impressions delivered
                • Whether the user clicked or hovered on UI controls or hotspots
                • User feedback Like or Dislike or rating was provided
                • Caret location or position within documents and media files - how much of a book has been read in a single session or how much of a song has been listened to.
                | -| Login properties |
                • Login success or failure
                • Login sessions and state
                | - - -## Product and Service Performance data - -This type of data includes details about the health of the device, operating system, apps, and drivers. - -| Category Name | Description and Examples | -| - | - | -|Device health and crash data | Information about the device and software health such as:
                • Error codes and error messages, name and ID of the app, and process reporting the error
                • DLL library predicted to be the source of the error - xyz.dll
                • System-generated files - app or product logs and trace files to help diagnose a crash or hang
                • System settings such as registry keys
                • User-generated files – .doc, .ppt, .csv files where they are indicated as a potential cause for a crash or hang
                • Details and counts of abnormal shutdowns, hangs, and crashes
                • Crash failure data – OS, OS component, driver, device, 1st and 3rd party app data
                • Crash and Hang dumps
                  • The recorded state of the working memory at the point of the crash.
                  • Memory in use by the kernel at the point of the crash.
                  • Memory in use by the application at the point of the crash.
                  • All the physical memory used by Windows at the point of the crash.
                  • Class and function name within the module that failed.
                  | -|Device performance and reliability data | Information about the device and software performance such as:
                  • User Interface interaction durations - Start Menu display times, browser tab switch times, app launch and switch times, and Cortana and search performance and reliability.
                  • Device on/off performance - Device boot, shutdown, power on/off, lock/unlock times, and user authentication times (fingerprint and face recognition durations).
                  • In-app responsiveness - time to set alarm, time to fully render in-app navigation menus, time to sync reading list, time to start GPS navigation, time to attach picture MMS, and time to complete a Microsoft Store transaction.
                  • User input responsiveness – onscreen keyboard invocation times for different languages, time to show autocomplete words, pen or touch latencies, latency for handwriting recognition to words, Narrator screen reader responsiveness, and CPU score.
                  • UI and media performance and glitches/smoothness - video playback frame rate, audio glitches, animation glitches (stutter when bringing up Start), graphics score, time to first frame, play/pause/stop/seek responsiveness, time to render PDF, dynamic streaming of video from OneDrive performance
                  • Disk footprint - Free disk space, out of memory conditions, and disk score.
                  • Excessive resource utilization – components impacting performance or battery life through high CPU usage during different screen and power states
                  • Background task performance - download times, Windows Update scan duration, Microsoft Defender Antivirus scan times, disk defrag times, mail fetch times, service startup and state transition times, and time to index on-device files for search results
                  • Peripheral and devices - USB device connection times, time to connect to a wireless display, printing times, network availability, and connection times (time to connect to Wi-Fi, time to get an IP address from DHCP, and so on), smart card authentication times, automatic brightness environmental response times
                  • Device setup - first setup experience times (time to install updates, install apps, connect to network etc.), time to recognize connected devices (printer and monitor), and time to setup Microsoft Account.
                  • Power and Battery life – power draw by component (Process/CPU/GPU/Display), hours of screen off time, sleep state transition details, temperature and thermal throttling, battery drain in a power state (screen off or screen on), processes and components requesting power use during screen off, autobrightness details, time device is plugged into AC vs. battery, battery state transitions
                  • Service responsiveness - Service URI, operation, latency, service success/error codes, and protocol.
                  • Diagnostic heartbeat – regular signal to validate the health of the diagnostics system
                  | -|Movies|Information about movie consumption functionality on the device. This information isn't intended to capture user viewing, listening, or habits.
                  • Video Width, height, color pallet, encoding (compression) type, and encryption type
                  • Instructions for how to stream content for the user - the smooth streaming manifest of chunks of content files that must be pieced together to stream the content based on screen resolution and bandwidth
                  • URL for a specific two-second chunk of content if there is an error
                  • Full screen viewing mode details| -|Music & TV|Information about music and TV consumption on the device. This information isn't intended to capture user viewing, listening, or habits.
                    • Service URL for song being downloaded from the music service – collected when an error occurs to facilitate restoration of service
                    • Content type (video, audio, surround audio)
                    • Local media library collection statistics - number of purchased tracks, number of playlists
                    • Region mismatch - User OS Region, and Xbox Live region
                    | -|Reading|Information about reading consumption functionality on the device. This information isn't intended to capture user viewing, listening, or habits.
                    • App accessing content and status and options used to open a Microsoft Store book
                    • Language of the book
                    • Time spent reading content
                    • Content type and size details
                    | -|Photos App|Information about photos usage on the device. This information isn't intended to capture user viewing, listening, or habits.
                    • File source data - local, SD card, network device, and OneDrive
                    • Image & video resolution, video length, file sizes types and encoding
                    • Collection view or full screen viewer use and duration of view
                  | -|On-device file query | Information about local search activity on the device such as:
                  • Type of query issued and index type (ConstraintIndex, SystemIndex)
                  • Number of items requested and retrieved
                  • File extension of search result user interacted with
                  • Launched item kind, file extension, index of origin, and the App ID of the opening app.
                  • Name of process calling the indexer and time to service the query.
                  • A hash of the search scope (file, Outlook, OneNote, IE history)
                  • The state of the indices (fully optimized, partially optimized, being built)
                  | -|Purchasing| Information about purchases made on the device such as:
                  • Product ID, edition ID, and product URI
                  • Offer details - price
                  • Order requested date/time
                  • Store client type - web or native client
                  • Purchase quantity and price
                  • Payment type - credit card type and PayPal
                  | -|Entitlements | Information about entitlements on the device such as:
                  • Service subscription status and errors
                  • DRM and license rights details - Groove subscription or OS volume license
                  • Entitlement ID, lease ID, and package ID of the install package
                  • Entitlement revocation
                  • License type (trial, offline versus online) and duration
                  • License usage session
                  | - -## Software Setup and Inventory data - -This type of data includes software installation and update information on the device. - -| Category Name | Data Examples | -| - | - | -| Installed Applications and Install History | Information about apps, drivers, update packages, or OS components installed on the device such as:
                  • App, driver, update package, or component’s Name, ID, or Package Family Name
                  • Product, SKU, availability, catalog, content, and Bundle IDs
                  • OS component, app or driver publisher, language, version and type (Win32 or UWP)
                  • Install date, method, and install directory, count of install attempts
                  • MSI package code and product code
                  • Original OS version at install time
                  • User or administrator or mandatory installation/update
                  • Installation type – clean install, repair, restore, OEM, retail, upgrade, and update
                  | -| Device update information | Information about Windows Update such as:
                  • Update Readiness analysis of device hardware, OS components, apps, and drivers (progress, status, and results)
                  • Number of applicable updates, importance, type
                  • Update download size and source - CDN or LAN peers
                  • Delay upgrade status and configuration
                  • OS uninstall and rollback status and count
                  • Windows Update server and service URL
                  • Windows Update machine ID
                  • Windows Insider build details
                  - -## Browsing History data - -**Microsoft browser data**: This type of data includes details about web browsing, the address bar, and search box performance on the device in the Microsoft browsers, such as: - -- Text typed in address bar and search box -- Text selected for Ask Cortana search -- Service response time -- Autocompleted text if there was an autocomplete -- Navigation suggestions provided based on local history and favorites -- Browser ID -- URLs (which may include search terms) -- Page title - -## Inking Typing and Speech Utterance data - -**Voice, inking, and typing**: This type of data gathers details about the voice, inking, and typing input features on the device, such as: - -- Type of pen used (highlighter, ball point, pencil), pen color, stroke height and width, and how long it is used -- Pen gestures (click, double-click, pan, zoom, rotate) -- Palm Touch x,y coordinates -- Input latency, missed pen signals, number of frames, strokes, first frame commit time, sample rate -- Ink strokes written, text before and after the ink insertion point, recognized text entered, Input language - processed to remove identifiers, sequencing information, and other data (such as email addresses and numeric values) which could be used to reconstruct the original content or associate the input to the user. -- Text input from Windows on-screen keyboards except from password fields and private sessions - processed to remove identifiers, sequencing information, and other data (such as email addresses, and numeric values) which could be used to reconstruct the original content or associate the input to the user. -- Text of speech recognition results - result codes and recognized text -- Language and model of the recognizer, System Speech language -- App ID using speech features -- Whether user is known to be a child -- Confidence and Success/Failure of speech recognition diff --git a/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md deleted file mode 100644 index 0cf4435b8a..0000000000 --- a/windows/privacy/windows-endpoints-1809-non-enterprise-editions.md +++ /dev/null @@ -1,157 +0,0 @@ ---- -title: Windows 10, version 1809, connection endpoints for non-Enterprise editions -description: Explains what Windows 10 endpoints are used in non-Enterprise editions. Specific to Windows 10, version 1809. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 06/29/2018 -ms.topic: reference ---- -# Windows 10, version 1809, connection endpoints for non-Enterprise editions - - **Applies to** - -- Windows 10 Home, version 1809 -- Windows 10 Professional, version 1809 -- Windows 10 Education, version 1809 - -In addition to the endpoints listed for [Windows 10 Enterprise](manage-windows-1809-endpoints.md), the following endpoints are available on other editions of Windows 10, version 1809. - -We used the following methodology to derive these network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the devices running idle for a week (that is, a user is not interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine was logged in using a local account and was not joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using a IPV4 network. Therefore no IPV6 traffic is reported here. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 Home - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|\*.aria.microsoft.com\* | HTTPS | Office Telemetry -|\*.dl.delivery.mp.microsoft.com\* | HTTP | Enables connections to Windows Update. -|\*.download.windowsupdate.com\* | HTTP | Used to download operating system patches and updates. -|\*.g.akamai.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use. -|\*.msn.com\* |TLSv1.2/HTTPS | Windows Spotlight related traffic -|\*.Skype.com | HTTP/HTTPS | Skype related traffic -|\*.smartscreen.microsoft.com | HTTPS | Windows Defender Smartscreen related traffic -|\*.telecommand.telemetry.microsoft.com\* | HTTPS | Used by Windows Error Reporting. -|\*cdn.onenote.net* | HTTP | OneNote related traffic -|\*displaycatalog.mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store. -|\*geo-prod.do.dsp.mp.microsoft.com\* |TLSv1.2/HTTPS | Enables connections to Windows Update. -|\*hwcdn.net* | HTTP | Used by the Highwinds Content Delivery Network to perform Windows updates. -|\*img-prod-cms-rt-microsoft-com.akamaized.net* | HTTPS | Used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps). -|\*maps.windows.com\* | HTTPS | Related to Maps application. -|\*msedge.net* | HTTPS | Used by OfficeHub to get the metadata of Office apps. -|\*nexusrules.officeapps.live.com\* | HTTPS | Office Telemetry -|\*photos.microsoft.com\* | HTTPS | Photos App related traffic -|\*prod.do.dsp.mp.microsoft.com\* |TLSv1.2/HTTPS | Used for Windows Update downloads of apps and OS updates. -|\*wac.phicdn.net* | HTTP | Windows Update related traffic -|\*windowsupdate.com\* | HTTP | Windows Update related traffic -|\*wns.windows.com\* | HTTPS, TLSv1.2 | Used for the Windows Push Notification Services (WNS). -|\*wpc.v0cdn.net* | | Windows Telemetry related traffic -|auth.gfx.ms/16.000.27934.1/OldConvergedLogin_PCore.js | | MSA related -|evoke-windowsservices-tas.msedge* | HTTPS | The following endpoint is used by the Photos app to download configuration files, and to connect to the Microsoft 365 admin center's shared infrastructure, including Office. To turn off traffic for this endpoint, either uninstall the Photos app or disable the Microsoft Store. If you disable the Microsoft store, other Store apps cannot be installed or updated. Additionally, the Microsoft Store won't be able to revoke malicious Store apps and users will still be able to open them. -|fe2.update.microsoft.com\* |TLSv1.2/HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store. -|fe3.\*.mp.microsoft.com.\* |TLSv1.2/HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store. -|fs.microsoft.com | | Font Streaming (in ENT traffic) -|g.live.com\* | HTTPS | Used by OneDrive -|iriscoremetadataprod.blob.core.windows.net | HTTPS | Windows Telemetry -|mscrl.microsoft.com | | Certificate Revocation List related traffic. -|ocsp.digicert.com\* | HTTP | CRL and OCSP checks to the issuing certificate authorities. -|officeclient.microsoft.com | HTTPS | Office related traffic. -|oneclient.sfx.ms* | HTTPS | Used by OneDrive for Business to download and verify app updates. -|purchase.mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store. -|query.prod.cms.rt.microsoft.com\* | HTTPS | Used to retrieve Windows Spotlight metadata. -|ris.api.iris.microsoft.com\* |TLSv1.2/HTTPS | Used to retrieve Windows Spotlight metadata. -|ris-prod-atm.trafficmanager.net | HTTPS | Azure traffic manager -|settings.data.microsoft.com\* | HTTPS | Used for Windows apps to dynamically update their configuration. -|settings-win.data.microsoft.com\* | HTTPS | Used for Windows apps to dynamically update their configuration. -|sls.update.microsoft.com\* |TLSv1.2/HTTPS | Enables connections to Windows Update. -|store*.dsx.mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store. -|storecatalogrevocation.storequality.microsoft.com\* | HTTPS | Used to revoke licenses for malicious apps on the Microsoft Store. -|store-images.s-microsoft.com\* | HTTP | Used to get images that are used for Microsoft Store suggestions. -|tile-service.weather.microsoft.com\* | HTTP | Used to download updates to the Weather app Live Tile. -|tsfe.trafficshaping.dsp.mp.microsoft.com\* |TLSv1.2 | Used for content regulation. -|v10.events.data.microsoft.com | HTTPS | Diagnostic Data -|wdcp.microsoft.* |TLSv1.2 | Used for Windows Defender when Cloud-based Protection is enabled. -|wd-prod-cp-us-west-1-fe.westus.cloudapp.azure.com | HTTPS | Windows Defender related traffic. -|www.bing.com* | HTTP | Used for updates for Cortana, apps, and Live Tiles. - -## Windows 10 Pro - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -| *.e-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps. | -| *.g.akamaiedge.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use. | -| *.s-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps. | -| \*.tlu.dl.delivery.mp.microsoft.com/\* | HTTP | Enables connections to Windows Update. | -| *geo-prod.dodsp.mp.microsoft.com.nsatc.net | HTTPS | Enables connections to Windows Update. | -| arc.msn.com.nsatc.net | HTTPS | Used to retrieve Windows Spotlight metadata. | -| au.download.windowsupdate.com/* | HTTP | Enables connections to Windows Update. | -| ctldl.windowsupdate.com/msdownload/update/* | HTTP | Used to download certificates that are publicly known to be fraudulent. | -| cy2.licensing.md.mp.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store. | -| cy2.settings.data.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store. | -| dm3p.wns.notify.windows.com.akadns.net | HTTPS | Used for the Windows Push Notification Services (WNS) | -| fe3.delivery.dsp.mp.microsoft.com.nsatc.net | HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store. | -| g.msn.com.nsatc.net | HTTPS | Used to retrieve Windows Spotlight metadata. | -| ipv4.login.msa.akadns6.net | HTTPS | Used for Microsoft accounts to sign in. | -| location-inference-westus.cloudapp.net | HTTPS | Used for location data. | -| modern.watson.data.microsoft.com.akadns.net | HTTPS | Used by Windows Error Reporting. | -| ocsp.digicert.com\* | HTTP | CRL and OCSP checks to the issuing certificate authorities. | -| ris.api.iris.microsoft.com.akadns.net | HTTPS | Used to retrieve Windows Spotlight metadata. | -| tile-service.weather.microsoft.com/* | HTTP | Used to download updates to the Weather app Live Tile. | -| tsfe.trafficshaping.dsp.mp.microsoft.com | HTTPS | Used for content regulation. | -| vip5.afdorigin-prod-am02.afdogw.com | HTTPS | Used to serve office 365 experimentation traffic | - - -## Windows 10 Education - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -| *.b.akamaiedge.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use. | -| *.e-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps. | -| *.g.akamaiedge.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use. | -| *.s-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps. | -| *.telecommand.telemetry.microsoft.com.akadns.net | HTTPS | Used by Windows Error Reporting. | -| *.tlu.dl.delivery.mp.microsoft.com\* | HTTP | Enables connections to Windows Update. | -| *.windowsupdate.com\* | HTTP | Enables connections to Windows Update. | -| *geo-prod.do.dsp.mp.microsoft.com | HTTPS | Enables connections to Windows Update. | -| au.download.windowsupdate.com\* | HTTP | Enables connections to Windows Update. | -| cdn.onenote.net/livetile/* | HTTPS | Used for OneNote Live Tile. | -| client-office365-tas.msedge.net/* | HTTPS | Used to connect to the Microsoft 365 admin center’s shared infrastructure, including Office. | -| config.edge.skype.com/* | HTTPS | Used to retrieve Skype configuration values.  | -| ctldl.windowsupdate.com/* | HTTP | Used to download certificates that are publicly known to be fraudulent. | -| cy2.displaycatalog.md.mp.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store. | -| cy2.licensing.md.mp.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store. | -| cy2.settings.data.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store. | -| displaycatalog.mp.microsoft.com/* | HTTPS | Used to communicate with Microsoft Store. | -| download.windowsupdate.com/* | HTTPS | Enables connections to Windows Update. | -| fe2.update.microsoft.com/* | HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store. | -| fe3.delivery.dsp.mp.microsoft.com.nsatc.net | HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store. | -| fe3.delivery.mp.microsoft.com/* | HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store. | -| g.live.com/odclientsettings/* | HTTPS | Used by OneDrive for Business to download and verify app updates. | -| g.msn.com.nsatc.net | HTTPS | Used to retrieve Windows Spotlight metadata. | -| ipv4.login.msa.akadns6.net | HTTPS | Used for Microsoft accounts to sign in. | -| licensing.mp.microsoft.com/* | HTTPS | Used for online activation and some app licensing. | -| maps.windows.com/windows-app-web-link | HTTPS | Link to Maps application | -| modern.watson.data.microsoft.com.akadns.net | HTTPS | Used by Windows Error Reporting. | -| ocos-office365-s2s.msedge.net/* | HTTPS | Used to connect to the Microsoft 365 admin center's shared infrastructure. | -| ocsp.digicert.com\* | HTTP | CRL and OCSP checks to the issuing certificate authorities. | -| oneclient.sfx.ms/* | HTTPS | Used by OneDrive for Business to download and verify app updates. | -| settings-win.data.microsoft.com/settings/* | HTTPS | Used as a way for apps to dynamically update their configuration. | -| sls.update.microsoft.com/* | HTTPS | Enables connections to Windows Update. | -| storecatalogrevocation.storequality.microsoft.com/* | HTTPS | Used to revoke licenses for malicious apps on the Microsoft Store. | -| tile-service.weather.microsoft.com/* | HTTP | Used to download updates to the Weather app Live Tile. | -| tsfe.trafficshaping.dsp.mp.microsoft.com | HTTPS | Used for content regulation. | -| vip5.afdorigin-prod-ch02.afdogw.com | HTTPS | Used to serve office 365 experimentation traffic. | -| watson.telemetry.microsoft.com/Telemetry.Request | HTTPS | Used by Windows Error Reporting. | -| bing.com/* | HTTPS | Used for updates for Cortana, apps, and Live Tiles. | diff --git a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md deleted file mode 100644 index 465c0dd961..0000000000 --- a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md +++ /dev/null @@ -1,267 +0,0 @@ ---- -title: Windows 10, version 1903, connection endpoints for non-Enterprise editions -description: Explains what Windows 10 endpoints are used in non-Enterprise editions. Specific to Windows 10, version 1903. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 06/29/2018 -ms.topic: reference ---- - -# Windows 10, version 1903, connection endpoints for non-Enterprise editions - - **Applies to** - -- Windows 10 Home, version 1903 -- Windows 10 Professional, version 1903 -- Windows 10 Education, version 1903 - -In addition to the endpoints listed for [Windows 10 Enterprise](manage-windows-1903-endpoints.md), the following endpoints are available on other non-Enterprise editions of Windows 10, version 1903. - -The following methodology was used to derive the network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user is not interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and was not joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using an IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week, but if you capture traffic for longer you may have different results. - - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 Home - -| Destination | Protocol | Description | -| ----------- | -------- | ----------- | -| \*.aria.microsoft.com\* | HTTPS | Microsoft Office Telemetry -| \*.b.akamai\*.net | HTTPS | Used to check for updates to Maps that have been downloaded for offline use -| \*.c-msedge.net | HTTP | Microsoft Office -| \*.dl.delivery.mp.microsoft.com\* | HTTP | Enables connections to Windows Update -| \*.download.windowsupdate.com\* | HTTP | Used to download operating system patches and updates -| \*.g.akamai\*.net | HTTPS | Used to check for updates to Maps that have been downloaded for offline use -| \*.login.msa.\*.net | HTTPS | Microsoft Account related -| \*.msn.com\* | TLSv1.2/HTTPS | Windows Spotlight -| \*.skype.com | HTTP/HTTPS | Skype -| \*.smartscreen.microsoft.com | HTTPS | Windows Defender Smartscreen -| \*.telecommand.telemetry.microsoft.com\* | HTTPS | Used by Windows Error Reporting -| \*cdn.onenote.net\* | HTTP | OneNote -| \*displaycatalog.\*mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store -| \*geo-prod.do.dsp.mp.microsoft.com\* | TLSv1.2/HTTPS | Enables connections to Windows Update -| \*hwcdn.net\* | HTTP | Highwinds Content Delivery Network / Windows updates -| \*img-prod-cms-rt-microsoft-com\* | HTTPS | Microsoft Store or Inbox MSN Apps image download -| \*licensing.\*mp.microsoft.com\* | HTTPS | Licensing -| \*maps.windows.com\* | HTTPS | Related to Maps application -| \*msedge.net\* | HTTPS | Used by Microsoft OfficeHub to get the metadata of Microsoft Office apps -| \*nexusrules.officeapps.live.com\* | HTTPS | Microsoft Office Telemetry -| \*photos.microsoft.com\* | HTTPS | Photos App -| \*prod.do.dsp.mp.microsoft.com* | TLSv1.2/HTTPS | Used for Windows Update downloads of apps and OS updates -| \*purchase.md.mp.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store -| \*settings.data.microsoft.com.akadns.net | HTTPS | Used for Windows apps to dynamically update their configuration -| \*wac.phicdn.net\* | HTTP | Windows Update -| \*windowsupdate.com\* | HTTP | Windows Update -| \*wns.\*windows.com\* | TLSv1.2/HTTPS | Used for the Windows Push Notification Services (WNS) -| \*wpc.v0cdn.net\* | HTTP | Windows Telemetry -| arc.msn.com | HTTPS | Spotlight -| auth.gfx.ms\* | HTTPS | MSA related -| cdn.onenote.net | HTTPS | OneNote Live Tile -| dmd.metaservices.microsoft.com\* | HTTP | Device Authentication -| e-0009.e-msedge.net | HTTPS | Microsoft Office -| e10198.b.akamaiedge.net | HTTPS | Maps application -| evoke-windowsservices-tas.msedge\* | HTTPS | Photos app -| fe2.update.microsoft.com\* | TLSv1.2/HTTPS | Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store -| fe3.\*.mp.microsoft.com.\* | TLSv1.2/HTTPS | Windows Update, Microsoft Update, and Microsoft Store services -| g.live.com\* | HTTPS | OneDrive -| go.microsoft.com | HTTP | Windows Defender -| iriscoremetadataprod.blob.core.windows.net | HTTPS | Windows Telemetry -| login.live.com | HTTPS | Device Authentication -| msagfx.live.com | HTTP | OneDrive -| ocsp.digicert.com\* | HTTP | CRL and OCSP checks to the issuing certificate authorities -| officeclient.microsoft.com | HTTPS | Microsoft Office -| oneclient.sfx.ms\* | HTTPS | Used by OneDrive for Business to download and verify app updates -| onecollector.cloudapp.aria.akadns.net | HTTPS | Microsoft Office -| ow1.res.office365.com | HTTP | Microsoft Office -| purchase.mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store -| query.prod.cms.rt.microsoft.com\* | HTTPS | Used to retrieve Windows Spotlight metadata -| ris.api.iris.microsoft.com\* | TLSv1.2/HTTPS | Used to retrieve Windows Spotlight metadata -| ris-prod-atm.trafficmanager.net | HTTPS | Azure traffic manager -| s-0001.s-msedge.net | HTTPS | Microsoft Office -| self.events.data.microsoft.com | HTTPS | Microsoft Office -| settings.data.microsoft.com\* | HTTPS | Used for Windows apps to dynamically update their configuration -| settings-win.data.microsoft.com\* | HTTPS | Used for Windows apps to dynamically update their configuration -| share.microsoft.com | HTTPS | Microsoft Store -| skypeecs-prod-usw-0.cloudapp.net | HTTPS | Microsoft Store -| sls.update.microsoft.com\* | TLSv1.2/HTTPS | Enables connections to Windows Update -| slscr.update.microsoft.com\* | HTTPS | Enables connections to Windows Update -| store*.dsx.mp.microsoft.com\* | HTTPS | Used to communicate with Microsoft Store -| storecatalogrevocation.storequality.microsoft.com | HTTPS | Microsoft Store -| storecatalogrevocation.storequality.microsoft.com\* | HTTPS | Used to revoke licenses for malicious apps on the Microsoft Store -| store-images.\*microsoft.com\* | HTTP | Used to get images that are used for Microsoft Store suggestions -| storesdk.dsx.mp.microsoft.com | HTTP | Microsoft Store -| tile-service.weather.microsoft.com\* | HTTP | Used to download updates to the Weather app Live Tile -| time.windows.com | HTTP | Microsoft Windows Time related -| tsfe.trafficshaping.dsp.mp.microsoft.com\* | TLSv1.2/HTTPS | Used for content regulation -| v10.events.data.microsoft.com | HTTPS | Diagnostic Data -| watson.telemetry.microsoft.com | HTTPS | Diagnostic Data -| wdcp.microsoft.\* | TLSv1.2, HTTPS | Used for Windows Defender when Cloud-based Protection is enabled -| wd-prod-cp-us-west-1-fe.westus.cloudapp.azure.com | HTTPS | Windows Defender -| wusofficehome.msocdn.com | HTTPS | Microsoft Office -| `www.bing.com`* | HTTP | Used for updates for Cortana, apps, and Live Tiles -| `www.msftconnecttest.com` | HTTP | Network Connection (NCSI) -| `www.office.com` | HTTPS | Microsoft Office -| adl.windows.com | HTTP | Used for compatibility database updates for Windows -| windows.policies.live.net | HTTP | OneDrive - - -## Windows 10 Pro - -| Destination | Protocol | Description | -| ----------- | -------- | ----------- | -| \*.cloudapp.azure.com | HTTPS | Azure -| \*.delivery.dsp.mp.microsoft.com.nsatc.net | HTTPS | Windows Update, Microsoft Update, and Microsoft Store services -| \*.displaycatalog.md.mp.microsoft.com.akadns.net | HTTPS | Microsoft Store -| \*.dl.delivery.mp.microsoft.com\* | HTTP | Enables connections to Windows Update -| \*.e-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps -| \*.g.akamaiedge.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use -| \*.s-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps -| \*.windowsupdate.com\* | HTTP | Enables connections to Windows Update -| \*.wns.notify.windows.com.akadns.net | HTTPS | Used for the Windows Push Notification Services (WNS) -| \*dsp.mp.microsoft.com.nsatc.net | HTTPS | Enables connections to Windows Update -| \*c-msedge.net | HTTP | Office -| a1158.g.akamai.net | HTTP | Maps application -| arc.msn.com\* | HTTP / HTTPS | Used to retrieve Windows Spotlight metadata -| blob.mwh01prdstr06a.store.core.windows.net | HTTPS | Microsoft Store -| browser.pipe.aria.microsoft.com | HTTPS | Microsoft Office -| bubblewitch3mobile.king.com | HTTPS | Bubble Witch application -| candycrush.king.com | HTTPS | Candy Crush application -| cdn.onenote.net | HTTP | Microsoft OneNote -| cds.p9u4n2q3.hwcdn.net | HTTP | Highwinds Content Delivery Network traffic for Windows updates -| client.wns.windows.com | HTTPS | Windows Notification System -| co4.telecommand.telemetry.microsoft.com.akadns.net | HTTPS | Windows Error Reporting -| config.edge.skype.com | HTTPS | Microsoft Skype -| cs11.wpc.v0cdn.net | HTTP | Windows Telemetry -| cs9.wac.phicdn.net | HTTP | Windows Update -| cy2.licensing.md.mp.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store -| cy2.purchase.md.mp.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store -| cy2.settings.data.microsoft.com.akadns.net | HTTPS | Used to communicate with Microsoft Store -| dmd.metaservices.microsoft.com.akadns.net | HTTP | Device Authentication -| e-0009.e-msedge.net | HTTPS | Microsoft Office -| e10198.b.akamaiedge.net | HTTPS | Maps application -| fe3.update.microsoft.com | HTTPS | Windows Update -| g.live.com | HTTPS | Microsoft OneDrive -| g.msn.com.nsatc.net | HTTPS | Used to retrieve Windows Spotlight metadata -| geo-prod.do.dsp.mp.microsoft.com | HTTPS | Windows Update -| go.microsoft.com | HTTP | Windows Defender -| iecvlist.microsoft.com | HTTPS | Microsoft Edge -| img-prod-cms-rt-microsoft-com.akamaized.net | HTTP / HTTPS | Microsoft Store -| ipv4.login.msa.akadns6.net | HTTPS | Used for Microsoft accounts to sign in -| licensing.mp.microsoft.com | HTTP | Licensing -| location-inference-westus.cloudapp.net | HTTPS | Used for location data -| login.live.com | HTTP | Device Authentication -| maps.windows.com | HTTP | Maps application -| modern.watson.data.microsoft.com.akadns.net | HTTPS | Used by Windows Error Reporting -| msagfx.live.com | HTTP | OneDrive -| nav.smartscreen.microsoft.com | HTTPS | Windows Defender -| ocsp.digicert.com\* | HTTP | CRL and OCSP checks to the issuing certificate authorities -| oneclient.sfx.ms | HTTP | OneDrive -| ris.api.iris.microsoft.com.akadns.net | HTTPS | Used to retrieve Windows Spotlight metadata -| ris-prod-atm.trafficmanager.net | HTTPS | Azure -| s2s.config.skype.com | HTTP | Microsoft Skype -| settings-win.data.microsoft.com | HTTPS | Application settings -| share.microsoft.com | HTTPS | Microsoft Store -| skypeecs-prod-usw-0.cloudapp.net | HTTPS | Microsoft Skype -| slscr.update.microsoft.com | HTTPS | Windows Update -| storecatalogrevocation.storequality.microsoft.com | HTTPS | Microsoft Store -| store-images.microsoft.com | HTTPS | Microsoft Store -| tile-service.weather.microsoft.com/\* | HTTP | Used to download updates to the Weather app Live Tile -| time.windows.com | HTTP | Windows time -| tsfe.trafficshaping.dsp.mp.microsoft.com | HTTPS | Used for content regulation -| v10.events.data.microsoft.com\* | HTTPS | Microsoft Office -| vip5.afdorigin-prod-am02.afdogw.com | HTTPS | Used to serve office 365 experimentation traffic -| watson.telemetry.microsoft.com | HTTPS | Telemetry -| wdcp.microsoft.com | HTTPS | Windows Defender -| wusofficehome.msocdn.com | HTTPS | Microsoft Office -| `www.bing.com` | HTTPS | Cortana and Search -| `www.microsoft.com` | HTTP | Diagnostic -| `www.msftconnecttest.com` | HTTP | Network connection -| `www.office.com` | HTTPS | Microsoft Office - - - -## Windows 10 Education - -| Destination | Protocol | Description | -| ----------- | -------- | ----------- | -| \*.b.akamaiedge.net | HTTPS | Used to check for updates to maps that have been downloaded for offline use -| \*.c-msedge.net | HTTP | Used by OfficeHub to get the metadata of Office apps -| \*.dl.delivery.mp.microsoft.com\* | HTTP | Windows Update -| \*.e-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps -| \*.g.akamaiedge.net | HTTPS | Used to check for updates to Maps that have been downloaded for offline use -| \*.licensing.md.mp.microsoft.com.akadns.net | HTTPS | Microsoft Store -| \*.settings.data.microsoft.com.akadns.net | HTTPS | Microsoft Store -| \*.skype.com\* | HTTPS | Used to retrieve Skype configuration values -| \*.smartscreen\*.microsoft.com | HTTPS | Windows Defender -| \*.s-msedge.net | HTTPS | Used by OfficeHub to get the metadata of Office apps -| \*.telecommand.telemetry.microsoft.com\* | HTTPS | Used by Windows Error Reporting -| \*.wac.phicdn.net | HTTP | Windows Update -| \*.windowsupdate.com\* | HTTP | Windows Update -| \*.wns.windows.com | HTTPS | Windows Notifications Service -| \*.wpc.\*.net | HTTP | Diagnostic Data -| \*displaycatalog.md.mp.microsoft.com.akadns.net | HTTPS | Microsoft Store -| \*dsp.mp.microsoft.com | HTTPS | Windows Update -| a1158.g.akamai.net | HTTP | Maps -| a122.dscg3.akamai.net | HTTP | Maps -| a767.dscg3.akamai.net | HTTP | Maps -| au.download.windowsupdate.com\* | HTTP | Windows Update -| bing.com/\* | HTTPS | Used for updates for Cortana, apps, and Live Tiles -| blob.dz5prdstr01a.store.core.windows.net | HTTPS | Microsoft Store -| browser.pipe.aria.microsoft.com | HTTP | Used by OfficeHub to get the metadata of Office apps -| cdn.onenote.net/livetile/\* | HTTPS | Used for OneNote Live Tile -| cds.p9u4n2q3.hwcdn.net | HTTP | Used by the Highwinds Content Delivery Network to perform Windows updates -| client-office365-tas.msedge.net/\* | HTTPS | Microsoft 365 admin center and Office in a browser -| ctldl.windowsupdate.com\* | HTTP | Used to download certificates that are publicly known to be fraudulent -| displaycatalog.mp.microsoft.com/\* | HTTPS | Microsoft Store -| dmd.metaservices.microsoft.com\* | HTTP | Device Authentication -| download.windowsupdate.com\* | HTTPS | Windows Update -| evoke-windowsservices-tas.msedge.net | HTTPS | Photo app -| fe2.update.microsoft.com\* | HTTPS | Windows Update, Microsoft Update, Microsoft Store services -| fe3.delivery.dsp.mp.microsoft.com.nsatc.net | HTTPS | Windows Update, Microsoft Update, Microsoft Store services -| fe3.delivery.mp.microsoft.com\* | HTTPS | Windows Update, Microsoft Update, Microsoft Store services -| g.live.com\* | HTTPS | Used by OneDrive for Business to download and verify app updates -| g.msn.com.nsatc.net | HTTPS | Used to retrieve Windows Spotlight metadata -| go.microsoft.com | HTTP | Windows Defender -| iecvlist.microsoft.com | HTTPS | Microsoft Edge browser -| ipv4.login.msa.akadns6.net | HTTPS | Used for Microsoft accounts to sign in -| licensing.mp.microsoft.com\* | HTTPS | Used for online activation and some app licensing -| login.live.com | HTTPS | Device Authentication -| maps.windows.com/windows-app-web-link | HTTPS | Maps application -| modern.watson.data.microsoft.com.akadns.net | HTTPS | Used by Windows Error Reporting -| msagfx.live.com | HTTPS | OneDrive -| ocos-office365-s2s.msedge.net/\* | HTTPS | Used to connect to the Microsoft 365 admin center's shared infrastructure -| ocsp.digicert.com\* | HTTP | CRL and OCSP checks to the issuing certificate authorities -| oneclient.sfx.ms/\* | HTTPS | Used by OneDrive for Business to download and verify app updates -| onecollector.cloudapp.aria.akadns.net | HTTPS | Microsoft Office -| settings-win.data.microsoft.com/settings/\* | HTTPS | Used as a way for apps to dynamically update their configuration -| share.microsoft.com | HTTPS | Microsoft Store -| skypeecs-prod-usw-0.cloudapp.net | HTTPS | Skype -| sls.update.microsoft.com\* | HTTPS | Windows Update -| storecatalogrevocation.storequality.microsoft.com\* | HTTPS | Used to revoke licenses for malicious apps on the Microsoft Store -| tile-service.weather.microsoft.com\* | HTTP | Used to download updates to the Weather app Live Tile -| tsfe.trafficshaping.dsp.mp.microsoft.com | HTTPS | Windows Update -| v10.events.data.microsoft.com\* | HTTPS | Diagnostic Data -| vip5.afdorigin-prod-ch02.afdogw.com | HTTPS | Used to serve Office 365 experimentation traffic -| watson.telemetry.microsoft.com\* | HTTPS | Used by Windows Error Reporting -| wdcp.microsoft.com | HTTPS | Windows Defender -| wd-prod-cp-us-east-1-fe.eastus.cloudapp.azure.com | HTTPS | Azure -| wusofficehome.msocdn.com | HTTPS | Microsoft Office -| `www.bing.com` | HTTPS | Cortana and Search -| `www.microsoft.com` | HTTP | Diagnostic Data -| `www.microsoft.com/pkiops/certs/`* | HTTP | CRL and OCSP checks to the issuing certificate authorities -| `www.msftconnecttest.com` | HTTP | Network Connection -| `www.office.com` | HTTPS | Microsoft Office diff --git a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md deleted file mode 100644 index 90d651940c..0000000000 --- a/windows/privacy/windows-endpoints-1909-non-enterprise-editions.md +++ /dev/null @@ -1,205 +0,0 @@ ---- -title: Windows 10, version 1909, connection endpoints for non-Enterprise editions -description: Explains what Windows 10 endpoints are used in non-Enterprise editions. Specific to Windows 10, version 1909. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 07/20/2020 -ms.topic: reference ---- -# Windows 10, version 1909, connection endpoints for non-Enterprise editions - - **Applies to** - -- Windows 10 Home, version 1909 -- Windows 10 Professional, version 1909 -- Windows 10 Education, version 1909 - -In addition to the endpoints listed for [Windows 10 Enterprise](manage-windows-2004-endpoints.md), the following endpoints are available on other non-Enterprise editions of Windows 10, version 1909. - -The following methodology was used to derive the network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user is not interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and was not joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using a IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week. If you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 Home - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|arc.msn.com|HTTP/TLS v1.2|Windows Spotlight -|api.asm.skype.com|TLS v1.2|Used to retrieve Skype configuration values -|browser.pipe.aria.microsoft.com|HTTPS|Used to retrieve Skype configuration values -|ctldl.windowsupdate.com/*|HTTP|Certificate Trust List -|client.wns.windows.com|HTTP|Used for the Windows Push Notification Service(WNS) -|config.edge.skype.com|HTTP/TLS v1.2|Used to retrieve Skype configuration values -|dmd.metaservices.microsoft.com|HTTP|Device metadata -|config.teams.microsoft.com|HTTPS|Used for Microsoft Teams application -|*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store -|*.tlu.dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store -|\*displaycatalog.mp.microsoft.com|HTTP/TLS v1.2|Used to communicate with Microsoft Store -|evoke-windowsservices-tas.msedge.net|HTTP/TLS v1.2|Used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser -|fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Enables connections to Windows Update, Microsoft Update, and the online services of the Store -|fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Used to download operating system patches, updates, and apps from Microsoft Store -|go.microsoft.com|HTTP|Windows Defender and/or Microsoft forward link redirection service (FWLink) -|g.live.com|HTTP|OneDrive -|checkappexec.microsoft.com|HTTPS|Used for Windows Defender Smartscreen reporting and notifications -|*.prod.do.dsp.mp.microsoft.com|HTTP/TLS v1.2|Windows Update -|*.au.download.windowsupdate.com|HTTP|Windows Update -|download.windowsupdate.com|HTTP|Windows Update -|inference.location.live.net|TLS v1.2|Used for Location Data -|iecvlist.microsoft.com|HTTP|This endpoint is related to Microsoft Edge -|login.live.com|HTTPS/TLS v1.2|Device Authentication -|logincdn.msauth.net|HTTPS|OneDrive -|licensing.mp.microsoft.com|HTTP/TLS v1.2|Licensing -|maps.windows.com|TLS v1.2|Used to check for updates to maps that have been downloaded for offline use -|mobile.pipe.aria.microsoft.com|HTTP|Office Telemetry -|nav.smartscreen.microsoft.com|HTTP|Used for Windows Defender SmartScreen reporting and notifications -|outlook.office365.com|HTTP|Used to connect to the Microsoft 365 admin center's shared infrastructure, including Office in a browser -|ocsp.digicert.com|HTTP|Used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available -|oneclient.sfx.ms|HTTPS|Used by OneDrive for Business to download and verify app updates -|img-prod-cms-rt-microsoft-com.akamaized.net|HTTP|Used to communicate with Microsoft Store -|manage.devcenter.microsoft.com|HTTP/TLS v1.2|Used to get Microsoft Store analytics -|ris.api.iris.microsoft.com|HTTPS|Used to retrieve Windows Spotlight metadata that describes content -|settings-win.data.microsoft.com|HTTPS/TLS v1.2|Used for Windows apps to dynamically update their configuration -|smartscreen-prod.microsoft.com|HTTP|Used for Windows Defender SmartScreen reporting and notifications -|*.blob.core.windows.net|HTTP/TLS v1.2|Windows Telemetry -|storage.live.com|HTTP/TLS v1.2|OneDrive -|skydrivesync.policies.live.net|TLS v1.2|OneDrive -|dm2302.settings.live.net|HTTP|OneDrive -|slscr.update.microsoft.com|HTTPS/TLS V1.2|Windows Update -|tile-service.weather.microsoft.com|HTTP|Used for the Weather app -|tsfe.trafficshaping.dsp.mp.microsoft.com|HTTP|This endpoint is used for content regulation -|watson.telemetry.microsoft.com*|HTTPS/TLS v1.2|Diagnostic Data -|v10.events.data.microsoft.com/onecollector/1.0/|HTTPS|Microsoft Office -|v10.events.data.microsoft.com|HTTPS/TLS v1.2|Used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service -|www.bing.com|HTTPS/TLS v1.2|Cortana and Live Tiles -|www.msftconnecttest.com|HTTP|Network Connection Status Indicator (NCSI) -|wdcp.microsoft.com|HTTPS|Used for Windows Defender when Cloud-based Protection is enabled -|activity.windows.com|TLSV1.2|Used by Activity Feed Service which enables multiple cross-device data roaming scenarios on Windows -|adl.windows.com|HTTP|Used for compatibility database updates for Windows -|spclient.wg.spotify.com|TLSV1.2|Used for Spotify Live Tile -|cs.dds.microsoft.com|TLSV1.2|Used by Device Directory Service to keep track of user-device associations and storing metadata about the devices. - -## Windows 10 Pro - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|*.prod.do.dsp.mp.microsoft.com|HTTP/TLS v1.2|Windows Update -|api.onedrive.com|HTTP|OneDrive -|smartscreen-prod.microsoft.com|HTTP|Used for Windows Defender SmartScreen reporting and notifications -|nav.smartscreen.microsoft.com|HTTPS/TLS v1.2|Windows Defender -|*.update.microsoft.com|HTTP|Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store -|browser.pipe.aria.microsoft.com|HTTPS|Used to retrieve Skype configuration values -|*.windowsupdate.com|HTTP|Used to download operating system patches and updates -|*.wns.windows.com|TLS v1.2|Used for the Windows Push Notification Services (WNS) -|*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft Store -|c-ring.msedge.net|TLS v1.2|Cortana and Live Tiles -|a-ring.msedge.net|TLS v1.2|Cortana and Live Tiles -|*storecatalogrevocation.storequality.microsoft.com|HTTP/TLS v1.2|Used to revoke licenses for malicious apps on the Microsoft Store -|arc.msn.com|HTTP/TLS v1.2|Windows Spotlight -|*.blob.core.windows.net|HTTP/TLS v1.2|Windows Telemetry -|cdn.onenote.net|HTTPS/TLS v1.2|OneNote Live Tile -|checkappexec.microsoft.com|HTTPS|Used for Windows Defender SmartScreen reporting and notifications -|config.edge.skype.com|HTTP/TLS v1.2|Used to retrieve Skype configuration values -|config.teams.microsoft.com|HTTPS|Used for Microsoft Teams application -|ctldl.windowsupdate.com|HTTP|Used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available -|*displaycatalog.mp.microsoft.com|HTTP/TLS v1.2|Microsoft Store -|fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update -|fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Windows Update -|slscr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update -|evoke-windowsservices-tas.msedge.net|HTTPS/TLS v1.2|Used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser -|fp.msedge.net|HTTPS/TLS v1.2|Cortana and Live Tiles -|fp-vp.azureedge.net|TLS v1.2|Cortana and Live Tiles -|g.live.com|TLS v1.2|OneDrive -|go.microsoft.com|HTTP|Windows Defender and/or Microsoft forward link redirection service (FWLink) -|iecvlist.microsoft.com|HTTP|Microsoft Edge -|inference.location.live.net|TLS v1.2|Used for Location Data -|img-prod-cms-rt-microsoft-com.akamaized.net|HTTP|Used to communicate with Microsoft Store -|licensing.mp.microsoft.com*|HTTP/TLS v1.2|Licensing -|login.live.com|HTTPS/TLS v1.2|Device Authentication -|logincdn.msauth.net|HTTPS|Used for Microsoft accounts to sign in -|manage.devcenter.microsoft.com|HTTP/TLS v1.2|Microsoft Store analytics -|maps.windows.com|TLS v1.2|Related to Maps application -|ocsp.digicert.com|HTTP|Used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available -|ocsp.msocsp.com|HTTP|Used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available -|oneclient.sfx.ms|HTTPS|Used by OneDrive for Business to download and verify app updates -|mobile.pipe.aria.microsoft.com|HTTP|Office Telemetry -|ris.api.iris.microsoft.com|TLS v1.2|Windows Spotlight -|settings-win.data.microsoft.com|HTTPS/TLS v1.2|Used for Windows apps to dynamically update their configuration -|spo-ring.msedge.net|TLSv1.2|Cortana and Live Tiles -|telecommand.telemetry.microsoft.com|TLS v1.2|Used by Windows Error Reporting -|tile-service.weather.microsoft.com|HTTP|Used for the Weather app -|tsfe.trafficshaping.dsp.mp.microsoft.com|HTTPS|Used for content regulation -|v10.events.data.microsoft.com/onecollector/1.0/|HTTPS/TLS v1.2|Diagnostic Data -|v10.events.data.microsoft.com|HTTPS/TLS v1.2|Used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service -|watson.telemetry.microsoft.com*|HTTPS/TLS v1.2|Used by Windows Error Reporting -|wdcp.microsoft.com|HTTPS|Used for Windows Defender when Cloud-based Protection is enabled -|www.bing.com|HTTPS/TLS v1.2|Cortana and Live Tiles -|www.msftconnecttest.com|HTTP|Network Connection Status Indicator (NCSI) -|outlook.office365.com|HTTP|Microsoft Office -|storage.live.com|HTTP/TLS v1.2|OneDrive -|skydrivesync.policies.live.net|TLS v1.2|OneDrive -|windows.policies.live.net|HTTP|OneDrive -|activity.windows.com|TLSV1.2|Used by Activity Feed Service which enables multiple cross-device data roaming scenarios on Windows -|adl.windows.com|HTTP|Used for compatibility database updates for Windows -|spclient.wg.spotify.com|TLSV1.2|Used for Spotify Live Tile -|cs.dds.microsoft.com|TLSV1.2|Used by Device Directory Service to keep track of user-device associations and storing metadata about the devices. - -## Windows 10 Education - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|arc.msn.com|HTTPS/TLS v1.2|Windows Spotlight -|*.dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|client.wns.windows.com|TLS v1.2|Used for the Windows Push Notification Services (WNS) -|*storecatalogrevocation.storequality.microsoft.com|TLS v1.2|Used to revoke licenses for malicious apps on the Microsoft Store -|ctldl.windowsupdate.com|HTTP|Certificate Trust List -|dmd.metaservices.microsoft.com|HTTP|Device metadata -|Inference.location.live.net|TLS v1.2|Location -|oneclient.sfx.ms|HTTPS|OneDrive -|storage.live.com|HTTP/TLS v1.2|OneDrive -|skydrivesync.policies.live.net|TLS v1.2|OneDrive -|slscr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update -|fe2cr.update.microsoft.com|HTTPS/TLS v1.2|Windows Update -|fe3cr.delivery.mp.microsoft.com|HTTPS/TLS v1.2|Windows Update -|tsfe.trafficshaping.dsp.mp.microsoft.com|HTTP/TLS v1.2|Windows Update -|officehomeblobs.blob.core.windows.net|HTTP|Windows Telemetry -|\*displaycatalog.mp.microsoft.com|HTTP/TLS v1.2|Microsoft Store -|img-prod-cms-rt-microsoft-com.akamaized.net|HTTP|Used to communicate with Microsoft Store -|config.teams.microsoft.com|HTTPS|Teams -|api.asm.skype.com|TLS v1.2|Used to retrieve Skype configuration values -|config.edge.skype.com|HTTP/TLS v1.2|Used to retrieve Skype configuration values -|logincdn.msauth.net|HTTPS|OneDrive -|iecvlist.microsoft.com|HTTP|Microsoft Edge -|download.windowsupdate.com|HTTP|Windows Update -|checkappexec.microsoft.com|HTTPS|Windows Defender -|evoke-windowsservices-tas.msedge.net|HTTPS/TLS v1.2|Photos app -|g.live.com|TLS v1.2|OneDrive -|go.microsoft.com|HTTP|Windows Defender -|licensing.mp.microsoft.com|HTTP/TLS v1.2|Licensing -|login.live.com|HTTPS/TLS v1.2|Device Authentication -|manage.devcenter.microsoft.com|TLS v1.2|Microsoft Store analytics -|ocsp.digicert.com|HTTP|CRL and OCSP checks to the issuing certificate authorities -|ris.api.iris.microsoft.com|TLS v1.2|Windows spotlight -|telecommand.telemetry.microsoft.com|TLS v1.2|Used by Windows Error Reporting -|tile-service.weather.microsoft.com|HTTP|Used to download updates to the Weather app Live Tile -|v10.events.data.microsoft.com|HTTPS/TLS v1.2|Diagnostic Data -|V10.events.data.microsoft.com/onecollector/1.0/|HTTPS|Diagnostic Data -|Watson.telemetry.microsoft.com/telemetry.request|HTTPS|Diagnostic Data -|watson.telemetry.microsoft.com|HTTPS|Diagnostic Data -|outlook.office365.com|HTTP|Microsoft Office -|www.bing.com|TLS v1.2|Used for updates for Cortana, apps, and Live Tiles -|www.msftconnecttest.com|HTTP|Network Connection (NCSI) -|adl.windows.com|HTTP|Used for compatibility database updates for Windows diff --git a/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md b/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md deleted file mode 100644 index bfe4a21c48..0000000000 --- a/windows/privacy/windows-endpoints-2004-non-enterprise-editions.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -title: Windows 10, version 2004, connection endpoints for non-Enterprise editions -description: Explains what Windows 10 endpoints are used in non-Enterprise editions. Specific to Windows 10, version 2004. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 05/11/2020 -ms.topic: reference ---- -# Windows 10, version 2004, connection endpoints for non-Enterprise editions - - **Applies to** - -- Windows 10 Home, version 2004 -- Windows 10 Professional, version 2004 -- Windows 10 Education, version 2004 - -In addition to the endpoints listed for [Windows 10 Enterprise](manage-windows-2004-endpoints.md), the following endpoints are available on other non-Enterprise editions of Windows 10, version 2004. - -The following methodology was used to derive the network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user is not interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and was not joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using a IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week. If you capture traffic for longer you may have different results. - - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 Home - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|*.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|*.prod.do.dsp.mp.microsoft.com|TLSv1.2|Windows Update -|*.smartscreen.microsoft.com|HTTPS|Windows Defender SmartScreen -|*.smartscreen-prod.microsoft.com|HTTPS|Windows Defender SmartScreen -|*.update.microsoft.com|TLSv1.2|Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store -|*.windowsupdate.com|HTTP|Used to download operating system patches and updates -|*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|*storecatalogrevocation.storequality.microsoft.com|TLSv1.2|Used to revoke licenses for malicious apps on the Microsoft Store -|arc.msn.com|TLSv1.2|Windows Spotlight -|cdn.onenote.net|HTTPS|OneNote -|config.edge.skype.com|HTTPS|Skype -|config.teams.microsoft.com|HTTPS|Skype -|crl.microsoft.com|HTTPS|Skype -|ctldl.windowsupdate.com|HTTP|Certificate Trust List -|da.xboxservices.com|HTTPS|Microsoft Edge -|*displaycatalog.mp.microsoft.com|HTTPS|Microsoft Store -|dmd.metaservices.microsoft.com|HTTP|Device Authentication -|evoke-windowsservices-tas.msedge.net|TLSv1.2|Photos app -|fs.microsoft.com|TLSv1.2|Maps application -|g.live.com|TLSv1.2|OneDrive -|go.microsoft.com|HTTPS|Windows Defender -|img-prod-cms-rt-microsoft-com|TLSv1.2|This endpoint is related to Microsoft Edge -|licensing.mp.microsoft.com|HTTPS|Licensing -|login.live.com|TLSv1.2|Device Authentication -|logincdn.msauth.net|TLSv1.2|Device Authentication -|manage.devcenter.microsoft.com|TLSv1.2|Microsoft Store analytics -|maps.windows.com|TLSv1.2|Related to Maps application -|ocsp.digicert.com|HTTPS|CRL and OCSP checks to the issuing certificate authorities -|oneclient.sfx.ms|HTTPS|Used by OneDrive for Business to download and verify app updates -|pipe.aria.microsoft.com|HTTPS|Used to retrieve Skype configuration values -|ris.api.iris.microsoft.com|TLSv1.2|Windows Telemetry -|settings-win.data.microsoft.com|TLSv1.2|Used for Windows apps to dynamically update their configuration -|storesdk.dsx.mp.microsoft.com|HTTPS|Used to communicate with Microsoft Store -|telecommand.telemetry.microsoft.com|TLSv1.2|Used by Windows Error Reporting -|tile-service.weather.microsoft.com|HTTPS|Used to download updates to the Weather app Live Tile -|tsfe.trafficshaping.dsp.mp.microsoft.com|TLSv1.2|Used for content regulation -|v10.events.data.microsoft.com|TLSv1.2|Diagnostic Data -|v20.events.data.microsoft.com|TLSv1.2|Diagnostic Data -|watson.telemetry.microsoft.com|HTTPS|Diagnostic Data -|wdcp.microsoft.com|TLSv1.2|Used for Windows Defender when Cloud-based Protection is enabled -|www.bing.com|TLSv1.2|Used for updates for Cortana, apps, and Live Tiles -|www.msftconnecttest.com|HTTP|Network Connection (NCSI) -|www.office.com|HTTPS|Microsoft Office - - -## Windows 10 Pro - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|*.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|*.prod.do.dsp.mp.microsoft.com|TLSv1.2|Windows Update -|*.smartscreen.microsoft.com|HTTPS|Windows Defender SmartScreen -|*.smartscreen-prod.microsoft.com|HTTPS|Windows Defender SmartScreen -|*.update.microsoft.com|TLSv1.2|Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store -|*.windowsupdate.com|HTTP|Used to download operating system patches and updates -|*.wns.windows.com|TLSv1.2|Used for the Windows Push Notification Services (WNS) -|*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|*msn-com.akamaized.net|HTTPS|This endpoint is related to Microsoft Edge -|*ring.msedge.net|HTTPS|Used by Microsoft OfficeHub to get the metadata of Microsoft Office apps -|*storecatalogrevocation.storequality.microsoft.com|TLSv1.2|Used to revoke licenses for malicious apps on the Microsoft Store -|arc.msn.com|TLSv1.2|Windows Spotlight -|blobs.officehome.msocdn.com|HTTPS|OneNote -|cdn.onenote.net|HTTPS|OneNote -|checkappexec.microsoft.com|HTTPS|OneNote -|config.edge.skype.com|HTTPS|Skype -|config.teams.microsoft.com|HTTPS|Skype -|crl.microsoft.com|HTTPS|Skype -|ctldl.windowsupdate.com|HTTP|Certificate Trust List -|d2i2wahzwrm1n5.cloudfront.net|HTTPS|Microsoft Edge -|da.xboxservices.com|HTTPS|Microsoft Edge -|*displaycatalog.mp.microsoft.com|HTTPS|Microsoft Store -|dlassets-ssl.xboxlive.com|HTTPS|Xbox Live -|dmd.metaservices.microsoft.com|HTTP|Device Authentication -|evoke-windowsservices-tas.msedge.net|TLSv1.2|Photos app -|fp.msedge.net|HTTPS|Cortana and Live Tiles -|fs.microsoft.com|TLSv1.2|Maps application -|g.live.com|TLSv1.2|OneDrive -|go.microsoft.com|HTTPS|Windows Defender -|img-prod-cms-rt-microsoft-com*|TLSv1.2|This endpoint is related to Microsoft Edge -|licensing.mp.microsoft.com|HTTPS|Licensing -|login.live.com|TLSv1.2|Device Authentication -|manage.devcenter.microsoft.com|TLSv1.2|Microsoft Store analytics -|maps.windows.com|TLSv1.2|Related to Maps application -|ocsp.digicert.com|HTTPS|CRL and OCSP checks to the issuing certificate authorities -|oneclient.sfx.ms|HTTPS|Used by OneDrive for Business to download and verify app updates -|pipe.aria.microsoft.com|HTTPS|Used to retrieve Skype configuration values -|ris.api.iris.microsoft.com|TLSv1.2|Windows Telemetry -|s1325.t.eloqua.com|HTTPS|Microsoft Edge -|self.events.data.microsoft.com|HTTPS|Microsoft Office -|settings-win.data.microsoft.com|TLSv1.2|Used for Windows apps to dynamically update their configuration -|store-images.*microsoft.com|HTTPS|Used to get images that are used for Microsoft Store suggestions -|storesdk.dsx.mp.microsoft.com|HTTPS|Microsoft Store -|telecommand.telemetry.microsoft.com|TLSv1.2|Used by Windows Error Reporting -|tile-service.weather.microsoft.com|HTTPS|Used to download updates to the Weather app Live Tile -|time.windows.com|HTTPS|Fetch the time -|tsfe.trafficshaping.dsp.mp.microsoft.com|HTTPS|The following endpoint is used for content regulation -|v10.events.data.microsoft.com|TLSv1.2|Diagnostic Data -|watson.telemetry.microsoft.com|HTTPS|Diagnostic Data -|wdcp.microsoft.com|TLSv1.2|Used for Windows Defender when Cloud-based Protection is enabled -|www.bing.com|TLSv1.2|Used for updates for Cortana, apps, and Live Tiles -|www.msftconnecttest.com|HTTP|Network Connection (NCSI) -|www.msn.com|HTTPS|Network Connection (NCSI) -|www.office.com|HTTPS|Microsoft Office - - -## Windows 10 Education - -| **Destination** | **Protocol** | **Description** | -| --- | --- | --- | -|*.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|*.prod.do.dsp.mp.microsoft.com|TLSv1.2|Windows Update -|*.smartscreen.microsoft.com|HTTPS|Windows Defender SmartScreen -|*.smartscreen-prod.microsoft.com|HTTPS|Windows Defender SmartScreen -|*.update.microsoft.com|TLSv1.2|Enables connections to Windows Update, Microsoft Update, and the online services of Microsoft Store -|*.windowsupdate.com|HTTP|Used to download operating system patches and updates -|*.wns.windows.com|TLSv1.2|Used for the Windows Push Notification Services (WNS) -|*dl.delivery.mp.microsoft.com|HTTP|Used to download operating system patches, updates, and apps from Microsoft -|*ring.msedge.net|HTTPS|Used by Microsoft OfficeHub to get the metadata of Microsoft Office apps -|*storecatalogrevocation.storequality.microsoft.com|TLSv1.2|Used to revoke licenses for malicious apps on the Microsoft Store -|arc.msn.com|TLSv1.2|Windows Spotlight -|blobs.officehome.msocdn.com|HTTPS|OneNote -|cdn.onenote.net|HTTPS|OneNote -|checkappexec.microsoft.com|HTTPS|OneNote -|config.edge.skype.com|HTTPS|Skype -|config.teams.microsoft.com|HTTPS|Skype -|crl.microsoft.com|HTTPS|Skype -|ctldl.windowsupdate.com|HTTP|Certificate Trust List -|da.xboxservices.com|HTTPS|Microsoft Edge -|dmd.metaservices.microsoft.com|HTTP|Device Authentication -|evoke-windowsservices-tas.msedge.net|TLSv1.2|Photos app -|fp.msedge.net|HTTPS|Cortana and Live Tiles -|fs.microsoft.com|TLSv1.2|Maps application -|g.live.com|TLSv1.2|OneDrive -|go.microsoft.com|HTTPS|Windows Defender -|licensing.mp.microsoft.com|HTTPS|Licensing -|login.live.com|TLSv1.2|Device Authentication -|logincdn.msauth.net|HTTPS|Device Authentication -|manage.devcenter.microsoft.com|TLSv1.2|Microsoft Store analytics -|ocsp.digicert.com|HTTPS|CRL and OCSP checks to the issuing certificate authorities -|ocsp.msocsp.com|HTTPS|CRL and OCSP checks to the issuing certificate authorities -|ow1.res.office365.com|HTTPS|Microsoft Office -|pipe.aria.microsoft.com|HTTPS|Used to retrieve Skype configuration values -|ris.api.iris.microsoft.com|TLSv1.2|Windows Telemetry -|s1325.t.eloqua.com|HTTPS|Microsoft Edge -|settings-win.data.microsoft.com|TLSv1.2|Used for Windows apps to dynamically update their configuration -|telecommand.telemetry.microsoft.com|TLSv1.2|Used by Windows Error Reporting -|tile-service.weather.microsoft.com|HTTPS|Used to download updates to the Weather app Live Tile -|v10.events.data.microsoft.com|TLSv1.2|Diagnostic Data -|v20.events.data.microsoft.com|HTTPS|Diagnostic Data -|watson.telemetry.microsoft.com|HTTPS|Diagnostic Data -|wdcp.microsoft.com|TLSv1.2|Used for Windows Defender when Cloud-based Protection is enabled -|www.bing.com|TLSv1.2|Used for updates for Cortana, apps, and Live Tiles -|www.microsoft.com|HTTP|Connected User Experiences and Telemetry, Microsoft Data Management service -|www.msftconnecttest.com|HTTP|Network Connection (NCSI) -|www.office.com|HTTPS|Microsoft Office diff --git a/windows/privacy/windows-endpoints-20H2-non-enterprise-editions.md b/windows/privacy/windows-endpoints-20H2-non-enterprise-editions.md deleted file mode 100644 index 2f2d8eb8f3..0000000000 --- a/windows/privacy/windows-endpoints-20H2-non-enterprise-editions.md +++ /dev/null @@ -1,256 +0,0 @@ ---- -title: Windows 10, version 20H2, connection endpoints for non-Enterprise editions -description: Explains what Windows 10 endpoints are used in non-Enterprise editions. Specific to Windows 10, version 20H2. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 12/17/2020 -ms.topic: reference ---- -# Windows 10, version 20H2, connection endpoints for non-Enterprise editions - - **Applies to** - -- Windows 10 Home, version 20H2 -- Windows 10 Professional, version 20H2 -- Windows 10 Education, version 20H2 - -In addition to the endpoints listed for [Windows 10 Enterprise](manage-windows-2004-endpoints.md), the following endpoints are available on other non-Enterprise editions of Windows 10, version 20H2. - -The following methodology was used to derive the network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user is not interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and was not joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using a IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week. If you capture traffic for longer you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 Home - -| **Area** | **Description** | **Protocol** | **Destination** | -|-----------|--------------- |------------- |-----------------| -| Activity Feed Service |The following endpoints are used by Activity Feed Service which enables multiple cross-device data roaming scenarios on Windows|TLSv1.2/HTTPS/HTTP|activity.windows.com| -|Apps|The following endpoints are used for the Weather app.|TLSv1.2/HTTPS/HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for OneNote Live Tile.|HTTPS/HTTP|cdn.onenote.net| -||Used for Spotify Live Tile|HTTPS/HTTP|spclient.wg.spotify.com| -|Certificates|The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available.|TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com/*| -|Cortana and Live Tiles|The following endpoints are related to Cortana and Live Tiles|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|||HTTPS/HTTP|fp.msedge.net| -|||HTTPS/HTTP|k-ring.msedge.net| -|||TLSv1.2|b-ring.msedge.net| -|Device authentication|The following endpoint is used to authenticate a device.|HTTPS|login.live.com*| -|Device Directory Service|Used by Device Directory Service to keep track of user-device associations and storing metadata about the devices.|HTTPS/HTTP|cs.dds.microsoft.com| -|Device metadata|The following endpoint is used to retrieve device metadata.|TLSv1.2/HTTP|dmd.metaservices.microsoft.com| -|Diagnostic data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service.|TLSv1.2/HTTP|v10.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|v20.events.data.microsoft.com| -|||TLSv1.2/HTTP|www.microsoft.com| -||The following endpoints are used by Windows Error Reporting.|TLSv1.2/HTTPS/HTTP|watson.telemetry.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand.|TLSv1.2/HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing.|HTTPS/HTTP|*licensing.mp.microsoft.com| -|||HTTPS|licensing.mp.microsoft.com/v7.0/licenses/content| -|Location|The following endpoints are used for location data.|TLSV1.2|inference.location.live.net| -|Maps|The following endpoints are used to check for updates to maps that have been downloaded for offline use.|HTTPS/HTTP|maps.windows.com| -|||HTTPS/HTTP|*.ssl.ak.dynamic.tiles.virtualearth.net| -|||HTTPS/HTTP|*.ssl.ak.tiles.virtualearth.net| -|||HTTPS/HTTP|dev.virtualearth.net| -|||HTTPS/HTTP|ecn.dev.virtualearth.net| -|||HTTPS/HTTP|ssl.bing.com| -|Microsoft Account|The following endpoints are used for Microsoft accounts to sign in|TLSv1.2/HTTPS/HTTP|*login.live.com| -|Microsoft Edge|The following endpoints are used for Microsoft Edge Browser Services.|HTTPS/HTTP|edge.activity.windows.com| -|||HTTPS/HTTP|edge.microsoft.com| -||The following endpoint is used by Microsoft Edge Update service to check for new updates.|HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer|HTTP|go.microsoft.com/fwlink/| -|||TLSv1.2/HTTPS/HTTP|go.microsoft.com| -|Microsoft Store|The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps)|TLSv1.2/HTTPS/HTTP|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store.|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTPS|storesdk.dsx.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -||The following endpoints are used get images that are used for Microsoft Store suggestions|TLSv1.2|store-images.s-microsoft.com| -|Network Connection Status Indicator (NCSI)|Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet.|TLSv1.2/HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|outlook.office365.com| -|||TLSv1.2/HTTPS|office.com| -|||TLSv1.2/HTTPS|blobs.officehome.msocdn.com| -|||HTTPS/HTTP|officehomeblobs.blob.core.windows.net| -|||HTTP/HTTPS|*.blob.core.windows.net| -|||TLSv1.2|self.events.data.microsoft.com| -|||HTTPS/HTTP|outlookmobile-office365-tas.msedge.net| -|||HTTP|roaming.officeapps.live.com| -|||HTTPS/HTTP|substrate.office.com| -|OneDrive|The following endpoints are related to OneDrive.|HTTPS|g.live.com| -|||TLSv1.2/HTTPS|oneclient.sfx.ms| -|||HTTPS/TLSv1.2|logincdn.msauth.net| -|||HTTPS/HTTP|windows.policies.live.net| -|||HTTPS/HTTP|api.onedrive.com| -|||HTTPS/HTTP|skydrivesync.policies.live.net| -|||HTTPS/HTTP|*storage.live.com| -|||HTTPS/HTTP|*settings.live.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it.|TLSv1.2/HTTPS/HTTP|settings.data.microsoft.com*| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com*| -|Skype|The following endpoint is used to retrieve Skype configuration values.|TLSv1.2/HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.|TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled|TLSv1.2/HTTPS|wdcp.microsoft.com| -||||wdcpalt.microsoft.com| -|||HTTPS/HTTP|*.smartscreen-prod.microsoft.com| -|||TLSv1.2|definitionupdates.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications.|TLSv1.2|*.smartscreen.microsoft.com| -|||TLSv1.2/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips.|TLSv1.2/HTTPS/HTTP|arc.msn.com*| -|||TLSv1.2/HTTPS/HTTP|ris.api.iris.microsoft.com| -|||HTTPS|mucp.api.account.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers.|TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store.|TLSv1.2/HTTP|*.windowsupdate.com| -|||TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store to help keep the device secure.|TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP/HTTPS|adl.windows.com| -||The following endpoint is used for content regulation.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoints are used for Xbox Live.| -|||TLSv1.2/HTTPS/HTTP|dlassets-ssl.xboxlive.com| -|||TLSv1.2/HTTPS|da.xboxservices.com| -|||HTTPS|www.xboxab.com| -| - -## Windows 10 Pro - -| **Area** | **Description** | **Protocol** | **Destination** | -| --- | --- | --- | ---| -| Activity Feed Service |The following endpoints are used by Activity Feed Service which enables multiple cross-device data roaming scenarios on Windows|TLSv1.2/HTTPS/HTTP|activity.windows.com| -|Apps|The following endpoints are used for the Weather app.|TLSv1.2/HTTPS/HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for OneNote Live Tile.|HTTPS/HTTP|cdn.onenote.net| -||Used for Spotify Live Tile|HTTPS/HTTP|spclient.wg.spotify.com| -|Certificates|The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available.|TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com/*| -|Cortana and Live Tiles|The following endpoints are related to Cortana and Live Tiles|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|Device authentication|The following endpoint is used to authenticate a device.|HTTPS|login.live.com*| -|Device metadata|The following endpoint is used to retrieve device metadata.|TLSv1.2/HTTP|dmd.metaservices.microsoft.com| -|Diagnostic data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service.|TLSv1.2/HTTP|v10.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|v20.events.data.microsoft.com| -|||TLSv1.2/HTTP|www.microsoft.com| -||The following endpoints are used by Windows Error Reporting.|TLSv1.2/HTTPS/HTTP|watson.telemetry.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand.|TLSv1.2/HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing.|HTTPS/HTTP|*licensing.mp.microsoft.com| -|Maps|The following endpoints are used to check for updates to maps that have been downloaded for offline use.|HTTPS/HTTP|maps.windows.com| -|Microsoft Account|The following endpoints are used for Microsoft accounts to sign in|TLSv1.2/HTTPS/HTTP|*login.live.com| -|Microsoft Edge|The following endpoint is used by Microsoft Edge Update service to check for new updates.|HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer|TLSv1.2/HTTPS/HTTP|go.microsoft.com| -|Microsoft Store|The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps)|TLSv1.2/HTTPS/HTTP|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store.|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTPS|storesdk.dsx.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet.|TLSv1.2/HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|outlook.office365.com| -|||TLSv1.2/HTTPS|office.com| -|||TLSv1.2/HTTPS|blobs.officehome.msocdn.com| -|||HTTPS/HTTP|officehomeblobs.blob.core.windows.net| -|||HTTP/HTTPS|*.blob.core.windows.net| -|||TLSv1.2|self.events.data.microsoft.com| -|||HTTPS/HTTP|outlookmobile-office365-tas.msedge.net| -|||TLSv1.2/HTTPS/HTTP|officeclient.microsoft.com| -|||HTTPS/HTTP|substrate.office.com| -|OneDrive|The following endpoints are related to OneDrive.|HTTPS|g.live.com| -|||TLSv1.2/HTTPS|oneclient.sfx.ms| -|||HTTPS/TLSv1.2|logincdn.msauth.net| -|||HTTPS/HTTP|windows.policies.live.net| -|||HTTPS/HTTP|*storage.live.com| -|||HTTPS/HTTP|*settings.live.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it.|TLSv1.2/HTTPS/HTTP|settings.data.microsoft.com*| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com*| -|Skype|The following endpoint is used to retrieve Skype configuration values.|TLSv1.2/HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.|TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled|TLSv1.2/HTTPS|wdcp.microsoft.com| -||||wdcpalt.microsoft.com| -|||HTTPS/HTTP|*.smartscreen-prod.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications.|TLSv1.2|*.smartscreen.microsoft.com| -|||TLSv1.2/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips.|TLSv1.2/HTTPS/HTTP|arc.msn.com*| -|||TLSv1.2/HTTPS/HTTP|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers.|TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store.|TLSv1.2/HTTP|*.windowsupdate.com| -|||TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store to help keep the device secure.|TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP/HTTPS|adl.windows.com| -||The following endpoint is used for content regulation.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoints are used for Xbox Live.| -|||TLSv1.2/HTTPS/HTTP|dlassets-ssl.xboxlive.com| -|||TLSv1.2/HTTPS|da.xboxservices.com| -| - -## Windows 10 Education - -| **Area** | **Description** | **Protocol** | **Destination** | -| --- | --- | --- | ---| -| Activity Feed Service |The following endpoints are used by Activity Feed Service which enables multiple cross-device data roaming scenarios on Windows|TLSv1.2/HTTPS/HTTP|activity.windows.com| -|Apps|The following endpoints are used for the Weather app.|TLSv1.2/HTTPS/HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for OneNote Live Tile.|HTTPS/HTTP|cdn.onenote.net| -|Bing Search|The following endpoint is used by Microsoft Search in Bing enabling users to search across files, SharePoint sites, OneDrive content, Teams and Viva Engage conversations, and other shared data sources in an organization, as well as the web.|HTTPS|business.bing.com| -|Certificates|The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available.|TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com/*| -|Cortana and Live Tiles|The following endpoints are related to Cortana and Live Tiles|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|||HTTPS/HTTP|fp.msedge.net| -|||TLSv1.2|odinvzc.azureedge.net| -|||TLSv1.2|b-ring.msedge.net| -|Device metadata|The following endpoint is used to retrieve device metadata.|TLSv1.2/HTTP|dmd.metaservices.microsoft.com| -|Diagnostic data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service.|TLSv1.2/HTTP|v10.events.data.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|v20.events.data.microsoft.com| -|||TLSv1.2/HTTP|www.microsoft.com| -||The following endpoints are used by Windows Error Reporting.|TLSv1.2/HTTPS/HTTP|watson.telemetry.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand.|TLSv1.2/HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing.|HTTPS/HTTP|*licensing.mp.microsoft.com| -|Location|The following endpoints are used for location data.|TLSV1.2|inference.location.live.net| -|Maps|The following endpoints are used to check for updates to maps that have been downloaded for offline use.|HTTPS/HTTP|maps.windows.com| -|Microsoft Account|The following endpoints are used for Microsoft accounts to sign in|TLSv1.2/HTTPS/HTTP|*login.live.com| -|Microsoft Edge|The following endpoint is used by Microsoft Edge Update service to check for new updates.|HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer|TLSv1.2/HTTPS/HTTP|go.microsoft.com| -|Microsoft Store|The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps)|TLSv1.2/HTTPS/HTTP|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store.|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|1storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTPS|storesdk.dsx.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet.|TLSv1.2/HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS|office.com| -|||HTTPS/HTTP|officehomeblobs.blob.core.windows.net| -|||TLSv1.2|self.events.data.microsoft.com| -|OneDrive|The following endpoints are related to OneDrive.|HTTPS|g.live.com| -|||TLSv1.2/HTTPS|oneclient.sfx.ms| -|||HTTPS/TLSv1.2|logincdn.msauth.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it.|TLSv1.2/HTTPS/HTTP|settings.data.microsoft.com*| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com*| -|Skype|The following endpoint is used to retrieve Skype configuration values.|TLSv1.2/HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.|TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled|TLSv1.2/HTTPS|wdcp.microsoft.com| -||||wdcpalt.microsoft.com| -|||HTTPS/HTTP|*.smartscreen-prod.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications.|TLSv1.2|*.smartscreen.microsoft.com| -|||TLSv1.2/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips.|TLSv1.2/HTTPS/HTTP|arc.msn.com*| -|||TLSv1.2/HTTPS/HTTP|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers.|TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store.|TLSv1.2/HTTP|*.windowsupdate.com| -|||TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store to help keep the device secure.|TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP/HTTPS|adl.windows.com| -||The following endpoint is used for content regulation.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoints are used for Xbox Live.| -|||TLSv1.2/HTTPS/HTTP|dlassets-ssl.xboxlive.com| -|||TLSv1.2/HTTPS|da.xboxservices.com| diff --git a/windows/privacy/windows-endpoints-21H1-non-enterprise-editions.md b/windows/privacy/windows-endpoints-21H1-non-enterprise-editions.md deleted file mode 100644 index d6d6383582..0000000000 --- a/windows/privacy/windows-endpoints-21H1-non-enterprise-editions.md +++ /dev/null @@ -1,250 +0,0 @@ ---- -title: Windows 10, version 21H1, connection endpoints for non-Enterprise editions -description: Explains what Windows 10 endpoints are used in non-Enterprise editions. Specific to Windows 10, version 21H1. -ms.service: windows-client -ms.subservice: itpro-privacy -ms.localizationpriority: high -author: DHB-MSFT -ms.author: danbrown -manager: laurawi -ms.date: 12/17/2020 -ms.topic: reference ---- -# Windows 10, version 21H1, connection endpoints for non-Enterprise editions - - **Applies to** - -- Windows 10 Home, version 21H1 -- Windows 10 Professional, version 21H1 -- Windows 10 Education, version 21H1 - -In addition to the endpoints listed for [Windows 10 Enterprise](manage-windows-21H1-endpoints.md), the following endpoints are available on other non-Enterprise editions of Windows 10, version 21H1. - -The following methodology was used to derive the network endpoints: - -1. Set up the latest version of Windows 10 on a test virtual machine using the default settings. -2. Leave the device(s) running idle for a week ("idle" means a user is not interacting with the system/device). -3. Use globally accepted network protocol analyzer/capturing tools and log all background egress traffic. -4. Compile reports on traffic going to public IP addresses. -5. The test virtual machine(s) was logged into using a local account, and was not joined to a domain or Azure Active Directory. -6. All traffic was captured in our lab using a IPV4 network. Therefore, no IPV6 traffic is reported here. -7. These tests were conducted in an approved Microsoft lab. It's possible your results may be different. -8. These tests were conducted for one week. If you capture traffic for longer, you may have different results. - -> [!NOTE] -> Microsoft uses global load balancers that can appear in network trace-routes. For example, an endpoint for *.akadns.net might be used to load balance requests to an Azure datacenter, which can change over time. - -## Windows 10 Home - -| **Area** | **Description** | **Protocol** | **Destination** | -|-----------|--------------- |------------- |-----------------| -| Activity Feed Service |The following endpoints are used by Activity Feed Service, which enables multiple cross-device data roaming scenarios on Windows|TLSv1.2/HTTPS/HTTP|activity.windows.com| -|Apps|The following endpoints are used for the Weather app.|TLSv1.2/HTTPS/HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for OneNote Live Tile.|HTTPS/HTTP|cdn.onenote.net| -||Used for Spotify Live Tile|HTTPS/HTTP|spclient.wg.spotify.com| -|Certificates|The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available.|TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com/*| -|Cortana and Live Tiles|The following endpoints are related to Cortana and Live Tiles|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|||HTTPS/HTTP|fp.msedge.net| -|||HTTPS/HTTP|k-ring.msedge.net| -|||TLSv1.2|b-ring.msedge.net| -|Device authentication|The following endpoint is used to authenticate a device.|HTTPS|login.live.com*| -|Device Directory Service|Used by Device Directory Service to keep track of user-device associations and storing metadata about the devices.|HTTPS/HTTP|cs.dds.microsoft.com| -|Device metadata|The following endpoint is used to retrieve device metadata.|TLSv1.2/HTTP|dmd.metaservices.microsoft.com| -|Diagnostic data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service.
                  If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, will not be sent back to Microsoft.|TLSv1.2/HTTP|v10.events.data.microsoft.com| -||The following endpoints are used by Windows Error Reporting.|TLSv1.2/HTTPS/HTTP|watson.telemetry.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand.|TLSv1.2/HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing.|HTTPS/HTTP|*licensing.mp.microsoft.com| -|||HTTPS|licensing.mp.microsoft.com/v7.0/licenses/content| -|Location|The following endpoints are used for location data.|TLSV1.2|inference.location.live.net| -|Maps|The following endpoints are used to check for updates to maps that have been downloaded for offline use.|HTTPS/HTTP|maps.windows.com| -|||HTTPS/HTTP|*.ssl.ak.dynamic.tiles.virtualearth.net| -|||HTTPS/HTTP|*.ssl.ak.tiles.virtualearth.net| -|||HTTPS/HTTP|dev.virtualearth.net| -|||HTTPS/HTTP|ecn.dev.virtualearth.net| -|||HTTPS/HTTP|ssl.bing.com| -|Microsoft Account|The following endpoints are used for Microsoft accounts to sign in|TLSv1.2/HTTPS/HTTP|*login.live.com| -|Microsoft Edge|The following endpoints are used for Microsoft Edge Browser Services.|HTTPS/HTTP|edge.activity.windows.com| -|||HTTPS/HTTP|edge.microsoft.com| -||The following endpoint is used by Microsoft Edge Update service to check for new updates.|HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer|HTTP|go.microsoft.com/fwlink/| -|||TLSv1.2/HTTPS/HTTP|go.microsoft.com| -|Microsoft Store|The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps)|TLSv1.2/HTTPS/HTTP|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store.|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTPS|storesdk.dsx.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -||The following endpoints are used get images that are used for Microsoft Store suggestions|TLSv1.2|store-images.s-microsoft.com| -|Network Connection Status Indicator (NCSI)|Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet.|TLSv1.2/HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|outlook.office365.com| -|||TLSv1.2/HTTPS|office.com| -|||TLSv1.2/HTTPS|blobs.officehome.msocdn.com| -|||HTTPS/HTTP|officehomeblobs.blob.core.windows.net| -|||HTTP/HTTPS|*.blob.core.windows.net| -|||TLSv1.2|self.events.data.microsoft.com| -|||HTTPS/HTTP|outlookmobile-office365-tas.msedge.net| -|||HTTP|roaming.officeapps.live.com| -|||HTTPS/HTTP|substrate.office.com| -|OneDrive|The following endpoints are related to OneDrive.|HTTPS|g.live.com| -|||TLSv1.2/HTTPS|oneclient.sfx.ms| -|||HTTPS/TLSv1.2|logincdn.msauth.net| -|||HTTPS/HTTP|windows.policies.live.net| -|||HTTPS/HTTP|api.onedrive.com| -|||HTTPS/HTTP|skydrivesync.policies.live.net| -|||HTTPS/HTTP|*storage.live.com| -|||HTTPS/HTTP|*settings.live.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it.|TLSv1.2/HTTPS/HTTP|settings.data.microsoft.com*| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com*| -|Skype|The following endpoint is used to retrieve Skype configuration values.|TLSv1.2/HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.|TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled|TLSv1.2/HTTPS|wdcp.microsoft.com| -||||wdcpalt.microsoft.com| -|||HTTPS/HTTP|*.smartscreen-prod.microsoft.com| -|||TLSv1.2|definitionupdates.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications.|TLSv1.2|*.smartscreen.microsoft.com| -|||TLSv1.2/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips.|TLSv1.2/HTTPS/HTTP|arc.msn.com*| -|||TLSv1.2/HTTPS/HTTP|ris.api.iris.microsoft.com| -|||HTTPS|mucp.api.account.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers.|TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store.|TLSv1.2/HTTP|*.windowsupdate.com| -|||TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store to help keep the device secure.|TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP/HTTPS|adl.windows.com| -||The following endpoint is used for content regulation.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoints are used for Xbox Live.| -|||TLSv1.2/HTTPS/HTTP|dlassets-ssl.xboxlive.com| -|||TLSv1.2/HTTPS|da.xboxservices.com| -|||HTTPS|www.xboxab.com| -| - -## Windows 10 Pro - -| **Area** | **Description** | **Protocol** | **Destination** | -| --- | --- | --- | ---| -| Activity Feed Service |The following endpoints are used by Activity Feed Service, which enables multiple cross-device data roaming scenarios on Windows|TLSv1.2/HTTPS/HTTP|activity.windows.com| -|Apps|The following endpoints are used for the Weather app.|TLSv1.2/HTTPS/HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for OneNote Live Tile.|HTTPS/HTTP|cdn.onenote.net| -||Used for Spotify Live Tile|HTTPS/HTTP|spclient.wg.spotify.com| -|Certificates|The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available.|TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com/*| -|Cortana and Live Tiles|The following endpoints are related to Cortana and Live Tiles|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|Device authentication|The following endpoint is used to authenticate a device.|HTTPS|login.live.com*| -|Device metadata|The following endpoint is used to retrieve device metadata.|TLSv1.2/HTTP|dmd.metaservices.microsoft.com| -|Diagnostic data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service.
                  If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, will not be sent back to Microsoft.|TLSv1.2/HTTP|v10.events.data.microsoft.com| -||The following endpoints are used by Windows Error Reporting.|TLSv1.2/HTTPS/HTTP|watson.telemetry.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand.|TLSv1.2/HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing.|HTTPS/HTTP|*licensing.mp.microsoft.com| -|Maps|The following endpoints are used to check for updates to maps that have been downloaded for offline use.|HTTPS/HTTP|maps.windows.com| -|Microsoft Account|The following endpoints are used for Microsoft accounts to sign in|TLSv1.2/HTTPS/HTTP|*login.live.com| -|Microsoft Edge|The following endpoint is used by Microsoft Edge Update service to check for new updates.|HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer|TLSv1.2/HTTPS/HTTP|go.microsoft.com| -|Microsoft Store|The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps)|TLSv1.2/HTTPS/HTTP|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store.|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTPS|storesdk.dsx.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet.|TLSv1.2/HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|outlook.office365.com| -|||TLSv1.2/HTTPS|office.com| -|||TLSv1.2/HTTPS|blobs.officehome.msocdn.com| -|||HTTPS/HTTP|officehomeblobs.blob.core.windows.net| -|||HTTP/HTTPS|*.blob.core.windows.net| -|||TLSv1.2|self.events.data.microsoft.com| -|||HTTPS/HTTP|outlookmobile-office365-tas.msedge.net| -|||TLSv1.2/HTTPS/HTTP|officeclient.microsoft.com| -|||HTTPS/HTTP|substrate.office.com| -|OneDrive|The following endpoints are related to OneDrive.|HTTPS|g.live.com| -|||TLSv1.2/HTTPS|oneclient.sfx.ms| -|||HTTPS/TLSv1.2|logincdn.msauth.net| -|||HTTPS/HTTP|windows.policies.live.net| -|||HTTPS/HTTP|*storage.live.com| -|||HTTPS/HTTP|*settings.live.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it.|TLSv1.2/HTTPS/HTTP|settings.data.microsoft.com*| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com*| -|Skype|The following endpoint is used to retrieve Skype configuration values.|TLSv1.2/HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.|TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled|TLSv1.2/HTTPS|wdcp.microsoft.com| -||||wdcpalt.microsoft.com| -|||HTTPS/HTTP|*.smartscreen-prod.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications.|TLSv1.2|*.smartscreen.microsoft.com| -|||TLSv1.2/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips.|TLSv1.2/HTTPS/HTTP|arc.msn.com*| -|||TLSv1.2/HTTPS/HTTP|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers.|TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store.|TLSv1.2/HTTP|*.windowsupdate.com| -|||TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store to help keep the device secure.|TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP/HTTPS|adl.windows.com| -||The following endpoint is used for content regulation.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoints are used for Xbox Live.| -|||TLSv1.2/HTTPS/HTTP|dlassets-ssl.xboxlive.com| -|||TLSv1.2/HTTPS|da.xboxservices.com| -| - -## Windows 10 Education - -| **Area** | **Description** | **Protocol** | **Destination** | -| --- | --- | --- | ---| -| Activity Feed Service |The following endpoints are used by Activity Feed Service, which enables multiple cross-device data roaming scenarios on Windows|TLSv1.2/HTTPS/HTTP|activity.windows.com| -|Apps|The following endpoints are used for the Weather app.|TLSv1.2/HTTPS/HTTP|tile-service.weather.microsoft.com| -||The following endpoint is used by the Photos app to download configuration files, and to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS/HTTP|evoke-windowsservices-tas.msedge.net| -||The following endpoint is used for OneNote Live Tile.|HTTPS/HTTP|cdn.onenote.net| -|Bing Search|The following endpoint is used by Microsoft Search in Bing enabling users to search across files, SharePoint sites, OneDrive content, Teams and Viva Engage conversations, and other shared data sources in an organization, as well as the web.|HTTPS|business.bing.com| -|Certificates|The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available.|TLSv1.2/HTTPS/HTTP|ctldl.windowsupdate.com/*| -|Cortana and Live Tiles|The following endpoints are related to Cortana and Live Tiles|TLSv1.2/HTTPS/HTTP|www.bing.com*| -|||HTTPS/HTTP|fp.msedge.net| -|||TLSv1.2|odinvzc.azureedge.net| -|||TLSv1.2|b-ring.msedge.net| -|Device metadata|The following endpoint is used to retrieve device metadata.|TLSv1.2/HTTP|dmd.metaservices.microsoft.com| -|Diagnostic data|The following endpoints are used by the Connected User Experiences and Telemetry component and connects to the Microsoft Data Management service.
                  If you turn off traffic for this endpoint, diagnostic and usage information, which helps Microsoft find and fix problems and improve our products and services, will not be sent back to Microsoft.|TLSv1.2/HTTP|v10.events.data.microsoft.com| -||The following endpoints are used by Windows Error Reporting.|TLSv1.2/HTTPS/HTTP|watson.telemetry.microsoft.com| -|Font Streaming|The following endpoints are used to download fonts on demand.|TLSv1.2/HTTPS|fs.microsoft.com*| -|Licensing|The following endpoint is used for online activation and some app licensing.|HTTPS/HTTP|*licensing.mp.microsoft.com| -|Location|The following endpoints are used for location data.|TLSV1.2|inference.location.live.net| -|Maps|The following endpoints are used to check for updates to maps that have been downloaded for offline use.|HTTPS/HTTP|maps.windows.com| -|Microsoft Account|The following endpoints are used for Microsoft accounts to sign in|TLSv1.2/HTTPS/HTTP|*login.live.com| -|Microsoft Edge|The following endpoint is used by Microsoft Edge Update service to check for new updates.|HTTPS/HTTP|msedge.api.cdp.microsoft.com| -|Microsoft forward link redirection|The following endpoint is used by the Microsoft forward link redirection service (FWLink) to redirect permanent web links to their actual, sometimes transitory, URL. FWlinks are similar to URL shorteners, just longer|TLSv1.2/HTTPS/HTTP|go.microsoft.com| -|Microsoft Store|The following endpoint is used to download image files that are called when applications run (Microsoft Store or Inbox MSN Apps)|TLSv1.2/HTTPS/HTTP|img-prod-cms-rt-microsoft-com.akamaized.net| -||The following endpoint is used for the Windows Push Notification Services (WNS). WNS enables third-party developers to send toast, tile, badge, and raw updates from their own cloud service. This provides a mechanism to deliver new updates to your users in a power-efficient and dependable way.|TLSv1.2/HTTPS|*.wns.windows.com| -||The following endpoint is used to revoke licenses for malicious apps in the Microsoft Store.|TLSv1.2/HTTPS/HTTP|storecatalogrevocation.storequality.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|1storecatalogrevocation.storequality.microsoft.com| -||The following endpoints are used to communicate with Microsoft Store.|TLSv1.2/HTTPS/HTTP|*displaycatalog.mp.microsoft.com| -|||HTTPS|storesdk.dsx.mp.microsoft.com| -||The following endpoint is used to get Microsoft Store analytics.|TLSv1.2/HTTPS/HTTP|manage.devcenter.microsoft.com| -|Network Connection Status Indicator (NCSI)|Network Connection Status Indicator (NCSI) detects Internet connectivity and corporate network connectivity status. NCSI sends a DNS request and HTTP query to this endpoint to determine if the device can communicate with the Internet.|TLSv1.2/HTTP|www.msftconnecttest.com*| -|Office|The following endpoints are used to connect to the Office 365 portal's shared infrastructure, including Office in a browser.|TLSv1.2/HTTPS|office.com| -|||HTTPS/HTTP|officehomeblobs.blob.core.windows.net| -|||TLSv1.2|self.events.data.microsoft.com| -|OneDrive|The following endpoints are related to OneDrive.|HTTPS|g.live.com| -|||TLSv1.2/HTTPS|oneclient.sfx.ms| -|||HTTPS/TLSv1.2|logincdn.msauth.net| -|Settings|The following endpoint is used as a way for apps to dynamically update their configuration. Apps such as System Initiated User Feedback and the Xbox app use it.|TLSv1.2/HTTPS/HTTP|settings.data.microsoft.com*| -|||TLSv1.2/HTTPS/HTTP|settings-win.data.microsoft.com*| -|Skype|The following endpoint is used to retrieve Skype configuration values.|TLSv1.2/HTTPS/HTTP|*.pipe.aria.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|config.edge.skype.com| -|Teams|The following endpoint is used for Microsoft Teams application.|TLSv1.2/HTTPS/HTTP|config.teams.microsoft.com| -|Windows Defender|The following endpoint is used for Windows Defender when Cloud-based Protection is enabled|TLSv1.2/HTTPS|wdcp.microsoft.com| -||||wdcpalt.microsoft.com| -|||HTTPS/HTTP|*.smartscreen-prod.microsoft.com| -||The following endpoints are used for Windows Defender SmartScreen reporting and notifications.|TLSv1.2|*.smartscreen.microsoft.com| -|||TLSv1.2/HTTP|checkappexec.microsoft.com| -|Windows Spotlight|The following endpoints are used to retrieve Windows Spotlight metadata that describes content, such as references to image locations, as well as suggested apps, Microsoft account notifications, and Windows tips.|TLSv1.2/HTTPS/HTTP|arc.msn.com*| -|||TLSv1.2/HTTPS/HTTP|ris.api.iris.microsoft.com| -|Windows Update|The following endpoint is used for Windows Update downloads of apps and OS updates, including HTTP downloads or HTTP downloads blended with peers.|TLSv1.2/HTTPS/HTTP|*.prod.do.dsp.mp.microsoft.com| -|||TLSv1.2/HTTPS/HTTP|*.dl.delivery.mp.microsoft.com| -||The following endpoints are used to download operating system patches, updates, and apps from Microsoft Store.|TLSv1.2/HTTP|*.windowsupdate.com| -|||TLSv1.2/HTTPS/HTTP|*.delivery.mp.microsoft.com| -||The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store to help keep the device secure.|TLSv1.2/HTTPS/HTTP|*.update.microsoft.com| -||The following endpoint is used for compatibility database updates for Windows.|HTTP/HTTPS|adl.windows.com| -||The following endpoint is used for content regulation.|TLSv1.2/HTTPS/HTTP|tsfe.trafficshaping.dsp.mp.microsoft.com| -|Xbox Live|The following endpoints are used for Xbox Live.| -|||TLSv1.2/HTTPS/HTTP|dlassets-ssl.xboxlive.com| -|||TLSv1.2/HTTPS|da.xboxservices.com| From b74090da3c0af9343d0268e920c40305e599f1a8 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:35:43 -0700 Subject: [PATCH 311/354] fix error in redirection Change "true" to "false" --- ...ublishing.redirection.windows-privacy.json | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.openpublishing.redirection.windows-privacy.json b/.openpublishing.redirection.windows-privacy.json index 83cc72e3e8..56c21eda4b 100644 --- a/.openpublishing.redirection.windows-privacy.json +++ b/.openpublishing.redirection.windows-privacy.json @@ -63,87 +63,87 @@ { "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1709", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1803", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/basic-level-windows-diagnostic-events-and-fields-1903.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1903", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-1903-endpoints.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-1903-endpoints", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-1909-endpoints.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-1909-endpoints", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-2004-endpoints.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-2004-endpoints", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-20H2-endpoints.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-20H2-endpoints", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/manage-windows-21H1-endpoints.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/manage-windows-21H1-endpoints", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-1809-non-enterprise-editions.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-1809-non-enterprise-editions", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-1903-non-enterprise-editions.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-1903-non-enterprise-editions", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-1909-non-enterprise-editions.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-1909-non-enterprise-editions", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-2004-non-enterprise-editions.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-2004-non-enterprise-editions", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-20H2-non-enterprise-editions.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-20H2-non-enterprise-editions", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-endpoints-21H1-non-enterprise-editions.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-endpoints-21H1-non-enterprise-editions", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/windows-diagnostic-data-1703.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-diagnostic-data-1703", - "redirect_document_id": true + "redirect_document_id": false }, { "source_path": "windows/privacy/changes-to-windows-diagnostic-data-collection.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/changes-to-windows-diagnostic-data-collection", - "redirect_document_id": true + "redirect_document_id": false } ] } From a20df0d4e60fe213ba4ce4046cec204a187ceeb1 Mon Sep 17 00:00:00 2001 From: Jeff Borsecnik <123032460+American-Dipper@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:04:40 -0700 Subject: [PATCH 312/354] Update wufb-reports-faq.yml - Acrolinx change --- windows/deployment/update/wufb-reports-faq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/wufb-reports-faq.yml b/windows/deployment/update/wufb-reports-faq.yml index 35d2866de7..07593e4a77 100644 --- a/windows/deployment/update/wufb-reports-faq.yml +++ b/windows/deployment/update/wufb-reports-faq.yml @@ -20,7 +20,7 @@ summary: | - [Is Windows Update for Business reports free?](#is-windows-update-for-business-reports-free) - [What Windows versions are supported?](#what-windows-versions-are-supported) - **Set up questions**: + **Setup questions**: - [How do you set up Windows Update for Business reports?](#how-do-you-set-up-windows-update-for-business-reports) - [Why is "Waiting for Windows Update for Business reports data" displayed on the page](#why-is--waiting-for-windows-update-for-business-reports-data--displayed-on-the-page) From 6ad78dd335bb68353c42decb091c2a9abe193cda Mon Sep 17 00:00:00 2001 From: Jeff Borsecnik <123032460+American-Dipper@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:05:27 -0700 Subject: [PATCH 313/354] Update wufb-reports-do.md - grammar/Acro fix --- windows/deployment/update/wufb-reports-do.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/wufb-reports-do.md b/windows/deployment/update/wufb-reports-do.md index cf51c144db..448cd07e61 100644 --- a/windows/deployment/update/wufb-reports-do.md +++ b/windows/deployment/update/wufb-reports-do.md @@ -59,7 +59,7 @@ Windows Update for Business reports uses the following Delivery Optimization ter ## Calculations for Delivery Optimization -Each calculated values used in the Delivery Optimization report are listed below. +The calculated values used in the Delivery Optimization report are listed below. **Efficiency (%) Calculations**: From 2335de0fcb6993940f0c46ae346e25a7e393cd76 Mon Sep 17 00:00:00 2001 From: Jeff Borsecnik <123032460+American-Dipper@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:06:06 -0700 Subject: [PATCH 314/354] Update delivery-optimization-configure.md - fix typo --- windows/deployment/do/delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/delivery-optimization-configure.md b/windows/deployment/do/delivery-optimization-configure.md index 0fb34cf04f..31ad6d5ade 100644 --- a/windows/deployment/do/delivery-optimization-configure.md +++ b/windows/deployment/do/delivery-optimization-configure.md @@ -28,7 +28,7 @@ This article describes the different configuration considerations to optimize De Use this checklist to guide you through different aspects when modifying Delivery Optimization configurations for your environment. 1. Prerequisites to allow Delivery Optimization communication -1. Evaluate Delivery Optimization policies based on the follwoing items: +1. Evaluate Delivery Optimization policies based on the following items: * Network topology * Organization size From 847b4895bd11f6578710e7a5e8fc09d8604c70cd Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Wed, 24 Jul 2024 10:33:14 -0700 Subject: [PATCH 315/354] Rename 3 md files Privacy compliance guide Optional diagnostic data article DDV powershell --- ...ing.redirection.windows-configuration.json | 4 ++-- ...ublishing.redirection.windows-privacy.json | 23 +++++++++++++++---- windows/hub/index.yml | 2 +- .../diagnostic-data-viewer-overview.md | 2 +- ...d => diagnostic-data-viewer-powershell.md} | 0 windows/privacy/index.yml | 4 ++-- ...ic-data.md => optional-diagnostic-data.md} | 0 windows/privacy/toc.yml | 6 ++--- ...md => windows-privacy-compliance-guide.md} | 8 +++---- 9 files changed, 32 insertions(+), 17 deletions(-) rename windows/privacy/{Microsoft-DiagnosticDataViewer.md => diagnostic-data-viewer-powershell.md} (100%) rename windows/privacy/{windows-diagnostic-data.md => optional-diagnostic-data.md} (100%) rename windows/privacy/{windows-10-and-privacy-compliance.md => windows-privacy-compliance-guide.md} (97%) diff --git a/.openpublishing.redirection.windows-configuration.json b/.openpublishing.redirection.windows-configuration.json index 777e43019f..914e5aaa7f 100644 --- a/.openpublishing.redirection.windows-configuration.json +++ b/.openpublishing.redirection.windows-configuration.json @@ -47,7 +47,7 @@ }, { "source_path": "windows/configuration/gdpr-win10-whitepaper.md", - "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", + "redirect_url": "/windows/privacy/windows-privacy-compliance-guide", "redirect_document_id": false }, { @@ -262,7 +262,7 @@ }, { "source_path": "windows/configuration/windows-diagnostic-data-1703.md", - "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-diagnostic-data-1703", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-privacy.json b/.openpublishing.redirection.windows-privacy.json index 56c21eda4b..3e2278ef26 100644 --- a/.openpublishing.redirection.windows-privacy.json +++ b/.openpublishing.redirection.windows-privacy.json @@ -7,17 +7,17 @@ }, { "source_path": "windows/privacy/deploy-data-processor-service-windows.md", - "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", + "redirect_url": "/windows/privacy/windows-privacy-compliance-guide", "redirect_document_id": false }, { "source_path": "windows/privacy/gdpr-it-guidance.md", - "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", + "redirect_url": "/windows/privacy/windows-privacy-compliance-guide", "redirect_document_id": false }, { "source_path": "windows/privacy/gdpr-win10-whitepaper.md", - "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", + "redirect_url": "/windows/privacy/windows-privacy-compliance-guide", "redirect_document_id": false }, { @@ -52,7 +52,7 @@ }, { "source_path": "windows/privacy/windows-personal-data-services-configuration.md", - "redirect_url": "/windows/privacy/windows-10-and-privacy-compliance", + "redirect_url": "/windows/privacy/windows-privacy-compliance-guide", "redirect_document_id": false }, { @@ -144,6 +144,21 @@ "source_path": "windows/privacy/changes-to-windows-diagnostic-data-collection.md", "redirect_url": "/previous-versions/windows/it-pro/privacy/changes-to-windows-diagnostic-data-collection", "redirect_document_id": false + }, + { + "source_path": "windows/privacy/windows-10-and-privacy-compliance.md", + "redirect_url": "/windows/privacy/windows-privacy-compliance-guide", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/windows-diagnostic-data.md", + "redirect_url": "/windows/privacy/optional-diagnostic-data", + "redirect_document_id": true + }, + { + "source_path": "windows/privacy/Microsoft-DiagnosticDataViewer.md", + "redirect_url": "/windows/privacy/diagnostic-data-viewer-powershell", + "redirect_document_id": true } ] } diff --git a/windows/hub/index.yml b/windows/hub/index.yml index 95d49b10a7..1292365e3e 100644 --- a/windows/hub/index.yml +++ b/windows/hub/index.yml @@ -91,7 +91,7 @@ productDirectory: text: Diagnostic Data Viewer - url: /windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services text: Manage connections to Microsoft services - - url: /windows/privacy/windows-10-and-privacy-compliance + - url: /windows/privacy/windows-privacy-compliance-guide text: Windows privacy compliance guide - url: /windows/privacy text: Learn more about privacy in Windows > diff --git a/windows/privacy/diagnostic-data-viewer-overview.md b/windows/privacy/diagnostic-data-viewer-overview.md index 45dd76cdba..63e25e508f 100644 --- a/windows/privacy/diagnostic-data-viewer-overview.md +++ b/windows/privacy/diagnostic-data-viewer-overview.md @@ -44,7 +44,7 @@ Before you can use this tool for viewing Windows diagnostic data, you must turn Download the app from the [Microsoft Store Diagnostic Data Viewer](https://www.microsoft.com/store/p/diagnostic-data-viewer/9n8wtrrsq8f7?rtc=1) page. > [!Important] -> It's possible that your Windows device doesn't have the Microsoft Store available (for example, Windows Server). If this is the case, see [Diagnostic Data Viewer for PowerShell](./microsoft-diagnosticdataviewer.md). +> It's possible that your Windows device doesn't have the Microsoft Store available (for example, Windows Server). If this is the case, see [Diagnostic Data Viewer for PowerShell](./diagnostic-data-viewer-powershell.md). ### Start the Diagnostic Data Viewer diff --git a/windows/privacy/Microsoft-DiagnosticDataViewer.md b/windows/privacy/diagnostic-data-viewer-powershell.md similarity index 100% rename from windows/privacy/Microsoft-DiagnosticDataViewer.md rename to windows/privacy/diagnostic-data-viewer-powershell.md diff --git a/windows/privacy/index.yml b/windows/privacy/index.yml index b3ae58d22a..f06366e02f 100644 --- a/windows/privacy/index.yml +++ b/windows/privacy/index.yml @@ -24,7 +24,7 @@ highlightedContent: items: - title: Windows privacy & compliance guide for IT and compliance professionals itemType: overview - url: Windows-10-and-privacy-compliance.md + url: windows-privacy-compliance-guide.md - title: Configure Windows diagnostic data itemType: how-to-guide url: configure-windows-diagnostic-data-in-your-organization.md @@ -47,7 +47,7 @@ productDirectory: - title: Optional diagnostic data imageSrc: /media/common/i_get-started.svg summary: Get examples of the types of optional diagnostic data collected from Windows - url: windows-diagnostic-data.md + url: optional-diagnostic-data.md additionalContent: sections: diff --git a/windows/privacy/windows-diagnostic-data.md b/windows/privacy/optional-diagnostic-data.md similarity index 100% rename from windows/privacy/windows-diagnostic-data.md rename to windows/privacy/optional-diagnostic-data.md diff --git a/windows/privacy/toc.yml b/windows/privacy/toc.yml index 19445df42a..9c47130eca 100644 --- a/windows/privacy/toc.yml +++ b/windows/privacy/toc.yml @@ -2,7 +2,7 @@ href: index.yml items: - name: "Windows Privacy Compliance: A Guide for IT and Compliance Professionals" - href: windows-10-and-privacy-compliance.md + href: windows-privacy-compliance-guide.md - name: Configure Windows diagnostic data in your organization href: configure-windows-diagnostic-data-in-your-organization.md - name: Diagnostic Data Viewer @@ -10,7 +10,7 @@ - name: Diagnostic Data Viewer Overview href: diagnostic-data-viewer-overview.md - name: Diagnostic Data Viewer for PowerShell Overview - href: Microsoft-DiagnosticDataViewer.md + href: diagnostic-data-viewer-powershell.md - name: Required Windows diagnostic data events and fields items: - name: Windows 11, versions 23H2 and 22H2 @@ -24,7 +24,7 @@ - name: Optional Windows diagnostic data items: - name: Optional diagnostic data for Windows 11 and Windows 10 - href: windows-diagnostic-data.md + href: optional-diagnostic-data.md - name: Manage Windows connected experiences items: - name: Manage connections from Windows operating system components to Microsoft services diff --git a/windows/privacy/windows-10-and-privacy-compliance.md b/windows/privacy/windows-privacy-compliance-guide.md similarity index 97% rename from windows/privacy/windows-10-and-privacy-compliance.md rename to windows/privacy/windows-privacy-compliance-guide.md index 1a5a044ae4..e2790e543f 100644 --- a/windows/privacy/windows-10-and-privacy-compliance.md +++ b/windows/privacy/windows-privacy-compliance-guide.md @@ -44,7 +44,7 @@ The following table provides an overview of the Windows 10 and Windows 11 privac | Feature/Setting | Description | Supporting content | Privacy statement | | --- | --- | --- | --- | -| Diagnostic Data |

                  Microsoft uses diagnostic data to keep Windows secure, up to date, troubleshoot problems, and make product improvements. Regardless of what choices you make for diagnostic data collection, the device will be just as secure and will operate normally. This data is collected by Microsoft to quickly identify and address issues affecting its customers.

                  Diagnostic data is categorized into the following:

                  • **Required diagnostic data**
                    Required diagnostic data includes information about your device, its settings, capabilities, and whether it is performing properly, whether a device is ready for an update, and whether there are factors that may impede the ability to receive updates, such as low battery, limited disk space, or connectivity through a paid network. You can find out what is collected with required diagnostic data [here](./required-windows-diagnostic-data-events-and-fields-2004.md).
                  • **Optional diagnostic data**
                    Optional diagnostic data includes more detailed information about your device and its settings, capabilities, and device health. When you choose to send optional diagnostic data, required diagnostic data will always be included. You can find out the types of optional diagnostic data collected [here](./windows-diagnostic-data.md).

                  | [Learn more](https://support.microsoft.com/help/4468236/diagnostics-feedback-and-privacy-in-windows-10-microsoft-privacy)

                  [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) | [Privacy Statement](https://privacy.microsoft.com/privacystatement#maindiagnosticsmodule) | +| Diagnostic Data |

                  Microsoft uses diagnostic data to keep Windows secure, up to date, troubleshoot problems, and make product improvements. Regardless of what choices you make for diagnostic data collection, the device will be just as secure and will operate normally. This data is collected by Microsoft to quickly identify and address issues affecting its customers.

                  Diagnostic data is categorized into the following:

                  • **Required diagnostic data**
                    Required diagnostic data includes information about your device, its settings, capabilities, and whether it is performing properly, whether a device is ready for an update, and whether there are factors that may impede the ability to receive updates, such as low battery, limited disk space, or connectivity through a paid network. You can find out what is collected with required diagnostic data [here](./required-windows-diagnostic-data-events-and-fields-2004.md).
                  • **Optional diagnostic data**
                    Optional diagnostic data includes more detailed information about your device and its settings, capabilities, and device health. When you choose to send optional diagnostic data, required diagnostic data will always be included. You can find out the types of optional diagnostic data collected [here](./optional-diagnostic-data.md).

                  | [Learn more](https://support.microsoft.com/help/4468236/diagnostics-feedback-and-privacy-in-windows-10-microsoft-privacy)

                  [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) | [Privacy Statement](https://privacy.microsoft.com/privacystatement#maindiagnosticsmodule) | | Inking & typing | Microsoft collects optional inking and typing diagnostic data to improve the language recognition and suggestion capabilities of apps and services running on Windows. | [Learn more](https://support.microsoft.com/help/4468236/diagnostics-feedback-and-privacy-in-windows-10-microsoft-privacy) | [Privacy Statement](https://privacy.microsoft.com/privacystatement#maindiagnosticsmodule) | | Location | Get location-based experiences like directions and weather. Let Windows and apps request your location and allow Microsoft to use your location data to improve location services. | [Learn more](https://support.microsoft.com/help/4468240/windows-10-location-service-and-privacy) |[Privacy Statement](https://privacy.microsoft.com/privacystatement#mainlocationservicesmotionsensingmodule) | | Find my device | Use your device’s location data to help you find your device if you lose it. | [Learn more](https://support.microsoft.com/help/11579/microsoft-account-find-and-lock-lost-windows-device) | [Privacy Statement](https://privacy.microsoft.com/privacystatement#mainlocationservicesmotionsensingmodule) | @@ -56,7 +56,7 @@ The following table provides an overview of the Windows 10 and Windows 11 privac [Diagnostic Data Viewer (DDV)](diagnostic-data-viewer-overview.md) is a Microsoft Store app (available in Windows 10, version 1803 and later and Windows 11) that lets a user review the Windows diagnostic data that is being collected on their Windows device and sent to Microsoft in real-time. DDV groups the information into simple categories that describe the data that’s being collected. -An administrator can also use the Diagnostic Data Viewer for PowerShell module to view the diagnostic data collected from the device instead of using the Diagnostic Data Viewer UI. The [Diagnostic Data Viewer for PowerShell Overview](microsoft-diagnosticdataviewer.md) provides further information. +An administrator can also use the Diagnostic Data Viewer for PowerShell module to view the diagnostic data collected from the device instead of using the Diagnostic Data Viewer UI. The [Diagnostic Data Viewer for PowerShell Overview](diagnostic-data-viewer-powershell.md) provides further information. > [!Note] > If the Windows diagnostic data processor configuration is enabled, IT administrators should use the admin portal to fulfill data subject requests to access or export Windows diagnostic data associated with a particular user’s device usage. See [The process for exercising data subject rights](#3-the-process-for-exercising-data-subject-rights). @@ -180,14 +180,14 @@ Users can delete their device-based data by opening the Windows settings app and ### 3.2 View -The [Diagnostic Data Viewer (DDV)](diagnostic-data-viewer-overview.md) provides a view into the diagnostic data being collected from a Windows device. Administrators can also use the [Get-DiagnosticData](microsoft-diagnosticdataviewer.md#install-and-use-the-diagnostic-data-viewer-for-powershell) PowerShell cmdlet. +The [Diagnostic Data Viewer (DDV)](diagnostic-data-viewer-overview.md) provides a view into the diagnostic data being collected from a Windows device. Administrators can also use the [Get-DiagnosticData](diagnostic-data-viewer-powershell.md#install-and-use-the-diagnostic-data-viewer-for-powershell) PowerShell cmdlet. >[!Note] >If the Windows diagnostic data processor configuration is enabled, IT administrators can view the diagnostic data that is associated with a user from the admin portal. ### 3.3 Export -The [Diagnostic Data Viewer (DDV)](diagnostic-data-viewer-overview.md) provides the ability to export the diagnostic data captured while the app is running, by clicking the **Export** data button in the top menu. Administrators can also use the [Get-DiagnosticData](microsoft-diagnosticdataviewer.md#install-and-use-the-diagnostic-data-viewer-for-powershell) PowerShell cmdlet script. +The [Diagnostic Data Viewer (DDV)](diagnostic-data-viewer-overview.md) provides the ability to export the diagnostic data captured while the app is running, by clicking the **Export** data button in the top menu. Administrators can also use the [Get-DiagnosticData](diagnostic-data-viewer-powershell.md#install-and-use-the-diagnostic-data-viewer-for-powershell) PowerShell cmdlet script. >[!Note] >If the Windows diagnostic data processor configuration is enabled, IT administrators can also export the diagnostic data that is associated with a user from the admin portal. From 9a087910a8cd471b0fa6978bc8937d3db1762e45 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Wed, 24 Jul 2024 12:53:31 -0700 Subject: [PATCH 316/354] Update old redirections to Windows privacy content --- .openpublishing.redirection.json | 6 +++--- .openpublishing.redirection.windows-configuration.json | 6 +++--- .openpublishing.redirection.windows-privacy.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index f5699b6c99..ce1c61e4cc 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1302,7 +1302,7 @@ }, { "source_path": "windows/configure/configure-windows-telemetry-in-your-organization.md", - "redirect_url": "/windows/configuration/configure-windows-diagnostic-data-in-your-organization", + "redirect_url": "/windows/privacy/configure-windows-diagnostic-data-in-your-organization", "redirect_document_id": false }, { @@ -1527,7 +1527,7 @@ }, { "source_path": "windows/configure/windows-diagnostic-data-1703.md", - "redirect_url": "/windows/configuration/windows-diagnostic-data", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", "redirect_document_id": false }, { @@ -10372,7 +10372,7 @@ }, { "source_path": "windows/manage/configure-windows-telemetry-in-your-organization.md", - "redirect_url": "/windows/configuration/configure-windows-diagnostic-data-in-your-organization", + "redirect_url": "/windows/privacy/configure-windows-diagnostic-data-in-your-organization", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-configuration.json b/.openpublishing.redirection.windows-configuration.json index 914e5aaa7f..e07084c0ec 100644 --- a/.openpublishing.redirection.windows-configuration.json +++ b/.openpublishing.redirection.windows-configuration.json @@ -27,7 +27,7 @@ }, { "source_path": "windows/configuration/configure-windows-telemetry-in-your-organization.md", - "redirect_url": "/windows/configuration/configure-windows-diagnostic-data-in-your-organization", + "redirect_url": "/windows/privacy/configure-windows-diagnostic-data-in-your-organization", "redirect_document_id": false }, { @@ -267,12 +267,12 @@ }, { "source_path": "windows/configuration/windows-diagnostic-data-1709.md", - "redirect_url": "/windows/configuration/windows-diagnostic-data", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1709", "redirect_document_id": false }, { "source_path": "windows/configuration/windows-diagnostic-data.md", - "redirect_url": "/windows/privacy/windows-diagnostic-data", + "redirect_url": "/windows/privacy/index", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-privacy.json b/.openpublishing.redirection.windows-privacy.json index 3e2278ef26..54a466f5e3 100644 --- a/.openpublishing.redirection.windows-privacy.json +++ b/.openpublishing.redirection.windows-privacy.json @@ -137,7 +137,7 @@ }, { "source_path": "windows/privacy/windows-diagnostic-data-1703.md", - "redirect_url": "/previous-versions/windows/it-pro/privacy/windows-diagnostic-data-1703", + "redirect_url": "/previous-versions/windows/it-pro/privacy/basic-level-windows-diagnostic-events-and-fields-1703", "redirect_document_id": false }, { From c92f9ce5eb1accabf91b557c94e3fdbb57a1733f Mon Sep 17 00:00:00 2001 From: John Flores Date: Thu, 25 Jul 2024 12:15:20 -0400 Subject: [PATCH 317/354] Update from PG --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 4c4a6712c3..a896400776 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -103,7 +103,7 @@ The features in this article are no longer being actively developed, and might b |IIS Digest Authentication | We recommend that users use alternative authentication methods.| 1709 | |RSA/AES Encryption for IIS | We recommend that users use CNG encryption provider. | 1709 | |Screen saver functionality in Themes | Disabled in Themes. Screen saver functionality in Group Policies, Control Panel, and Sysprep continues to be functional. Lock screen features and policies are preferred. | 1709 | -|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. The **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:
                  - Windows 11
                  - Windows 10, version 21H2, or later | 1709 | +|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. As part of this change, we will stop supporting the Device Syncing Settings and App Data report. All other **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:
                  - Windows 11
                  - Windows 10, version 21H2, or later | 1709 | |System Image Backup (SIB) Solution|This feature is also known as the **Backup and Restore (Windows 7)** legacy control panel. For full-disk backup solutions, look for a third-party product from another software publisher. You can also use [OneDrive](/onedrive/) to sync data files with Microsoft 365.| 1709 | |TLS RC4 Ciphers |To be disabled by default. For more information, see [TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016](/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server)| 1709 | |Trusted Platform Module (TPM) Owner Password Management |This functionality within TPM.msc will be migrated to a new user interface.| 1709 | From 46b50bb89922ca595b48a219f65b34d089ef4bab Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 25 Jul 2024 10:15:46 -0700 Subject: [PATCH 318/354] fix toc --- windows/deployment/TOC.yml | 57 +++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 83bd0aad84..785008dca8 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -186,83 +186,82 @@ href: volume-activation/monitor-activation-client.md - name: Use the Volume Activation Management Tool href: volume-activation/use-the-volume-activation-management-tool-client.md - href: volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md + - name: Information sent to Microsoft during activation + href: volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md - name: Volume Activation Management Tool (VAMT) items: - name: VAMT technical reference href: volume-activation/volume-activation-management-tool.md - name: Introduction to VAMT href: volume-activation/introduction-vamt.md - - name: Active Directory-Based Activation Overview + - name: Active Directory-Based activation overview href: volume-activation/active-directory-based-activation-overview.md - - name: Install and Configure VAMT + - name: Install and configure VAMT items: - name: Overview href: volume-activation/install-configure-vamt.md - - name: VAMT Requirements + - name: VAMT requirements href: volume-activation/vamt-requirements.md - name: Install VAMT href: volume-activation/install-vamt.md - - name: Configure Client Computers + - name: Configure client computers href: volume-activation/configure-client-computers-vamt.md - - name: Add and Manage Products + - name: Add and manage products items: - name: Overview href: volume-activation/add-manage-products-vamt.md - - name: Add and Remove Computers + - name: Add and remove computers href: volume-activation/add-remove-computers-vamt.md - - name: Update Product Status + - name: Update product status href: volume-activation/update-product-status-vamt.md - - name: Remove Products + - name: Remove products href: volume-activation/remove-products-vamt.md - - name: Manage Product Keys + - name: Manage product keys items: - name: Overview href: volume-activation/manage-product-keys-vamt.md - - name: Add and Remove a Product Key + - name: Add and remove a product key href: volume-activation/add-remove-product-key-vamt.md - - name: Install a Product Key + - name: Install a product key href: volume-activation/install-product-key-vamt.md - - name: Install a KMS Client Key + - name: Install a KMS client key href: volume-activation/install-kms-client-key-vamt.md - - name: Manage Activations + - name: Manage activations items: - name: Overview href: volume-activation/manage-activations-vamt.md - - name: Run Online Activation + - name: Run online activation href: volume-activation/online-activation-vamt.md - - name: Run Proxy Activation + - name: Run proxy activation href: volume-activation/proxy-activation-vamt.md - - name: Run KMS Activation + - name: Run KMS activation href: volume-activation/kms-activation-vamt.md - - name: Run Local Reactivation + - name: Run local reactivation href: volume-activation/local-reactivation-vamt.md - - name: Activate an Active Directory Forest Online + - name: Activate an Active Directory forest online href: volume-activation/activate-forest-vamt.md - - name: Activate by Proxy an Active Directory Forest + - name: Activate by proxy an Active Directory forest href: volume-activation/activate-forest-by-proxy-vamt.md - - name: Manage VAMT Data + - name: Manage VAMT data items: - name: Overview href: volume-activation/manage-vamt-data.md - - name: Import and Export VAMT Data + - name: Import and export VAMT data href: volume-activation/import-export-vamt-data.md - name: Use VAMT in Windows PowerShell href: volume-activation/use-vamt-in-windows-powershell.md - - name: VAMT Step-by-Step Scenarios + - name: VAMT step-by-step scenarios items: - name: Overview href: volume-activation/vamt-step-by-step.md - - name: "Scenario 1: Online Activation" + - name: "Scenario 1: online activation" href: volume-activation/scenario-online-activation-vamt.md - - name: "Scenario 2: Proxy Activation" + - name: "Scenario 2: proxy activation" href: volume-activation/scenario-proxy-activation-vamt.md - - name: "Scenario 3: KMS Client Activation" + - name: "Scenario 3: KMS client activation" href: volume-activation/scenario-kms-activation-vamt.md - - name: VAMT Known Issues + - name: VAMT known issues href: volume-activation/vamt-known-issues.md - - name: Information sent to Microsoft during activation - href: volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md - name: Monitor items: - name: Windows Update for Business reports From 82f4a0a8beafba408f6129eb8b47eb961634d72d Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 25 Jul 2024 11:49:36 -0700 Subject: [PATCH 319/354] update metadata and cleanup --- .openpublishing.redirection.json | 12 ++--- ...ishing.redirection.windows-deployment.json | 32 ++++++++++++- windows/deployment/TOC.yml | 32 ++++--------- .../deployment/deploy-enterprise-licenses.md | 10 ++-- .../deployment/vda-subscription-activation.md | 6 +-- .../activate-forest-by-proxy-vamt.md | 16 +++---- .../volume-activation/activate-forest-vamt.md | 19 ++++---- ...ctive-directory-based-activation-client.md | 13 ++--- ...ivate-using-key-management-service-vamt.md | 15 +++--- .../activate-windows-clients-vamt.md | 14 +++--- ...ive-directory-based-activation-overview.md | 12 ++--- .../add-manage-products-vamt.md | 24 ---------- .../add-remove-computers-vamt.md | 18 +++---- .../add-remove-product-key-vamt.md | 16 ++++--- ...t-to-microsoft-during-activation-client.md | 20 ++++---- .../configure-client-computers-vamt.md | 20 ++++---- .../import-export-vamt-data.md | 6 +-- .../install-configure-vamt.md | 29 ----------- .../install-kms-client-key-vamt.md | 22 +++++---- .../install-product-key-vamt.md | 20 ++++---- .../volume-activation/install-vamt.md | 10 ++-- .../volume-activation/introduction-vamt.md | 10 ++-- .../volume-activation/kms-activation-vamt.md | 26 ++++++---- .../local-reactivation-vamt.md | 22 +++++---- .../manage-activations-vamt.md | 27 ----------- .../manage-product-keys-vamt.md | 24 ---------- .../volume-activation/manage-vamt-data.md | 23 --------- .../monitor-activation-client.md | 22 ++++----- .../online-activation-vamt.md | 36 +++++++------- .../plan-for-volume-activation-client.md | 32 ++++++------- .../proxy-activation-vamt.md | 38 +++++++++------ .../volume-activation/remove-products-vamt.md | 16 ++++--- .../scenario-kms-activation-vamt.md | 20 ++++---- .../scenario-online-activation-vamt.md | 28 +++++------ .../scenario-proxy-activation-vamt.md | 48 +++++++++---------- .../update-product-status-vamt.md | 18 +++---- ...olume-activation-management-tool-client.md | 23 +++++---- .../use-vamt-in-windows-powershell.md | 32 ++++++------- .../volume-activation/vamt-known-issues.md | 24 +++++----- .../volume-activation/vamt-requirements.md | 20 ++++---- .../volume-activation/vamt-step-by-step.md | 28 ----------- .../volume-activation-management-tool.md | 20 ++------ .../volume-activation-windows.md | 18 +++---- .../windows-enterprise-e3-overview.md | 11 +++-- .../windows-subscription-activation.md | 10 ++-- 45 files changed, 412 insertions(+), 530 deletions(-) delete mode 100644 windows/deployment/volume-activation/add-manage-products-vamt.md delete mode 100644 windows/deployment/volume-activation/install-configure-vamt.md delete mode 100644 windows/deployment/volume-activation/manage-activations-vamt.md delete mode 100644 windows/deployment/volume-activation/manage-product-keys-vamt.md delete mode 100644 windows/deployment/volume-activation/manage-vamt-data.md delete mode 100644 windows/deployment/volume-activation/vamt-step-by-step.md diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 31d8d2cd74..83100601eb 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1582,7 +1582,7 @@ }, { "source_path": "windows/deploy/add-manage-products-vamt.md", - "redirect_url": "/windows/deployment/volume-activation/add-manage-products-vamt", + "redirect_url": "/windows/deployment/volume-activation/add-remove-computers-vamt", "redirect_document_id": false }, { @@ -1732,7 +1732,7 @@ }, { "source_path": "windows/deploy/install-configure-vamt.md", - "redirect_url": "/windows/deployment/volume-activation/install-configure-vamt", + "redirect_url": "/windows/deployment/volume-activation/vamt-requirements", "redirect_document_id": false }, { @@ -1777,17 +1777,17 @@ }, { "source_path": "windows/deploy/manage-activations-vamt.md", - "redirect_url": "/windows/deployment/volume-activation/manage-activations-vamt", + "redirect_url": "/windows/deployment/volume-activation/online-activation-vamt", "redirect_document_id": false }, { "source_path": "windows/deploy/manage-product-keys-vamt.md", - "redirect_url": "/windows/deployment/volume-activation/manage-product-keys-vamt", + "redirect_url": "/windows/deployment/volume-activation/add-remove-product-key-vamt", "redirect_document_id": false }, { "source_path": "windows/deploy/manage-vamt-data.md", - "redirect_url": "/windows/deployment/volume-activation/manage-vamt-data", + "redirect_url": "/windows/deployment/volume-activation/import-export-vamt-data", "redirect_document_id": false }, { @@ -2422,7 +2422,7 @@ }, { "source_path": "windows/deploy/vamt-step-by-step.md", - "redirect_url": "/windows/deployment/volume-activation/vamt-step-by-step", + "redirect_url": "/windows/deployment/volume-activation/scenario-online-activation-vamt", "redirect_document_id": false }, { diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index 3345b69500..7f67dadb04 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1189,11 +1189,41 @@ "source_path": "windows/deployment/do/waas-delivery-optimization-setup.md", "redirect_url": "/windows/deployment/do/delivery-optimization-configure", "redirect_document_id": false - }, + }, { "source_path": "windows/deployment/update/plan-determine-app-readiness.md", "redirect_url": "/windows/compatibility/windows-11/testing-guidelines", "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/add-manage-products-vamt.md", + "redirect_url": "/windows/deployment/volume-activation/add-remove-computers-vamt", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/install-configure-vamt.md", + "redirect_url": "/windows/deployment/volume-activation/vamt-requirements", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/manage-activations-vamt.md", + "redirect_url": "/windows/deployment/volume-activation/online-activation-vamt", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/manage-product-keys-vamt.md", + "redirect_url": "/windows/deployment/volume-activation/add-remove-product-key-vamt", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/manage-vamt-data.md", + "redirect_url": "/windows/deployment/volume-activation/import-export-vamt-data", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/volume-activation/vamt-step-by-step.md", + "redirect_url": "/windows/deployment/volume-activation/scenario-online-activation-vamt", + "redirect_document_id": false } ] } diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 785008dca8..cb3fd2076a 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -198,8 +198,6 @@ href: volume-activation/active-directory-based-activation-overview.md - name: Install and configure VAMT items: - - name: Overview - href: volume-activation/install-configure-vamt.md - name: VAMT requirements href: volume-activation/vamt-requirements.md - name: Install VAMT @@ -208,8 +206,6 @@ href: volume-activation/configure-client-computers-vamt.md - name: Add and manage products items: - - name: Overview - href: volume-activation/add-manage-products-vamt.md - name: Add and remove computers href: volume-activation/add-remove-computers-vamt.md - name: Update product status @@ -218,8 +214,6 @@ href: volume-activation/remove-products-vamt.md - name: Manage product keys items: - - name: Overview - href: volume-activation/manage-product-keys-vamt.md - name: Add and remove a product key href: volume-activation/add-remove-product-key-vamt.md - name: Install a product key @@ -228,8 +222,6 @@ href: volume-activation/install-kms-client-key-vamt.md - name: Manage activations items: - - name: Overview - href: volume-activation/manage-activations-vamt.md - name: Run online activation href: volume-activation/online-activation-vamt.md - name: Run proxy activation @@ -244,24 +236,20 @@ href: volume-activation/activate-forest-by-proxy-vamt.md - name: Manage VAMT data items: - - name: Overview - href: volume-activation/manage-vamt-data.md - name: Import and export VAMT data href: volume-activation/import-export-vamt-data.md - name: Use VAMT in Windows PowerShell href: volume-activation/use-vamt-in-windows-powershell.md - - name: VAMT step-by-step scenarios - items: - - name: Overview - href: volume-activation/vamt-step-by-step.md - - name: "Scenario 1: online activation" - href: volume-activation/scenario-online-activation-vamt.md - - name: "Scenario 2: proxy activation" - href: volume-activation/scenario-proxy-activation-vamt.md - - name: "Scenario 3: KMS client activation" - href: volume-activation/scenario-kms-activation-vamt.md - - name: VAMT known issues - href: volume-activation/vamt-known-issues.md + - name: VAMT step-by-step scenarios + items: + - name: "Scenario 1: online activation" + href: volume-activation/scenario-online-activation-vamt.md + - name: "Scenario 2: proxy activation" + href: volume-activation/scenario-proxy-activation-vamt.md + - name: "Scenario 3: KMS client activation" + href: volume-activation/scenario-kms-activation-vamt.md + - name: VAMT known issues + href: volume-activation/vamt-known-issues.md - name: Monitor items: - name: Windows Update for Business reports diff --git a/windows/deployment/deploy-enterprise-licenses.md b/windows/deployment/deploy-enterprise-licenses.md index 4fde853386..2e0cc4d984 100644 --- a/windows/deployment/deploy-enterprise-licenses.md +++ b/windows/deployment/deploy-enterprise-licenses.md @@ -1,16 +1,14 @@ --- title: Deploy Windows Enterprise licenses description: Steps to deploy Windows Enterprise licenses for Windows Enterprise E3 or E5 subscription activation, or for Windows Enterprise E3 in CSP. -author: frankroj -ms.author: frankroj -manager: aaroncz +ms.author: kaushika +author: kaushika-msft +manager: cshepard +ms.reviewer: nganguly ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium ms.topic: how-to -ms.collection: - - highpri - - tier2 ms.date: 03/04/2024 zone_pivot_groups: windows-versions-11-10 appliesto: diff --git a/windows/deployment/vda-subscription-activation.md b/windows/deployment/vda-subscription-activation.md index 0e1c0ccf66..922c1e32b5 100644 --- a/windows/deployment/vda-subscription-activation.md +++ b/windows/deployment/vda-subscription-activation.md @@ -2,9 +2,9 @@ title: Configure VDA for Windows subscription activation description: Learn how to configure virtual machines (VMs) to enable Windows 10 Subscription Activation in a Windows Virtual Desktop Access (VDA) scenario. ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -author: frankroj +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium diff --git a/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md b/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md index fcf91e9502..1d89c61ebf 100644 --- a/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md +++ b/windows/deployment/volume-activation/activate-forest-by-proxy-vamt.md @@ -1,17 +1,17 @@ --- -title: Activate by Proxy an Active Directory Forest (Windows 10) +title: Activate by proxy an Active Directory forest description: Learn how to use the Volume Activation Management Tool (VAMT) Active Directory-Based Activation (ADBA) function to activate by proxy an Active Directory (AD) forest. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Activate by Proxy an Active Directory Forest +# Activate by proxy an Active Directory forest You can use the Volume Activation Management Tool (VAMT) Active Directory-Based Activation (ADBA) function to activate by proxy an Active Directory (AD) forest for an isolated workgroup that doesn't have Internet access. ADBA enables certain volume products to inherit activation from the domain. @@ -64,4 +64,4 @@ VAMT displays the **Activating Active Directory** dialog box until it completes ## Related articles -- [Add and Remove Computers](add-remove-computers-vamt.md) +[Add and remove computers](add-remove-computers-vamt.md) diff --git a/windows/deployment/volume-activation/activate-forest-vamt.md b/windows/deployment/volume-activation/activate-forest-vamt.md index 128068b07c..f264dc644b 100644 --- a/windows/deployment/volume-activation/activate-forest-vamt.md +++ b/windows/deployment/volume-activation/activate-forest-vamt.md @@ -1,17 +1,17 @@ --- -title: Activate an Active Directory Forest Online (Windows 10) +title: Activate an Active Directory forest online description: Use the Volume Activation Management Tool (VAMT) Active Directory-Based Activation (ADBA) function to activate an Active Directory (AD) forest online. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Activate an Active Directory Forest Online +# Activate an Active Directory forest online You can use the Volume Activation Management Tool (VAMT) Active Directory-Based Activation (ADBA) function to activate an Active Directory (AD) forest over the Internet. ADBA enables certain products to inherit activation from the domain. @@ -51,5 +51,6 @@ The activated object and the date that it was created appear in the **Active Dir ## Related articles -- [Scenario 1: Online Activation](scenario-online-activation-vamt.md) -- [Add and Remove Computers](add-remove-computers-vamt.md) +- [Scenario 1: online activation](scenario-online-activation-vamt.md) + +- [Add and remove computers](add-remove-computers-vamt.md) diff --git a/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md b/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md index 1510e640eb..6be9e26b91 100644 --- a/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md +++ b/windows/deployment/volume-activation/activate-using-active-directory-based-activation-client.md @@ -1,18 +1,15 @@ --- title: Activate using Active Directory-based activation description: Learn how active directory-based activation is implemented as a role service that relies on Active Directory Domain Services (ADDS) to store activation objects. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -author: frankroj -ms.author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium ms.date: 03/29/2024 ms.topic: how-to -ms.collection: - - highpri - - tier2 appliesto: - ✅ Windows 11 - ✅ Windows 10 @@ -28,8 +25,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). Active Directory-based activation is implemented as a role service that relies on Active Directory Domain Services (ADDS) to store activation objects. Active Directory-based activation requires updating the forest schema with `adprep.exe` on a supported server OS. After the schema is updated, older domain controllers can still activate clients. diff --git a/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md b/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md index edc0003a75..9d68177a96 100644 --- a/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md +++ b/windows/deployment/volume-activation/activate-using-key-management-service-vamt.md @@ -1,18 +1,15 @@ --- title: Activate using Key Management Service description: Learn how to use Key Management Service (KMS) to activate Windows. -ms.reviewer: nganguly ms.service: windows-client ms.subservice: itpro-fundamentals -author: frankroj -manager: aaroncz -ms.author: frankroj +ms.author: kaushika +author: kaushika-msft +manager: cshepard +ms.reviewer: nganguly ms.localizationpriority: medium ms.date: 03/29/2024 ms.topic: how-to -ms.collection: - - highpri - - tier2 appliesto: - ✅ Windows 11 - ✅ Windows 10 @@ -27,8 +24,8 @@ appliesto: > > For information on retail activation, see the following articles: > -> - [Activate Windows](https://support.microsoft.com/help/12440/) -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644) +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227) +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0) Volume activation can be performed via Key Management Service (KMS). KMS can be hosted either on a client version of Windows or on Windows Server. diff --git a/windows/deployment/volume-activation/activate-windows-clients-vamt.md b/windows/deployment/volume-activation/activate-windows-clients-vamt.md index 7f95ef225e..73375ba2c1 100644 --- a/windows/deployment/volume-activation/activate-windows-clients-vamt.md +++ b/windows/deployment/volume-activation/activate-windows-clients-vamt.md @@ -1,14 +1,14 @@ --- title: Activate clients running Windows description: Activate clients running Windows after configuring Key Management Service (KMS) or Active Directory-based activation. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 @@ -24,8 +24,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). After Key Management Service (KMS) or Active Directory-based activation is configured in a network, activating a client running Windows is easy. If the computer is configured with a Generic Volume License Key (GVLK), IT or the user don't need to take any action. It just works. diff --git a/windows/deployment/volume-activation/active-directory-based-activation-overview.md b/windows/deployment/volume-activation/active-directory-based-activation-overview.md index ed01a87d85..ddce9806a9 100644 --- a/windows/deployment/volume-activation/active-directory-based-activation-overview.md +++ b/windows/deployment/volume-activation/active-directory-based-activation-overview.md @@ -1,13 +1,13 @@ --- -title: Active Directory-Based Activation Overview (Windows 10) +title: Active Directory-based activation overview description: Enable your enterprise to activate its computers through a connection to their domain using Active Directory-Based Activation (ADBA). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals --- diff --git a/windows/deployment/volume-activation/add-manage-products-vamt.md b/windows/deployment/volume-activation/add-manage-products-vamt.md deleted file mode 100644 index e4f655dbf7..0000000000 --- a/windows/deployment/volume-activation/add-manage-products-vamt.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Add and Manage Products -description: Add client computers into the Volume Activation Management Tool (VAMT). After the computers are added, the products that are installed in the network can be managed. -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.date: 03/29/2024 -ms.topic: conceptual -ms.subservice: itpro-fundamentals ---- - -# Add and manage products - -This section describes how to add client computers into the Volume Activation Management Tool (VAMT). After the computers are added, the products that are installed in the network can be managed. - -## In this Section - -|Article |Description | -|-------|------------| -|[Add and Remove Computers](add-remove-computers-vamt.md) |Describes how to add client computers to VAMT. | -|[Update Product Status](update-product-status-vamt.md) |Describes how to update the status of product license. | -|[Remove Products](remove-products-vamt.md) |Describes how to remove a product from the product list. | diff --git a/windows/deployment/volume-activation/add-remove-computers-vamt.md b/windows/deployment/volume-activation/add-remove-computers-vamt.md index 9878980a5d..d643fe3e46 100644 --- a/windows/deployment/volume-activation/add-remove-computers-vamt.md +++ b/windows/deployment/volume-activation/add-remove-computers-vamt.md @@ -1,13 +1,13 @@ --- -title: Add and Remove Computers (Windows 10) -description: The Discover products function on the Volume Activation Management Tool (VAMT) allows you to search the Active Directory domain or a general LDAP query. +title: Add and remove computers +description: The discover products function on the Volume Activation Management Tool (VAMT) allows you to search the Active Directory domain or a general LDAP query. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -71,4 +71,6 @@ You can delete a computer by clicking on it in the product list view, and then c ## Related articles -- [Add and Manage Products](add-manage-products-vamt.md) +[Update product status](update-product-status-vamt.md) + +[Remove products](remove-products-vamt.md) diff --git a/windows/deployment/volume-activation/add-remove-product-key-vamt.md b/windows/deployment/volume-activation/add-remove-product-key-vamt.md index af1131f23a..653312d500 100644 --- a/windows/deployment/volume-activation/add-remove-product-key-vamt.md +++ b/windows/deployment/volume-activation/add-remove-product-key-vamt.md @@ -1,13 +1,13 @@ --- -title: Add and Remove a Product Key (Windows 10) +title: Add and remove a product key description: Add a product key to the Volume Activation Management Tool (VAMT) database. Also, learn how to remove the key from the database. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -38,4 +38,6 @@ Before you can use a Multiple Activation Key (MAK), retail, or KMS Host key (CSV ## Related articles -- [Manage Product Keys](manage-product-keys-vamt.md) +[Install a product key](install-product-key-vamt.md) + +[Install a KMS client key](install-kms-client-key-vamt.md) diff --git a/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md b/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md index 7fce96b052..d9f10dc1ba 100644 --- a/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md +++ b/windows/deployment/volume-activation/appendix-information-sent-to-microsoft-during-activation-client.md @@ -1,15 +1,15 @@ --- -title: Appendix Information sent to Microsoft during activation +title: Appendix information sent to Microsoft during activation description: Learn about the information sent to Microsoft during activation. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: reference appliesto: - ✅ Windows 11 - ✅ Windows 10 @@ -24,8 +24,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). When a computer running a currently supported version of Windows is activated, the following information is sent to Microsoft: @@ -78,8 +78,4 @@ Standard computer information is also sent, but the computer's IP address is onl Microsoft uses the information to confirm a properly licensed copy of the software. Microsoft doesn't use the information to contact individual consumers. -For more information, see [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/p/?LinkId=619879). - -## Related content - -- [Volume Activation for Windows](volume-activation-windows.md). +For more information, see [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement). diff --git a/windows/deployment/volume-activation/configure-client-computers-vamt.md b/windows/deployment/volume-activation/configure-client-computers-vamt.md index c3c6e47154..0c71f80635 100644 --- a/windows/deployment/volume-activation/configure-client-computers-vamt.md +++ b/windows/deployment/volume-activation/configure-client-computers-vamt.md @@ -1,13 +1,13 @@ --- -title: Configure Client Computers (Windows 10) +title: Configure client computers description: Learn how to configure client computers to enable the Volume Activation Management Tool (VAMT) to function correctly. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -author: frankroj -ms.author: frankroj -ms.service: windows-client ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -62,9 +62,9 @@ Enable the VAMT to access client computers across multiple subnets using the **W - Windows Management Instrumentation (WMI-In) 4. In the **Windows Firewall with Advanced Security** dialog box, select **Inbound Rules** from the left-hand panel. - + 5. Right-click the desired rule and select **Properties** to open the **Properties** dialog box. - + - On the **General** tab, select the **Allow the connection** checkbox. - On the **Scope** tab, change the Remote IP Address setting from "Local Subnet" (default) to allow the specific access you need. @@ -109,4 +109,6 @@ The above configurations will open an additional port through the Windows Firewa ## Related articles -- [Install and Configure VAMT](install-configure-vamt.md) +[VAMT requirements](vamt-requirements.md) + +[Install VAMT](install-vamt.md) diff --git a/windows/deployment/volume-activation/import-export-vamt-data.md b/windows/deployment/volume-activation/import-export-vamt-data.md index 888523a907..641da415d0 100644 --- a/windows/deployment/volume-activation/import-export-vamt-data.md +++ b/windows/deployment/volume-activation/import-export-vamt-data.md @@ -1,12 +1,12 @@ --- title: Import and export VAMT data description: Learn how to use the VAMT to import product-activation data from a file into SQL Server. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals -author: frankroj ms.date: 11/07/2022 ms.topic: how-to --- diff --git a/windows/deployment/volume-activation/install-configure-vamt.md b/windows/deployment/volume-activation/install-configure-vamt.md deleted file mode 100644 index aee189d31f..0000000000 --- a/windows/deployment/volume-activation/install-configure-vamt.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Install and Configure VAMT -description: Learn how to install and configure the Volume Activation Management Tool (VAMT), and learn where to find information about the process. -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.localizationpriority: medium -ms.date: 03/29/2024 -ms.topic: conceptual -ms.subservice: itpro-fundamentals ---- - -# Install and configure VAMT - -This section describes how to install and configure the Volume Activation Management Tool (VAMT). - -## In this section - -|Article |Description | -|-------|------------| -|[VAMT Requirements](vamt-requirements.md) |Provides system requirements for installing VAMT on a host computer. | -|[Install VAMT](install-vamt.md) |Describes how to get and install VAMT. | -|[Configure Client Computers](configure-client-computers-vamt.md) |Describes how to configure client computers in the network to work with VAMT. | - -## Related content - -- [Introduction to VAMT](introduction-vamt.md). diff --git a/windows/deployment/volume-activation/install-kms-client-key-vamt.md b/windows/deployment/volume-activation/install-kms-client-key-vamt.md index 80a5fc67e1..8643b3908a 100644 --- a/windows/deployment/volume-activation/install-kms-client-key-vamt.md +++ b/windows/deployment/volume-activation/install-kms-client-key-vamt.md @@ -1,25 +1,25 @@ --- -title: Install a KMS Client Key (Windows 10) +title: Install a KMS client key description: Learn to use the Volume Activation Management Tool (VAMT) to install Generic Volume License Key (GVLK), or KMS client, product keys. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Install a KMS Client Key +# Install a KMS client key You can use the Volume Activation Management Tool (VAMT) to install Generic Volume License Key (GVLK), or KMS client, product keys. For example, if you're converting a MAK-activated product to KMS activation. > [!NOTE] > By default, volume license editions of Windows Vista, Windows® 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server® 2012, and Microsoft® Office 2010 use KMS for activation. GVLKs are already installed in volume license editions of these products. -## To install a KMS Client key +## To install a KMS client key 1. Open VAMT. @@ -47,4 +47,8 @@ You can use the Volume Activation Management Tool (VAMT) to install Generic Volu ## Related articles -- [Perform KMS Activation](kms-activation-vamt.md) +[Run KMS activation](kms-activation-vamt.md) + +[Add and remove a product key](add-remove-product-key-vamt.md) + +[Install a product key](install-product-key-vamt.md) diff --git a/windows/deployment/volume-activation/install-product-key-vamt.md b/windows/deployment/volume-activation/install-product-key-vamt.md index 2b9d727184..cbd82fea0b 100644 --- a/windows/deployment/volume-activation/install-product-key-vamt.md +++ b/windows/deployment/volume-activation/install-product-key-vamt.md @@ -1,22 +1,22 @@ --- -title: Install a Product Key (Windows 10) +title: Install a product key description: Learn to use the Volume Activation Management Tool (VAMT) to install retail, Multiple Activation Key (MAK), and KMS Host key (CSVLK). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Install a Product Key +# Install a product key You can use the Volume Activation Management Tool (VAMT) to install retail, Multiple Activation Key (MAK), and KMS Host key (CSVLK). -## To install a Product key +## To install a product key 1. Open VAMT. @@ -47,4 +47,6 @@ You can use the Volume Activation Management Tool (VAMT) to install retail, Mult ## Related articles -- [Manage Product Keys](manage-product-keys-vamt.md) +[Add and remove a product key](add-remove-product-key-vamt.md) + +[Install a KMS client key](install-kms-client-key-vamt.md) diff --git a/windows/deployment/volume-activation/install-vamt.md b/windows/deployment/volume-activation/install-vamt.md index 3b3b7746fa..ab6ee683e6 100644 --- a/windows/deployment/volume-activation/install-vamt.md +++ b/windows/deployment/volume-activation/install-vamt.md @@ -1,14 +1,14 @@ --- title: Install VAMT description: Learn how to install Volume Activation Management Tool (VAMT) as part of the Windows Assessment and Deployment Kit (ADK) for Windows. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 diff --git a/windows/deployment/volume-activation/introduction-vamt.md b/windows/deployment/volume-activation/introduction-vamt.md index ae69a809d3..e07192b464 100644 --- a/windows/deployment/volume-activation/introduction-vamt.md +++ b/windows/deployment/volume-activation/introduction-vamt.md @@ -1,12 +1,12 @@ --- -title: Introduction to VAMT (Windows 10) +title: Introduction to VAMT description: VAMT enables administrators to automate and centrally manage the Windows, Microsoft Office, and select other Microsoft products volume and retail activation process. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals -author: frankroj ms.date: 11/07/2022 ms.topic: overview --- @@ -64,4 +64,4 @@ VAMT provides a single, graphical user interface for managing activations, and f ## Next steps -[VAMT step-by-step scenarios](vamt-step-by-step.md) +[VAMT requirements](vamt-requirements.md) diff --git a/windows/deployment/volume-activation/kms-activation-vamt.md b/windows/deployment/volume-activation/kms-activation-vamt.md index 1890da7caf..ced67be74b 100644 --- a/windows/deployment/volume-activation/kms-activation-vamt.md +++ b/windows/deployment/volume-activation/kms-activation-vamt.md @@ -1,19 +1,19 @@ --- -title: Perform KMS Activation (Windows 10) -description: The Volume Activation Management Tool (VAMT) can be used to perform volume activation using the Key Management Service (KMS). +title: Run KMS activation +description: The Volume Activation Management Tool (VAMT) can be used to run volume activation using the Key Management Service (KMS). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Perform KMS activation +# Run KMS activation -The Volume Activation Management Tool (VAMT) can be used to perform volume activation using the Key Management Service (KMS). You can use VAMT to activate Generic Volume Licensing Keys, or KMS client keys, on products accessible to VAMT. GVLKs are the default product keys used by the volume-license editions of Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server® 2012, and Microsoft Office 2010. GVLKs are already installed in volume-license editions of these products. +The Volume Activation Management Tool (VAMT) can be used to run volume activation using the Key Management Service (KMS). You can use VAMT to activate Generic Volume Licensing Keys, or KMS client keys, on products accessible to VAMT. GVLKs are the default product keys used by the volume-license editions of Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server® 2012, and Microsoft Office 2010. GVLKs are already installed in volume-license editions of these products. ## Requirements @@ -61,3 +61,11 @@ Before configuring KMS activation, ensure that your network and VAMT installatio 10. If you're supplying alternate credentials, at the prompt, type the appropriate user name and password and select **OK**. VAMT displays the **Volume Activation** dialog box until it completes the requested action. When the process is finished, the updated activation status of each product appears in the product list view in the center pane. + +## Related articles + +[Run online activation](online-activation-vamt.md) + +[Run proxy activation](proxy-activation-vamt.md) + +[Run local reactivation](local-reactivation-vamt.md) diff --git a/windows/deployment/volume-activation/local-reactivation-vamt.md b/windows/deployment/volume-activation/local-reactivation-vamt.md index 2bee6093d1..13e63058a6 100644 --- a/windows/deployment/volume-activation/local-reactivation-vamt.md +++ b/windows/deployment/volume-activation/local-reactivation-vamt.md @@ -1,17 +1,17 @@ --- -title: Perform Local Reactivation (Windows 10) +title: Run local reactivation description: An initially activated a computer using scenarios like MAK, retail, or CSLVK (KMS host), can be reactivated with Volume Activation Management Tool (VAMT). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Perform local reactivation +# Run local reactivation If you reinstall Windows® or Microsoft® Office 2010 on a computer that was initially activated using proxy activation (MAK, retail, or CSLVK (KMS host)), and have not made significant changes to the hardware, use this local reactivation procedure to reactivate the program on that computer. Local reactivation relies upon data that was created during the initial proxy activation and stored in the Volume Activation Management Tool (VAMT) database. The database contains the installation ID (IID) and confirmation ID (Pending CID). Local reactivation uses this data to reapply the CID and reactivate those products. Reapplying the same CID conserves the remaining activations on the key. @@ -19,7 +19,7 @@ Local reactivation relies upon data that was created during the initial proxy ac > [!NOTE] > During the initial proxy activation, the CID is bound to a digital "fingerprint", which is calculated from values assigned to several different hardware components in the computer. If the computer has had significant hardware changes, this fingerprint will no longer match the CID. In this case, you must obtain a new CID for the computer from Microsoft. -## To perform a local reactivation +## To run a local reactivation 1. Open VAMT. Make sure that you're connected to the desired database. @@ -51,4 +51,8 @@ Local reactivation relies upon data that was created during the initial proxy ac ## Related article -- [Manage Activations](manage-activations-vamt.md) +[Run online activation](online-activation-vamt.md) + +[Run proxy activation](proxy-activation-vamt.md) + +[Run KMS activation](kms-activation-vamt.md) diff --git a/windows/deployment/volume-activation/manage-activations-vamt.md b/windows/deployment/volume-activation/manage-activations-vamt.md deleted file mode 100644 index 49cbc84db3..0000000000 --- a/windows/deployment/volume-activation/manage-activations-vamt.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Manage Activations -description: Learn how to manage activations and how to activate a client computer by using various activation methods. -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.date: 03/29/2024 -ms.topic: conceptual -ms.subservice: itpro-fundamentals ---- - -# Manage Activations - -This section describes how to activate a client computer, by using various activation methods. - -## In this Section - -|Article |Description | -|-------|------------| -|[Perform Online Activation](online-activation-vamt.md) |Describes how to activate a client computer over the Internet. | -|[Perform Proxy Activation](proxy-activation-vamt.md) |Describes how to perform volume activation for client products that don't have Internet access. | -|[Perform KMS Activation](kms-activation-vamt.md) |Describes how to perform volume activation using the Key Management Service (KMS). | -|[Perform Local Reactivation](local-reactivation-vamt.md) |Describes how to reactivate an operating system or Office program that was reinstalled. | -|[Activate an Active Directory Forest Online](activate-forest-vamt.md) |Describes how to use Active Directory-Based Activation to activate an Active Directory forest, online. | -|[Activate by Proxy an Active Directory Forest](activate-forest-by-proxy-vamt.md) |Describes how to use Active Directory-Based Activation to proxy activate an Active Directory forest that isn't connected to the Internet. | diff --git a/windows/deployment/volume-activation/manage-product-keys-vamt.md b/windows/deployment/volume-activation/manage-product-keys-vamt.md deleted file mode 100644 index fb18c65aa6..0000000000 --- a/windows/deployment/volume-activation/manage-product-keys-vamt.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Manage Product Keys -description: In this article, learn how to add and remove a product key from the Volume Activation Management Tool (VAMT). -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.date: 03/29/2024 -ms.topic: conceptual -ms.subservice: itpro-fundamentals ---- - -# Manage Product Keys - -This section describes how to add and remove a product key from the Volume Activation Management Tool (VAMT). After a product key is added to VAMT, that product key can be installed on a product, or products selected in the VAMT database. - -## In this Section - -|Article |Description | -|-------|------------| -|[Add and Remove a Product Key](add-remove-product-key-vamt.md) |Describes how to add a product key to the VAMT database. | -|[Install a Product Key](install-product-key-vamt.md) |Describes how to install a product key for specific product. | -|[Install a KMS Client Key](install-kms-client-key-vamt.md) |Describes how to install a GVLK (KMS client) key. | diff --git a/windows/deployment/volume-activation/manage-vamt-data.md b/windows/deployment/volume-activation/manage-vamt-data.md deleted file mode 100644 index 3946fc1c63..0000000000 --- a/windows/deployment/volume-activation/manage-vamt-data.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Manage VAMT Data -description: Learn how to save, import, export, and merge a Computer Information List (CILX) file using the Volume Activation Management Tool (VAMT). -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.date: 03/29/2024 -ms.topic: conceptual -ms.subservice: itpro-fundamentals ---- - -# Manage VAMT Data - -This section describes how to save, import, export, and merge a Computer Information List (CILX) file using the Volume Activation Management Tool (VAMT). - -## In this Section - -|Article |Description | -|-------|------------| -|[Import and Export VAMT Data](import-export-vamt-data.md) |Describes how to import and export VAMT data. | -|[Use VAMT in Windows PowerShell](use-vamt-in-windows-powershell.md) |Describes how to access Windows PowerShell and how to import the VAMT PowerShell module. | diff --git a/windows/deployment/volume-activation/monitor-activation-client.md b/windows/deployment/volume-activation/monitor-activation-client.md index 3720919a25..db0510c320 100644 --- a/windows/deployment/volume-activation/monitor-activation-client.md +++ b/windows/deployment/volume-activation/monitor-activation-client.md @@ -1,13 +1,13 @@ --- title: Monitor activation -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj description: Understand the most common methods to monitor the success of the activation process for a computer running Windows. -ms.service: windows-client -author: frankroj +ms.author: kaushika +author: kaushika-msft +manager: cshepard +ms.reviewer: nganguly ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals ms.date: 03/29/2024 appliesto: @@ -24,8 +24,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). The success of the activation process for a computer running Windows can be monitored in several ways. The most popular methods include: @@ -39,10 +39,10 @@ The success of the activation process for a computer running Windows can be moni - Microsoft System Center Operations Manager and the KMS Management Pack can provide insight and information to users of System Center Operations Manager. -- See [Troubleshooting activation error codes](/windows-server/get-started/activation-error-codes) for information about troubleshooting procedures for Multiple Activation Key (MAK) or the Key Management Service (KMS). +- See [Troubleshooting activation error codes](/troubleshoot/windows-server/licensing-and-activation/troubleshoot-activation-error-codes) for information about troubleshooting procedures for Multiple Activation Key (MAK) or the Key Management Service (KMS). -- The Volume Activation Management Tool (VAMT) provides a single site from which to manage and monitor volume activations. This feature is explained in the next section. +- The Volume Activation Management Tool (VAMT) provides a single site from which to manage and monitor volume activations. For more information, see [Introduction to VAMT](introduction-vamt.md). ## Related content -- [Volume Activation for Windows](volume-activation-windows.md). +[Volume activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/online-activation-vamt.md b/windows/deployment/volume-activation/online-activation-vamt.md index 3e6a04568d..8aa4cd5cf7 100644 --- a/windows/deployment/volume-activation/online-activation-vamt.md +++ b/windows/deployment/volume-activation/online-activation-vamt.md @@ -1,35 +1,35 @@ --- -title: Perform Online Activation (Windows 10) +title: Run online activation description: Learn how to use the Volume Activation Management Tool (VAMT) to enable client products to be activated online. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Perform online activation +# Run online activation -You can use the Volume Activation Management Tool (VAMT) to enable client products to be activated over the Internet. You can install the client products with any kind of product key that is eligible for online activation—Multiple Activation Key (MAK), retail, and Windows Key Management Services (KMS) host key. +You can use the Volume Activation Management Tool (VAMT) to enable client products to be activated over the internet. You can install the client products with any kind of product key that is eligible for online activation—Multiple Activation Key (MAK), retail, and Windows Key Management Services (KMS) host key. ## Requirements -Before performing online activation, ensure that the network and the VAMT installation meet the following requirements: +Before running online activation, ensure that the network and the VAMT installation meet the following requirements: - VAMT is installed on a central computer that has network access to all client computers. -- Both the VAMT host and client computers have Internet access. +- Both the VAMT host and client computers have internet access. - The products that you want to activate are added to VAMT. -- VAMT has administrative permissions on all computers that you intend to activate, and that Windows Management Instrumentation (WMI) can be accessed through the Windows firewall. For more information, see [Configure Client Computers](configure-client-computers-vamt.md). +- VAMT has administrative permissions on all computers that you intend to activate, and that Windows Management Instrumentation (WMI) can be accessed through the Windows firewall. For more information, see [Configure client computers](configure-client-computers-vamt.md). -The product keys that are installed on the client products must have a sufficient number of remaining activations. If you're activating a MAK key, you can retrieve the remaining number of activations for that key by selecting the MAK in the product key list in the center pane and then clicking **Refresh product key data online** in the right-side pane. This action retrieves the number of remaining activations for the MAK from Microsoft. This step requires Internet access and that the remaining activation count can only be retrieved for MAKs. +The product keys that are installed on the client products must have a sufficient number of remaining activations. If you're activating a MAK key, you can retrieve the remaining number of activations for that key by selecting the MAK in the product key list in the center pane and then clicking **Refresh product key data online** in the right-side pane. This action retrieves the number of remaining activations for the MAK from Microsoft. This step requires internet access and that the remaining activation count can only be retrieved for MAKs. -## To perform an online activation +## To run an online activation 1. Open VAMT. @@ -54,11 +54,15 @@ The product keys that are installed on the client products must have a sufficien The same status is shown under the **Status of Last Action** column in the products list view in the center pane. > [!NOTE] - > Online activation does not enable you to save the Confirmation IDs (CIDs). As a result, you cannot perform local reactivation. + > Online activation doesn't enable you to save the Confirmation IDs (CIDs). As a result, you can't run local reactivation. - > [!NOTE] + > [!NOTE] > You can use online activation to select products that have different key types and activate the products at the same time. ## Related articles -- [Manage activations](manage-activations-vamt.md) +[Run proxy activation](proxy-activation-vamt.md) + +[Run KMS activation](kms-activation-vamt.md) + +[Run local reactivation](local-reactivation-vamt.md) diff --git a/windows/deployment/volume-activation/plan-for-volume-activation-client.md b/windows/deployment/volume-activation/plan-for-volume-activation-client.md index 89dab1ef39..cf6a3cdced 100644 --- a/windows/deployment/volume-activation/plan-for-volume-activation-client.md +++ b/windows/deployment/volume-activation/plan-for-volume-activation-client.md @@ -1,13 +1,13 @@ --- title: Plan for volume activation description: Product activation is the process of validating software with the manufacturer after it's installed on a specific computer. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals ms.date: 03/29/2024 appliesto: @@ -24,8 +24,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). *Product activation* is the process of validating software with the manufacturer after it's installed on a specific computer. Activation confirms that the product is genuine and not a fraudulent copy. Activation also confirms that the product key or serial number is valid and isn't compromised or revoked. Activation also establishes a link or relationship between the product key and the particular installation. @@ -76,7 +76,7 @@ With a retail product, the Volume Activation Management Tool (VAMT), which is di - Telephone activation. - VAMT proxy activation. -Telephone activation is primarily used in situations where a computer is isolated from all networks. VAMT proxy activation with retail keys is sometimes used when an IT department wants to centralize retail activations. VAMT can also be used when a computer with a retail version of the operating system is isolated from the Internet but connected to the LAN. For volume-licensed products, however, the best method or combination of methods must be determined to use in the environment. For currently supported versions of Windows Pro and Enterprise, one of the following three models can be chosen: +Telephone activation is primarily used in situations where a computer is isolated from all networks. VAMT proxy activation with retail keys is sometimes used when an IT department wants to centralize retail activations. VAMT can also be used when a computer with a retail version of the operating system is isolated from the internet but connected to the LAN. For volume-licensed products, however, the best method or combination of methods must be determined to use in the environment. For currently supported versions of Windows Pro and Enterprise, one of the following three models can be chosen: - Multiple Activation Keys (MAK). - KMS. @@ -97,7 +97,7 @@ To use a MAK, the computers to be activated must have a MAK installed. The MAK i In the simplest terms, a MAK acts like a retail key, except that a MAK is valid for activating multiple computers. Each MAK can be used a specific number of times. The VAMT can help with tracking the number of performed activations with each key and how many activations remain. -Organizations can download MAK and KMS keys from the [Volume Licensing Service Center](https://go.microsoft.com/fwlink/p/?LinkId=618213) website. Each MAK has a preset number of activations, which are based on a percentage of the count of licenses the organization purchases. However, the number of activations that are available can be increased with the MAK by calling Microsoft. +Organizations can download MAK and KMS keys from the [Volume Licensing Service Center](https://admin.microsoft.com/adminportal/home#/subscriptions/vlnew) website. Each MAK has a preset number of activations, which are based on a percentage of the count of licenses the organization purchases. However, the number of activations that are available can be increased with the MAK by calling Microsoft. ### Key Management Service @@ -121,7 +121,7 @@ A modern business network has many nuances and interconnections. This section ex ### Core network -The organization's core network is that part of the network that enjoys stable, high-speed, reliable connectivity to infrastructure servers. In many cases, the core network is also connected to the Internet. However, Internet connectivity isn't a requirement to use the KMS or Active Directory-based activation after the KMS server or ADDS is configured and active. The organization's core network likely consists of many network segments. In many organizations, the core network makes up most of the business network. +The organization's core network is that part of the network that enjoys stable, high-speed, reliable connectivity to infrastructure servers. In many cases, the core network is also connected to the internet. However, internet connectivity isn't a requirement to use the KMS or Active Directory-based activation after the KMS server or ADDS is configured and active. The organization's core network likely consists of many network segments. In many organizations, the core network makes up most of the business network. In the core network, a centralized KMS solution is recommended. Active Directory-based activation can also be used, but in many organizations, KMS might still be required to computers that aren't joined to the domain. Some administrators prefer to run both solutions to have the most flexibility, while others prefer to choose only a KMS-based solution for simplicity. Active Directory-based activation as the only solution is workable if all of the clients in the organization are running currently supported versions of Windows. @@ -163,7 +163,7 @@ If the network is fully isolated, MAK-independent activation would be the recomm #### Branch offices and distant networks -From mining operations to ships at sea, organizations often have a few computers that aren't easily connected to the core network or the Internet. Some organizations have network segments at branch offices that are large and well-connected internally, but have a slow or unreliable WAN link to the rest of the organization. There are several options in these situations: +From mining operations to ships at sea, organizations often have a few computers that aren't easily connected to the core network or the internet. Some organizations have network segments at branch offices that are large and well-connected internally, but have a slow or unreliable WAN link to the rest of the organization. There are several options in these situations: - **Active Directory-based activation**. In any site where the client computers are running currently supported versions of Windows, Active Directory-based activation is supported, and it can be activated by joining the domain. @@ -183,7 +183,7 @@ Active Directory-based activation can be used on computers when they meet the fo - The computer is running a currently supported version of Windows or Windows Server. - The computer connects to the domain at least once every 180 days, either directly or through a VPN. -Otherwise for computers that rarely or never connect to the network, MAK independent activation should be used either via the telephone or the Internet. +Otherwise for computers that rarely or never connect to the network, MAK independent activation should be used either via the telephone or the internet. ### Test and development labs @@ -215,13 +215,13 @@ By evaluating network connectivity and the numbers of computers at each site, th When it's know which keys are needed, the keys must be obtained. Generally speaking, volume licensing keys are collected in two ways: -- Go to the **Product Keys** section of the [Volume Licensing Service Center](https://go.microsoft.com/fwlink/p/?LinkID=618213) for the following agreements: Open, Open Value, Select, Enterprise, and Services Provider License. +- Go to the **Product Keys** section of the [Volume Licensing Service Center](https://admin.microsoft.com/adminportal/home#/subscriptions/vlnew) for the following agreements: Open, Open Value, Select, Enterprise, and Services Provider License. -- Contact the [Microsoft activation center](https://go.microsoft.com/fwlink/p/?LinkId=618264). +- Contact the [Microsoft activation center](https://www.microsoft.com/licensing/existing-customer/activation-centers). ### KMS host keys -A KMS host needs a key that activates, or authenticates, the KMS host with Microsoft. This key is referred to as the *KMS host key*, but it's formally known as a *Microsoft Customer Specific Volume License Key* (CSVLK). Some documentation and Internet references use the term KMS key, but CSVLK is the proper name for current documentation and management tools. +A KMS host needs a key that activates, or authenticates, the KMS host with Microsoft. This key is referred to as the *KMS host key*, but it's formally known as a *Microsoft Customer Specific Volume License Key* (CSVLK). Some documentation and internet references use the term KMS key, but CSVLK is the proper name for current documentation and management tools. A KMS host running a currently supported version of Windows Server can activate both Windows Server and Windows client operating systems. A KMS host key is also needed to create the activation objects in ADDS, as described later in this guide. A KMS host key is needed for any KMS that is set up. Additionally, it needs to be determined if Active Directory-based activation will be used. @@ -274,4 +274,4 @@ The flow of KMS activation is shown in Figure 3, and it follows this sequence: ## Related content -- [Volume Activation for Windows](volume-activation-windows.md). +- [Volume activation for Windows](volume-activation-windows.md). diff --git a/windows/deployment/volume-activation/proxy-activation-vamt.md b/windows/deployment/volume-activation/proxy-activation-vamt.md index 57c242d69c..0d266aef27 100644 --- a/windows/deployment/volume-activation/proxy-activation-vamt.md +++ b/windows/deployment/volume-activation/proxy-activation-vamt.md @@ -1,30 +1,30 @@ --- -title: Perform Proxy Activation (Windows 10) -description: Perform proxy activation by using the Volume Activation Management Tool (VAMT) to activate client computers that don't have Internet access. +title: Run proxy activation +description: Run proxy activation by using the Volume Activation Management Tool (VAMT) to activate client computers that don't have internet access. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Perform Proxy Activation +# Run proxy activation -You can use the Volume Activation Management Tool (VAMT) to perform activation for client computers that don't have Internet access. The client products can be installed with any type of product key that is eligible for proxy activation: Multiple activation Key (MAK), KMS Host key (CSVLK), or retail key. +You can use the Volume Activation Management Tool (VAMT) to run activation for client computers that don't have internet access. The client products can be installed with any type of product key that is eligible for proxy activation: Multiple activation Key (MAK), KMS Host key (CSVLK), or retail key. -In a typical proxy-activation scenario, the VAMT host computer distributes a MAK to one or more client computers and collects the installation ID (IID) from each computer. The VAMT host computer sends the IIDs to Microsoft on behalf of the client computers and obtains the corresponding Confirmation IDs (CIDs). The VAMT host computer then installs the CIDs on the client computer to complete the activation. Using this activation method, only the VAMT host computer needs Internet access. +In a typical proxy-activation scenario, the VAMT host computer distributes a MAK to one or more client computers and collects the installation ID (IID) from each computer. The VAMT host computer sends the IIDs to Microsoft on behalf of the client computers and obtains the corresponding Confirmation IDs (CIDs). The VAMT host computer then installs the CIDs on the client computer to complete the activation. Using this activation method, only the VAMT host computer needs internet access. > [!NOTE] -> For workgroups that are completely isolated from any larger network, you can still perform MAK, KMS Host key (CSVLK), or retail proxy activation. This requires installing a second instance of VAMT on a computer within the isolated group and using removable media to transfer activation data between that computer and another VAMT host computer that has Internet access. For more information about this scenario, see [Scenario 2: Proxy Activation](scenario-proxy-activation-vamt.md). Similarly, you can proxy activate a KMS Host key (CSVLK) located in an isolated network. You can also proxy activate a KMS Host key (CSVLK) in the core network if you do not want the KMS host computer to connect to Microsoft over the Internet. +> For workgroups that are completely isolated from any larger network, you can still run MAK, KMS Host key (CSVLK), or retail proxy activation. This requires installing a second instance of VAMT on a computer within the isolated group and using removable media to transfer activation data between that computer and another VAMT host computer that has internet access. For more information about this scenario, see [Scenario 2: Proxy Activation](scenario-proxy-activation-vamt.md). Similarly, you can proxy activate a KMS Host key (CSVLK) located in an isolated network. You can also proxy activate a KMS Host key (CSVLK) in the core network if you do not want the KMS host computer to connect to Microsoft over the internet. ## Requirements -Before performing proxy activation, ensure that your network and the VAMT installation meet the following requirements: +Before running proxy activation, ensure that your network and the VAMT installation meet the following requirements: -- There's an instance of VAMT that is installed on a computer that has Internet access. If you're performing proxy activation for an isolated workgroup, you also need to have VAMT installed on one of the computers in the workgroup. +- There's an instance of VAMT that is installed on a computer that has internet access. If you're running proxy activation for an isolated workgroup, you also need to have VAMT installed on one of the computers in the workgroup. - The products to be activated have been added to VAMT and are installed with a retail product key, a KMS Host key (CSVLK) or a MAK. If the products haven't been installed with a proper product key, refer to the steps in the [Add and Remove a Product Key](add-remove-product-key-vamt.md) section for instructions on how to install a product key. @@ -32,9 +32,9 @@ Before performing proxy activation, ensure that your network and the VAMT instal - For workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure client computers](configure-client-computers-vamt.md). - The product keys that are installed on the client products must have a sufficient number of remaining activations. If you're activating a MAK key, you can retrieve the remaining number of activations for that key by selecting the MAK in the product key list in the center pane and then clicking **Refresh product key data online** in the right-side pane. This action retrieves the number of remaining activations for the MAK from Microsoft. This step requires Internet access and that the remaining activation count can only be retrieved for MAKs. + The product keys that are installed on the client products must have a sufficient number of remaining activations. If you're activating a MAK key, you can retrieve the remaining number of activations for that key by selecting the MAK in the product key list in the center pane and then clicking **Refresh product key data online** in the right-side pane. This action retrieves the number of remaining activations for the MAK from Microsoft. This step requires internet access and that the remaining activation count can only be retrieved for MAKs. -## To Perform Proxy Activation +## To run proxy activation 1. Open VAMT. @@ -66,3 +66,11 @@ Before performing proxy activation, ensure that your network and the VAMT instal > [!NOTE] You can use proxy activation to select products that have different key types and activate the products at the same time. + +## Related articles + +[Run online activation](online-activation-vamt.md) + +[Run KMS activation](kms-activation-vamt.md) + +[Run local reactivation](local-reactivation-vamt.md) diff --git a/windows/deployment/volume-activation/remove-products-vamt.md b/windows/deployment/volume-activation/remove-products-vamt.md index cad9428d5a..f8fb84dc37 100644 --- a/windows/deployment/volume-activation/remove-products-vamt.md +++ b/windows/deployment/volume-activation/remove-products-vamt.md @@ -1,13 +1,13 @@ --- -title: Remove Products (Windows 10) +title: Remove products description: Learn how you must delete products from the product list view so you can remove products from the Volume Activation Management Tool (VAMT). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -37,4 +37,6 @@ To remove one or more products from the Volume Activation Management Tool (VAMT) ## Related articles -- [Add and Manage Products](add-manage-products-vamt.md) +[Add and remove computers](add-remove-computers-vamt.md) + +[Update product status](update-product-status-vamt.md) diff --git a/windows/deployment/volume-activation/scenario-kms-activation-vamt.md b/windows/deployment/volume-activation/scenario-kms-activation-vamt.md index 4ba48b833b..1d99684233 100644 --- a/windows/deployment/volume-activation/scenario-kms-activation-vamt.md +++ b/windows/deployment/volume-activation/scenario-kms-activation-vamt.md @@ -1,19 +1,19 @@ --- -title: Scenario 3 KMS Client Activation (Windows 10) +title: Scenario 3 - KMS client activation description: Learn how to use the Volume Activation Management Tool (VAMT) to activate Key Management Service (KMS) client keys or Generic Volume License Keys (GVLKs). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- # Scenario 3: KMS client activation -In this scenario, you use the Volume Activation Management Tool (VAMT) to activate Key Management Service (KMS) client keys or Generic Volume License Keys (GVLKs). This type of activation can be performed on either Core Network or Isolated Lab computers. By default, volume license editions of Windows Vista, Windows® 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server® 2012, and Microsoft® Office 2010 use KMS for activation. GVLKs are already installed in volume license editions of these products. You don't have to enter a key to activate a product as a GVLK, unless you're converting a MAK-activated product to a KMS activation. For more information, see [Install a KMS Client Key](install-kms-client-key-vamt.md). +In this scenario, you use the Volume Activation Management Tool (VAMT) to activate Key Management Service (KMS) client keys or Generic Volume License Keys (GVLKs). This type of activation can be performed on either Core Network or Isolated Lab computers. By default, volume license editions of Windows Vista, Windows® 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server® 2012, and Microsoft® Office 2010 use KMS for activation. GVLKs are already installed in volume license editions of these products. You don't have to enter a key to activate a product as a GVLK, unless you're converting a MAK-activated product to a KMS activation. For more information, see [Install a KMS client key](install-kms-client-key-vamt.md). The procedure that is described below assumes the following configuration: @@ -56,4 +56,8 @@ The same status is shown under the **Status of Last Action** column in the produ ## Related articles -- [VAMT step-by-step scenarios](vamt-step-by-step.md) +[Run KMS activation](kms-activation-vamt.md) + +[Activate using Key Management Service](activate-using-key-management-service-vamt.md) + +[Install a KMS client key](install-kms-client-key-vamt.md) diff --git a/windows/deployment/volume-activation/scenario-online-activation-vamt.md b/windows/deployment/volume-activation/scenario-online-activation-vamt.md index 7af76c4c7a..03d969a3eb 100644 --- a/windows/deployment/volume-activation/scenario-online-activation-vamt.md +++ b/windows/deployment/volume-activation/scenario-online-activation-vamt.md @@ -1,17 +1,17 @@ --- -title: Scenario 1 Online Activation (Windows 10) +title: Scenario 1 - online activation description: Achieve network access by deploying the Volume Activation Management Tool (VAMT) in a Core Network environment. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Scenario 1: Online Activation +# Scenario 1: online activation In this scenario, the Volume Activation Management Tool (VAMT) is deployed in the Core Network environment. VAMT is installed on a central computer that has network access to all of the client computers. Both the VAMT host and the client computers have Internet access. The following illustration shows a diagram of an online activation scenario for Multiple Activation Keys (MAKs). You can use this scenario for online activation of the following key types: @@ -36,10 +36,10 @@ The Secure Zone represents higher-security Core Network computers that have addi ## Step 2: Configure the Windows Management Instrumentation firewall exception on target computers -- Ensure that the Windows Management Instrumentation (WMI) firewall exception has been enabled for all target computers. For more information, see [Configure Client Computers](configure-client-computers-vamt.md). +- Ensure that the Windows Management Instrumentation (WMI) firewall exception has been enabled for all target computers. For more information, see [Configure client computers](configure-client-computers-vamt.md). > [!NOTE] - > To retrieve product license status, VAMT must have administrative permissions on the remote computers and WMI must be available through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure Client Computers](configure-client-computers-vamt.md). + > To retrieve product license status, VAMT must have administrative permissions on the remote computers and WMI must be available through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure client computers](configure-client-computers-vamt.md). ## Step 3: Connect to a VAMT database @@ -47,7 +47,7 @@ The Secure Zone represents higher-security Core Network computers that have addi 2. Select **Connect**. -3. If you're already connected to a database, VAMT displays an inventory of the products and product keys in the center pane, and a license overview of the computers in the database. If you need to connect to a different database, select **Successfully connected to Server** to open **the Database Connection Settings** dialog box. For more information about how to create VAMT databases and adding VAMT data, see [Manage VAMT Data](manage-vamt-data.md) +3. If you're already connected to a database, VAMT displays an inventory of the products and product keys in the center pane, and a license overview of the computers in the database. If you need to connect to a different database, select **Successfully connected to Server** to open **the Database Connection Settings** dialog box. For more information about how to create VAMT databases and adding VAMT data, see [Import and export VAMT data](import-export-vamt-data.md). ## Step 4: Discover products @@ -57,11 +57,11 @@ The Secure Zone represents higher-security Core Network computers that have addi 3. In the **Discover Products** dialog box, select **Search for computers in the Active Directory** to display the search options, and then select the search options that you want to use. You can search for computers in an Active Directory domain, by individual computer name or IP address, in a workgroup, or by a general Lightweight Directory Access Protocol (LDAP) query: - - To search for computers in an Active Directory domain, select **Search for computers in the Active Directory**. Then under **Domain Filter Criteria**, in the list of domain names select the name of the domain that you want to search. You can narrow the search further by typing a name in the **Filter by computer name** field to search for specific computers in the domain. This filter supports the asterisk (\*) wildcard. For example, typing "a\*" will display only those computer names that start with the letter "a". + - To search for computers in an Active Directory domain, select **Search for computers in the Active Directory**. Then under **Domain Filter Criteria**, in the list of domain names select the name of the domain that you want to search. You can narrow the search further by typing a name in the **Filter by computer name** field to search for specific computers in the domain. This filter supports the asterisk (`*`) wildcard. For example, typing `a*` will display only those computer names that start with the letter "a". - To search by individual computer name or IP address, select **Manually enter name or IP address**. Then enter the full name or IP address in the **One or more computer names or IP addresses separated by commas** text box. Separate multiple entries with a comma. VAMT supports both IPv4 and IPV6 addressing. - - To search for computers in a workgroup, select **Search for computers in the workgroup**. Then under **Workgroup Filter Criteria**, in the list of workgroup names, select the name of the workgroup that you want to search. You can narrow the search further by typing a name in the **Filter by computer name** field to search for a specific computer in the workgroup. This filter supports the asterisk (\*) wildcard. For example, typing "a\*" will display only computer names that start with the letter "a". + - To search for computers in a workgroup, select **Search for computers in the workgroup**. Then under **Workgroup Filter Criteria**, in the list of workgroup names, select the name of the workgroup that you want to search. You can narrow the search further by typing a name in the **Filter by computer name** field to search for a specific computer in the workgroup. This filter supports the asterisk (`*`) wildcard. For example, typing `a*` will display only computer names that start with the letter "a". - To search for computers by using a general LDAP query, select **Search with LDAP query** and enter your query in the text box that appears. VAMT will validate the LDAP query syntax, but will otherwise run the query without additional checks. @@ -101,7 +101,7 @@ To collect the status from select computers in the database, you can select comp - VAMT displays the **Collecting product information** dialog box while it collects the license status of all supported products on the selected computers. When the process is finished, the updated license status of each product will appear in the product list view in the center pane. - > [!NOTE] + > [!NOTE] > If a computer has more than one supported product installed, VAMT adds an entry for each product. The entry appears under the appropriate product heading. ## Step 7: Add product keys and determine the remaining activation count @@ -156,4 +156,4 @@ To collect the status from select computers in the database, you can select comp ## Related articles -- [VAMT Step-by-Step Scenarios](vamt-step-by-step.md) +[Run online activation](online-activation-vamt.md) diff --git a/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md b/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md index 74a59bbd9d..167e5b1693 100644 --- a/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md +++ b/windows/deployment/volume-activation/scenario-proxy-activation-vamt.md @@ -1,34 +1,34 @@ --- -title: Scenario 2 Proxy Activation (Windows 10) +title: Scenario 2 - proxy activation description: Use the Volume Activation Management Tool (VAMT) to activate products that are installed on workgroup computers in an isolated lab environment. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- -# Scenario 2: Proxy Activation +# Scenario 2: proxy activation -In this scenario, the Volume Activation Management Tool (VAMT) is used to activate products that are installed on workgroup computers in an isolated lab environment. For workgroups that are isolated from the larger network, you can perform proxy activation of Multiple Activation Keys (MAKs), KMS Host keys (CSVLKs), Generic Volume License Keys (GVLKs) (or KMS client keys), or retail keys. Proxy activation is performed by installing a second instance of VAMT on a computer in the isolated workgroup. You can then use removable media to transfer VAMT Computer Information Lists (CILXs) between the instance of VAMT in the isolated workgroup and another VAMT host that has Internet access. The following diagram shows a Multiple Activation Key (MAK) proxy activation scenario: +In this scenario, the Volume Activation Management Tool (VAMT) is used to activate products that are installed on workgroup computers in an isolated lab environment. For workgroups that are isolated from the larger network, you can perform proxy activation of Multiple Activation Keys (MAKs), KMS Host keys (CSVLKs), Generic Volume License Keys (GVLKs) (or KMS client keys), or retail keys. Proxy activation is performed by installing a second instance of VAMT on a computer in the isolated workgroup. You can then use removable media to transfer VAMT Computer Information Lists (CILXs) between the instance of VAMT in the isolated workgroup and another VAMT host that has internet access. The following diagram shows a Multiple Activation Key (MAK) proxy activation scenario: ![VAMT MAK proxy activation scenario.](images/dep-win8-l-vamt-makproxyactivationscenario.jpg) -## Step 1: Install VAMT on a Workgroup Computer in the Isolated Lab +## Step 1: Install VAMT on a workgroup computer in the isolated lab 1. Install VAMT on a host computer in the isolated lab workgroup. This computer can be running Windows 7, Windows 8, Windows 10, Windows Server 2008 R2, or Windows Server® 2012. 2. Select the VAMT icon in the **Start** menu to open VAMT. -## Step 2: Configure the Windows Management Instrumentation Firewall Exception on target computers +## Step 2: Configure the Windows Management Instrumentation firewall exception on target computers -- Ensure that the Windows Management Instrumentation (WMI) firewall exception has been enabled for all target computers. For more information, see [Configure Client Computers](configure-client-computers-vamt.md). +- Ensure that the Windows Management Instrumentation (WMI) firewall exception has been enabled for all target computers. For more information, see [Configure client computers](configure-client-computers-vamt.md). > [!NOTE] - > To retrieve the license status on the selected computers, VAMT must have administrative permissions on the remote computers and WMI must be accessible through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure Client Computers](configure-client-computers-vamt.md). + > To retrieve the license status on the selected computers, VAMT must have administrative permissions on the remote computers and WMI must be accessible through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure client computers](configure-client-computers-vamt.md). ## Step 3: Connect to a VAMT database @@ -36,7 +36,7 @@ In this scenario, the Volume Activation Management Tool (VAMT) is used to activa 2. Select **Connect**. -3. If you're already connected to a database, in the center pane VAMT displays an inventory of the products and product keys, and a license overview of the computers in the database. If you need to connect to a different database, select **Successfully connected to the Server** to open the **Database Connection Settings** dialog box. For more information about how to create VAMT databases and adding VAMT data, see [Manage VAMT Data.](manage-vamt-data.md) +3. If you're already connected to a database, in the center pane VAMT displays an inventory of the products and product keys, and a license overview of the computers in the database. If you need to connect to a different database, select **Successfully connected to the Server** to open the **Database Connection Settings** dialog box. For more information about how to create VAMT databases and adding VAMT data, see [Import and export Volume Activation Management Tool data](import-export-vamt-data.md). ## Step 4: Discover products @@ -46,7 +46,7 @@ In this scenario, the Volume Activation Management Tool (VAMT) is used to activa 3. In the **Discover Products** dialog box, select **Search for computers in the Active Directory** to display the search options, and then select the search options that you want to use. You can search for computers in an Active Directory domain, by individual computer name or IP address, in a workgroup, or by a general LDAP query: - - To search for computers in an Active Directory domain, select **Search for computers in the Active Directory**. Then under **Domain Filter Criteria**, in the list of domain names, select the name of the domain that you want to search. You can narrow the search further by typing a name in the **Filter by computer name** field to search for specific computers in the domain. This filter supports the asterisk (\*) wildcard. For example, typing "a\*" will display only computer names that start with the letter "a". + - To search for computers in an Active Directory domain, select **Search for computers in the Active Directory**. Then under **Domain Filter Criteria**, in the list of domain names, select the name of the domain that you want to search. You can narrow the search further by typing a name in the **Filter by computer name** field to search for specific computers in the domain. This filter supports the asterisk (`*`) wildcard. For example, typing `a*` will display only computer names that start with the letter "a". - To search by individual computer name or IP address, select **Manually enter name or IP address**. Then enter the full name or IP address in the **One or more computer names or IP addresses separated by commas** text box. Separate multiple entries with a comma. Both IPv4 and IPv6addressing are supported. @@ -91,10 +91,10 @@ To collect the status from select computers in the database, you can select comp - VAMT displays the **Collecting product information** dialog box while it collects the license status of all supported products on the selected computers. When the process is finished, the updated license status of each product will appear in the product list view in the center pane. - > [!NOTE] + > [!NOTE] > If a computer has more than one supported product installed, VAMT adds an entry for each product. The entry appears under the appropriate product heading. -## Step 7: Add Product Keys +## Step 7: Add product keys 1. Select the **Product Keys** node in the left-side pane, and then select **Add Product Keys** in the right-side pane to open the **Add Product Keys** dialog box. @@ -106,7 +106,7 @@ To collect the status from select computers in the database, you can select comp The keys that you have added appear in the **Product Keys** list view in the center pane. -## Step 8: Install the Product Keys on the Isolated Lab Computers +## Step 8: Install the product keys on the isolated lab computers 1. In the left-side pane, in the **Products** node select the product that you want to install keys onto. @@ -130,7 +130,7 @@ To collect the status from select computers in the database, you can select comp ## Step 9: Export VAMT data to a `.cilx` file -In this step, you export VAMT from the workgroup's host computer and save it in a `.cilx` file. Then you copy the `.cilx` file to removable media so that you can take it to a VAMT host computer that is connected to the Internet. In MAK proxy activation, it's critical to retain this file, because VAMT uses it to apply the Confirmation IDs (CIDs) to the proper products. +In this step, you export VAMT from the workgroup's host computer and save it in a `.cilx` file. Then you copy the `.cilx` file to removable media so that you can take it to a VAMT host computer that is connected to the internet. In MAK proxy activation, it's critical to retain this file, because VAMT uses it to apply the Confirmation IDs (CIDs) to the proper products. 1. Select the individual products that successfully received a product key in Step 8. If needed, sort and filter the list to find the products. @@ -157,7 +157,7 @@ In this step, you export VAMT from the workgroup's host computer and save it in ## Step 10: Acquire confirmation IDs from Microsoft on the internet connected host computer -1. Insert the removable media into the VAMT host that has Internet access. +1. Insert the removable media into the VAMT host that has internet access. 2. Open VAMT. Make sure you are on the root node, and that the **Volume Activation Management Tool** view is displayed in the center pane. @@ -167,9 +167,9 @@ In this step, you export VAMT from the workgroup's host computer and save it in 5. When the CID collection process is complete, VAMT displays a **Volume Activation Management Tool** message that shows the number of confirmation IDs that were successfully acquired, and the name of the file where the IDs were saved. Select **OK** to close the message. -## Step 11: Import the `.cilx` file onto the VAMT host within the Isolated lab workgroup +## Step 11: Import the `.cilx` file onto the VAMT host within the isolated lab workgroup -1. Remove the storage device that contains the `.cilx` file from the Internet-connected VAMT host computer and insert it into the VAMT host computer in the isolated lab. +1. Remove the storage device that contains the `.cilx` file from the internet-connected VAMT host computer and insert it into the VAMT host computer in the isolated lab. 2. Open VAMT and verify that you're connected to the database that contains the computer with the product keys that you're activating. @@ -181,7 +181,7 @@ In this step, you export VAMT from the workgroup's host computer and save it in 6. VAMT displays a progress message while the data is being imported. Select **OK** when a message appears and confirms that the data has been successfully imported. -## Step 12: Apply the CIDs and Activate the Isolated Lab Computers +## Step 12: Apply the CIDs and activate the isolated lab computers 1. Select the products to which you want to apply CIDs. If needed, sort and filter the list to find the products. @@ -190,7 +190,7 @@ In this step, you export VAMT from the workgroup's host computer and save it in VAMT displays the **Applying Confirmation Id** dialog box while it installs the CIDs on the selected products. When VAMT finishes installing the CIDs, the status appears in the **Action Status** column of the dialog box. Select **Close** to close the dialog box. You can also select the **Automatically close when done** check box when the dialog box appears. The same status appears under the **Status of Last Action** column in the product list view in the center pane. -## Step 13: (Optional) Reactivating Reimaged Computers in the Isolated Lab +## Step 13: (Optional) Reactivating reimaged computers in the isolated lab If you have captured new images of the computers in the isolated lab, but the underlying hardware of those computers hasn't changed, VAMT can reactivate those computers using the CIDs that are stored in the database. @@ -213,4 +213,4 @@ If you have captured new images of the computers in the isolated lab, but the un ## Related articles -- [VAMT Step-by-Step Scenarios](vamt-step-by-step.md) +[Run proxy activation](proxy-activation-vamt.md) diff --git a/windows/deployment/volume-activation/update-product-status-vamt.md b/windows/deployment/volume-activation/update-product-status-vamt.md index f47584757f..b28a561baf 100644 --- a/windows/deployment/volume-activation/update-product-status-vamt.md +++ b/windows/deployment/volume-activation/update-product-status-vamt.md @@ -1,20 +1,20 @@ --- -title: Update Product Status +title: Update product status description: Learn how to use the Update license status function to add the products that are installed on the computers. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- # Update product status After computers are added to the Volume Activation Management Tool (VAMT) database, the **Update license status** function needs to be used to add the products that are installed on the computers. The **Update license status** can also be used at any time to retrieve the most current license status for any products in the VAMT database. -To retrieve license status, VAMT must have administrative permissions on all selected computers and Windows Management Instrumentation (WMI) must be accessible through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure Client Computers](configure-client-computers-vamt.md). +To retrieve license status, VAMT must have administrative permissions on all selected computers and Windows Management Instrumentation (WMI) must be accessible through the Windows Firewall. In addition, for workgroup computers, a registry key must be created to enable remote administrative actions under User Account Control (UAC). For more information, see [Configure client computers](configure-client-computers-vamt.md). > [!NOTE] > The license-status query requires a valid computer name for each system queried. If the VAMT database contains computers that were added without Personally Identifiable Information, computer names will not be available for those computers, and the status for these computers will not be updated. @@ -37,4 +37,6 @@ To retrieve license status, VAMT must have administrative permissions on all sel ## Related content -- [Add and Manage Products](add-manage-products-vamt.md). +[Add and remove computers](add-remove-computers-vamt.md) + +[Remove products](remove-products-vamt.md) diff --git a/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md b/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md index 3e1e4a1657..3b7ff4e572 100644 --- a/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md +++ b/windows/deployment/volume-activation/use-the-volume-activation-management-tool-client.md @@ -1,14 +1,14 @@ --- title: Use the Volume Activation Management Tool description: The Volume Activation Management Tool (VAMT) provides several useful features, including the ability to track and monitor several types of product keys. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 @@ -24,8 +24,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). The Volume Activation Management Tool (VAMT) provides several useful features, including the ability to perform VAMT proxy activation and to track and monitor several types of product keys. @@ -35,7 +35,7 @@ For currently supported versions of Windows Server, VAMT can be installed direct For currently supported versions of Windows client, VAMT can be installed as part of the Windows Assessment and Deployment Kit (Windows ADK). The Windows ADK is a free download. For more information, including links to download the Windows ADK, see [Download and install the Windows ADK](/windows-hardware/get-started/adk-install). -## Activating with the Volume Activation Management Tool +## Activate with VAMT VAMT can be used to complete the activation process in products by using MAK and retail keys. Computers can be activated either individually or in groups. The VAMT enables two activation scenarios: @@ -45,7 +45,7 @@ VAMT can be used to complete the activation process in products by using MAK and When this method is used, only the VAMT host computer requires Internet access. Proxy activation by using the VAMT is beneficial for isolated network segments and for cases where the organization has a mix of retail, MAK, and KMS-based activations. -## Tracking products and computers with the Volume Activation Management Tool +## Track products and computers The VAMT provides an overview of the activation and licensing status of computers across an organization's network, as shown in Figure 18. Several prebuilt reports are also available to help proactively manage licensing. @@ -53,7 +53,7 @@ The VAMT provides an overview of the activation and licensing status of computer **Figure 18**. The VAMT showing the licensing status of multiple computers -## Tracking key usage with the Volume Activation Management Tool +## Track key usage The VAMT makes it easier to track the various keys that are issued to an organization. Each key can be entered into VAMT, and then the VAMT can use those keys for online or proxy activation of clients. The tool can also describe what type of key it's and to which product group it belongs. The VAMT is the most convenient way to quickly determine how many activations remain on a MAK. Figure 19 shows an example of key types and usage. @@ -61,7 +61,7 @@ The VAMT makes it easier to track the various keys that are issued to an organiz **Figure 19**. The VAMT showing key types and usage -## Other Volume Activation Management Tool features +## Other features The VAMT stores information in a Microsoft SQL Server database for performance and flexibility, and it provides a single graphical user interface for managing activations and performing other activation-related tasks, such as: @@ -74,7 +74,6 @@ The VAMT stores information in a Microsoft SQL Server database for performance a For more information, see: - [Volume Activation Management Tool (VAMT) Overview](./volume-activation-management-tool.md). -- [VAMT Step-by-Step Scenarios](./vamt-step-by-step.md). ## Related content diff --git a/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md b/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md index b9633b62d2..3a0a898af4 100644 --- a/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md +++ b/windows/deployment/volume-activation/use-vamt-in-windows-powershell.md @@ -1,13 +1,13 @@ --- -title: Use VAMT in Windows PowerShell (Windows 10) +title: Use VAMT in Windows PowerShell description: Learn how to use Volume Activation Management Tool (VAMT) PowerShell cmdlets to perform the same functions as the Vamt.exe command-line tool. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: how-to +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -19,27 +19,23 @@ The Volume Activation Management Tool (VAMT) PowerShell cmdlets can be used to p ### Install PowerShell 3.0 -VAMT PowerShell cmdlets require Windows PowerShell, which is included in Windows 10, Windows 8 and Windows Server® 2012. You can download PowerShell for Windows 7 or other operating systems from the [Microsoft Download Center](/powershell/scripting/install/installing-powershell). +VAMT PowerShell cmdlets require Windows PowerShell, which is included in Windows 10 and later. To download the latest version of PowerShell, see [Installing PowerShell on Windows](/powershell/scripting/install/installing-powershell). -### Install the Windows Assessment and Deployment Kit** +### Install the Windows Assessment and Deployment Kit -In addition to PowerShell, you must import the VAMT PowerShell module. The module is included in the VAMT 3.0 folder after you install the Windows Assessment and Deployment Kit (Windows ADK). +In addition to PowerShell, you must import the VAMT PowerShell module. The module is included in the VAMT 3.0 folder after you install the [Windows Assessment and Deployment Kit (Windows ADK)](/windows-hardware/get-started/adk-install). ### Prepare the VAMT PowerShell environment To open PowerShell with administrative credentials, select **Start** and enter `PowerShell` to locate the program. Right-click **Windows PowerShell**, and then select **Run as administrator**. To open PowerShell in Windows 7, select **Start**, select **All Programs**, select **Accessories**, select **Windows PowerShell**, right-click **Windows PowerShell**, and then select **Run as administrator**. - > [!IMPORTANT] + > [!IMPORTANT] > If you are using a computer that has an 64-bit processor, select **Windows PowerShell (x86)**. VAMT PowerShell cmdlets are only supported for x86 architecture. You must use an x86 version of Windows PowerShell to import the VAMT module - + The x86 versions of Windows PowerShell are available in the following directories: -- PowerShell: - - `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe` -- PowerShell ISE: - - `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe` +- PowerShell: `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe` +- PowerShell ISE: `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe` For all supported operating systems, you can use the VAMT PowerShell module included with the Windows ADK. By default, the module is installed with the Windows ADK in the VAMT folder. Change directories to the directory where VAMT is located. For example, if the Windows ADK is installed in the default location of `C:\Program Files(x86)\Windows Kits\10`, enter: @@ -85,7 +81,7 @@ get-help get-VamtProduct -all For example, enter: ```powershell - get-help get-VamtProduct + get-help get-VamtProduct ``` 2. To see examples using a cmdlet, enter: diff --git a/windows/deployment/volume-activation/vamt-known-issues.md b/windows/deployment/volume-activation/vamt-known-issues.md index 5244254c65..60a69603fb 100644 --- a/windows/deployment/volume-activation/vamt-known-issues.md +++ b/windows/deployment/volume-activation/vamt-known-issues.md @@ -1,13 +1,13 @@ --- -title: VAMT known issues (Windows 10) +title: VAMT known issues description: Find out the current known issues with the Volume Activation Management Tool (VAMT), versions 3.0. and 3.1. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 11/07/2022 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -54,17 +54,17 @@ On the KMS host computer, perform the following steps: ``` 5. In the - + `C:\KB3058168\x86_microsoft-windows-s..nent-sku-csvlk-pack_31bf3856ad364e35_6.3.9600.17815_none_bd26b4f34d049716` - + folder, copy the - + `pkeyconfig-csvlk.xrm-ms` - + file. Paste this file into the - + `C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\VAMT3\pkconfig` - + folder. 6. Restart VAMT. diff --git a/windows/deployment/volume-activation/vamt-requirements.md b/windows/deployment/volume-activation/vamt-requirements.md index 8b82d6ae68..1c9c294528 100644 --- a/windows/deployment/volume-activation/vamt-requirements.md +++ b/windows/deployment/volume-activation/vamt-requirements.md @@ -1,13 +1,13 @@ --- -title: VAMT Requirements -description: In this article, learn about the product key and system requirements for Volume Activation Management Tool (VAMT). +title: VAMT requirements +description: Learn about the product key and system requirements for Volume Activation Management Tool (VAMT). +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: concept-article +ms.service: windows-client ms.subservice: itpro-fundamentals --- @@ -21,7 +21,7 @@ The Volume Activation Management Tool (VAMT) can be used to perform activations |Product key type |Where to obtain | |-----------------|----------------| -|
                  • Multiple Activation Key (MAK)
                  • Key Management Service (KMS) host key (CSVLK)
                  • KMS client setup keys (GVLK)
                  |Volume licensing keys can only be obtained with a signed contract from Microsoft. For more info, see the [Microsoft Volume Licensing portal](https://go.microsoft.com/fwlink/p/?LinkId=227282). | +|
                  • Multiple Activation Key (MAK)
                  • Key Management Service (KMS) host key (CSVLK)
                  • KMS client setup keys (GVLK)
                  |Volume licensing keys can only be obtained with a signed contract from Microsoft. For more information, see the [Microsoft Volume Licensing portal](https://admin.microsoft.com/adminportal/home#/subscriptions/vlnew). | |Retail product keys |Obtained at time of product purchase. | ## System requirements @@ -41,4 +41,6 @@ The following table lists the system requirements for the VAMT host computer. ## Related content -- [Install and configure VAMT](install-configure-vamt.md). +[Install VAMT](install-vamt.md) + +[Configure client computers](configure-client-computers-vamt.md) diff --git a/windows/deployment/volume-activation/vamt-step-by-step.md b/windows/deployment/volume-activation/vamt-step-by-step.md deleted file mode 100644 index 375ebad9fa..0000000000 --- a/windows/deployment/volume-activation/vamt-step-by-step.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: VAMT Step-by-Step Scenarios -description: Learn step-by-step instructions on implementing the Volume Activation Management Tool (VAMT) in typical environments. -ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj -ms.date: 03/29/2024 -ms.topic: conceptual -ms.subservice: itpro-fundamentals ---- - -# VAMT step-by-step scenarios - -This section provides instructions on how to implement the Volume Activation Management Tool (VAMT) in typical environments. VAMT supports many common scenarios. To get started, some of the most common scenarios are described here. - -## In this section - -|Article |Description | -|-------|------------| -|[Scenario 1: Online Activation](scenario-online-activation-vamt.md) |Describes how to distribute Multiple Activation Keys (MAKs) to products installed on one or more connected computers within a network. Additionally, it also describes how to instruct these products to contact Microsoft over the Internet for activation. | -|[Scenario 2: Proxy Activation](scenario-proxy-activation-vamt.md) |Describes how to use two VAMT host computers—the first one with Internet access and a second computer within an isolated workgroup—as proxies to perform MAK volume activation for workgroup computers that don't have Internet access. | -|[Scenario 3: Key Management Service (KMS) Client Activation](scenario-kms-activation-vamt.md) |Describes how to use VAMT to configure client products for Key Management Service (KMS) activation. By default, volume license editions of currently supported versions of Windows and Microsoft Office use KMS for activation. | - -## Related content - -- [Introduction to VAMT](introduction-vamt.md). diff --git a/windows/deployment/volume-activation/volume-activation-management-tool.md b/windows/deployment/volume-activation/volume-activation-management-tool.md index 396e2a74e2..5d8233348d 100644 --- a/windows/deployment/volume-activation/volume-activation-management-tool.md +++ b/windows/deployment/volume-activation/volume-activation-management-tool.md @@ -1,12 +1,12 @@ --- title: VAMT technical reference description: The Volume Activation Management Tool (VAMT) enables network administrators to automate and centrally manage volume activation and retail activation. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj ms.service: windows-client ms.subservice: itpro-fundamentals -author: frankroj ms.date: 03/29/2024 ms.topic: overview --- @@ -21,16 +21,6 @@ The Volume Activation Management Tool (VAMT) allows automation and central manag VAMT is only available in an EN-US (x86) package. -## In this section +## Next steps -|Article |Description | -|------|------------| -|[Introduction to VAMT](introduction-vamt.md) |Provides a description of VAMT and common usages. | -|[Active Directory-based activation overview](active-directory-based-activation-overview.md) |Describes Active Directory-based activation scenarios. | -|[Install and configure VAMT](install-configure-vamt.md) |Describes how to install VAMT and use it to configure client computers in the network. | -|[Add and manage products](add-manage-products-vamt.md) |Describes how to add client computers into VAMT. | -|[Manage product keys](manage-product-keys-vamt.md) |Describes how to add and remove a product key from VAMT. | -|[Manage activations](manage-activations-vamt.md) |Describes how to activate a client computer by using various activation methods. | -|[Manage VAMT data](manage-vamt-data.md) |Describes how to save, import, export, and merge a Computer Information List (CILX) file using VAMT. | -|[VAMT step-by-step scenarios](vamt-step-by-step.md) |Provides step-by-step instructions for using VAMT in typical environments. | -|[VAMT known issues](vamt-known-issues.md) |Lists known issues in VAMT. | +[Introduction to VAMT](introduction-vamt.md) diff --git a/windows/deployment/volume-activation/volume-activation-windows.md b/windows/deployment/volume-activation/volume-activation-windows.md index 701785bf9e..ca9a9b6811 100644 --- a/windows/deployment/volume-activation/volume-activation-windows.md +++ b/windows/deployment/volume-activation/volume-activation-windows.md @@ -1,14 +1,14 @@ --- -title: Volume Activation for Windows +title: Volume activation for Windows description: Learn how to use volume activation to deploy & activate Windows. +ms.author: kaushika +author: kaushika-msft +manager: cshepard ms.reviewer: nganguly -manager: aaroncz -ms.author: frankroj -ms.service: windows-client -author: frankroj ms.localizationpriority: medium ms.date: 03/29/2024 -ms.topic: conceptual +ms.topic: overview +ms.service: windows-client ms.subservice: itpro-fundamentals appliesto: - ✅ Windows 11 @@ -18,7 +18,7 @@ appliesto: - ✅ Windows Server 2016 --- -# Volume Activation for Windows +# Volume activation for Windows > [!TIP] > @@ -28,8 +28,8 @@ appliesto: > > Looking for information on retail activation? > -> - [Activate Windows](https://support.microsoft.com/help/12440/). -> - [Product activation for Windows](https://go.microsoft.com/fwlink/p/?LinkId=618644). +> - [Activate Windows](https://support.microsoft.com/windows/activate-windows-c39005d4-95ee-b91e-b399-2820fda32227). +> - [Product activation for Windows](https://support.microsoft.com/windows/product-activation-for-windows-online-support-telephone-numbers-35f6a805-1259-88b4-f5e9-b52cccef91a0). This guide is designed to help organizations that are planning to use volume activation to deploy and activate Windows. diff --git a/windows/deployment/windows-enterprise-e3-overview.md b/windows/deployment/windows-enterprise-e3-overview.md index 43bfc59332..fb356d9ce9 100644 --- a/windows/deployment/windows-enterprise-e3-overview.md +++ b/windows/deployment/windows-enterprise-e3-overview.md @@ -2,13 +2,14 @@ title: Windows Enterprise E3 in CSP description: Describes Windows Enterprise E3, an offering that delivers, by subscription, the features of Windows Enterprise edition. ms.service: windows-client +ms.subservice: itpro-fundamentals ms.localizationpriority: medium ms.date: 02/13/2024 -author: frankroj -ms.author: frankroj -manager: aaroncz -ms.topic: conceptual -ms.subservice: itpro-deploy +ms.author: kaushika +author: kaushika-msft +manager: cshepard +ms.reviewer: nganguly +ms.topic: concept-article appliesto: - ✅ Windows 11 - ✅ Windows 10 diff --git a/windows/deployment/windows-subscription-activation.md b/windows/deployment/windows-subscription-activation.md index 034308a993..824847523c 100644 --- a/windows/deployment/windows-subscription-activation.md +++ b/windows/deployment/windows-subscription-activation.md @@ -4,12 +4,10 @@ description: Learn how to step up from Windows Pro to a Windows Enterprise subsc ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium -author: frankroj -ms.author: frankroj -manager: aaroncz -ms.collection: - - highpri - - tier2 +ms.author: kaushika +author: kaushika-msft +manager: cshepard +ms.reviewer: nganguly ms.topic: concept-article zone_pivot_groups: windows-versions-11-10 ms.date: 03/04/2024 From fa6d37d7c99488c7f500814c8496bb506d238d6e Mon Sep 17 00:00:00 2001 From: Stacyrch140 <102548089+Stacyrch140@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:28:31 -0400 Subject: [PATCH 320/354] pencil edit --- windows/deployment/volume-activation/kms-activation-vamt.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/volume-activation/kms-activation-vamt.md b/windows/deployment/volume-activation/kms-activation-vamt.md index ced67be74b..af2b05e15d 100644 --- a/windows/deployment/volume-activation/kms-activation-vamt.md +++ b/windows/deployment/volume-activation/kms-activation-vamt.md @@ -47,7 +47,7 @@ Before configuring KMS activation, ensure that your network and VAMT installatio 5. Select **Apply**, and then select **OK** to close the **Volume Activation Management Tool Preferences** dialog box. -6. Select the products to be activated by selecting individual products in the product list view in the center pane. You can use the **Filter** function to narrow your search for computers by clicking **Filter** in the right-side pane to open the **Filter Products** dialog box.In the **Filter Products** dialog box, you can filter the list by computer name, product name, product key type, license status, or by any combination of these options. +6. Select the products to be activated by selecting individual products in the product list view in the center pane. You can use the **Filter** function to narrow your search for computers by clicking **Filter** in the right-side pane to open the **Filter Products** dialog box. In the **Filter Products** dialog box, you can filter the list by computer name, product name, product key type, license status, or by any combination of these options. - To filter the list by computer name, enter a name in the **Computer Name** box. From 0ff65fbca9fa4e862cce61203cf8d19a8a2489cf Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 25 Jul 2024 16:48:11 -0700 Subject: [PATCH 321/354] revise --- windows/configuration/accessibility/index.md | 93 +++++--------------- 1 file changed, 21 insertions(+), 72 deletions(-) diff --git a/windows/configuration/accessibility/index.md b/windows/configuration/accessibility/index.md index 335576ee27..4691dba7a0 100644 --- a/windows/configuration/accessibility/index.md +++ b/windows/configuration/accessibility/index.md @@ -1,94 +1,43 @@ --- -title: Windows accessibility information for IT Pros -description: Lists the various accessibility features available in Windows client with links to detailed guidance on how to set them. -ms.date: 01/25/2024 -ms.topic: conceptual +title: Windows accessibility for IT pros +description: Basic guidance for IT administrators on accessibility features available in Windows client. +ms.date: 07/25/2024 +ms.topic: concept-article ms.collection: tier1 --- - - - # Accessibility information for IT professionals Microsoft is dedicated to making its products and services accessible and usable for everyone. Windows includes accessibility features that benefit all users. These features make it easier to customize the computer and give users with different abilities options to improve their experience with Windows. -This article helps you as the IT administrator learn about built-in accessibility features. It also includes recommendations for how to support people in your organization who use these features. +For more information about the accessibility resources available in Windows, see [Discover Windows accessibility features](https://support.microsoft.com/windows/discover-windows-accessibility-features-8b1068e6-d3b8-4ba8-b027-133dd8911df9#WindowsVersion=Windows_11). -Windows 11, version 22H2, includes improvements for people with disabilities: system-wide live captions, Focus sessions, voice access, and more natural voices for Narrator. For more information, see [New accessibility features coming to Windows 11](https://blogs.windows.com/windowsexperience/2022/05/10/new-accessibility-features-coming-to-windows-11/) and [How inclusion drives innovation in Windows 11](https://blogs.windows.com/windowsexperience/?p=177554). - +Windows 11, version 22H2, includes improvements for people with disabilities. For example, system-wide live captions, Focus sessions, voice access, and more natural voices for Narrator. For more information, see the following Windows Experience blog posts: + +- [New accessibility features coming to Windows 11](https://blogs.windows.com/windowsexperience/2022/05/10/new-accessibility-features-coming-to-windows-11/) + +- [How inclusion drives innovation in Windows 11](https://blogs.windows.com/windowsexperience/2022/09/20/how-inclusion-drives-innovation-in-windows-11/) ## General recommendations - **Be aware of Ease of Access settings**. Understand how people in your organization might use these settings. Help people in your organization learn how they can customize Windows. + - **Don't block settings**. Avoid using group policy or MDM settings that override Ease of Access settings. + - **Encourage choice**. Allow people in your organization to customize their computers based on their needs. That customization might be installing an add-on for their browser, or a non-Microsoft assistive technology. -## Vision +- Use the [Azure AI Translator](/azure/ai-services/translator/) service to add machine translation to your solutions. -- [Use Narrator to use devices without a screen](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1). Narrator describes Windows and apps and enables you to control devices by using a keyboard, controller, or with a range of gestures on touch-supported devices. Now the user is able to download and install 10 more natural languages. -- [Create accessible apps](/windows/apps/develop/accessibility). You can develop accessible apps just like Mail, Groove, and Store that work well with Narrator and other leading screen readers. -- Use keyboard shortcuts. Get the most out of Windows with shortcuts for apps and desktops. - - [Keyboard shortcuts in Windows](https://support.microsoft.com/windows/keyboard-shortcuts-in-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec) - - [Narrator keyboard commands and touch gestures](https://support.microsoft.com/windows/appendix-b-narrator-keyboard-commands-and-touch-gestures-8bdab3f4-b3e9-4554-7f28-8b15bd37410a) - - [Windows keyboard shortcuts for accessibility](https://support.microsoft.com/windows/windows-keyboard-shortcuts-for-accessibility-021bcb62-45c8-e4ef-1e4f-41b8c1fc87fd) -- Get closer with [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198). Magnifier enlarges all or part of your screen and offers various configuration settings. -- [Make Windows easier to see](https://support.microsoft.com/windows/make-windows-easier-to-see-c97c2b0d-cadb-93f0-5fd1-59ccfe19345d). - - Changing the size or color of pointers or adding trails or touch feedback make it easier to follow the mouse. - - Adjust the size of text, icons, and other screen items to make them easier to see. - - Many high-contrast themes are available to suit your needs. -- [Have Cortana assist](https://support.microsoft.com/topic/what-is-cortana-953e648d-5668-e017-1341-7f26f7d0f825). Cortana can handle various tasks for you, including setting reminders, opening apps, finding facts, and sending emails and texts. -- [Dictate text and commands](https://support.microsoft.com/windows/use-voice-recognition-in-windows-83ff75bd-63eb-0b6c-18d4-6fae94050571). Windows includes speech recognition that lets you tell it what to do. -- [Simplify for focus](https://support.microsoft.com/windows/make-it-easier-to-focus-on-tasks-0d259fd9-e9d0-702c-c027-007f0e78eaf2). Reducing animations and turning off background images and transparency can minimize distractions. -- [Keep notifications around longer](https://support.microsoft.com/windows/make-windows-easier-to-hear-9c18cfdc-63be-2d47-0f4f-5b00facfd2e1). If notifications aren't staying visible long enough for you to notice them, you can increase the time a notification will be displayed up to five minutes. -- [Read in braille](https://support.microsoft.com/windows/chapter-8-using-narrator-with-braille-3e5f065b-1c9d-6eb2-ec6d-1d07c9e94b20). Narrator supports braille displays from more than 35 manufacturers using more than 40 languages and multiple braille variants. -- Starting in Windows 11, version 22H2 with [KB5022913](https://support.microsoft.com/kb/5022913), the compatibility of braille displays has been expanded. Braille displays work seamlessly and reliably across multiple screen readers, improving the end user experience. +- [Create accessible apps](/windows/apps/develop/accessibility) that work well with Narrator and other leading screen readers. -## Hearing - -- [Use live captions to better understand audio](https://support.microsoft.com/windows/use-live-captions-to-better-understand-audio-b52da59c-14b8-4031-aeeb-f6a47e6055df). Use Windows 11, version 22H2 or later to better understand any spoken audio with real time captions. -- Starting with Windows 11, version 22H2 with [KB5026446](https://support.microsoft.com/kb/5026446), live captions now supports additional languages. -- [View live transcription in a Teams meeting](https://support.microsoft.com/office/view-live-transcription-in-a-teams-meeting-dc1a8f23-2e20-4684-885e-2152e06a4a8b). During any Teams meeting, view a live transcription so you don't miss what's being said. -- [Use Teams for sign language](https://www.microsoft.com/microsoft-teams/group-chat-software). Teams is available on various platforms and devices, so you don't have to worry about whether your co-workers, friends, and family can communicate with you. - -- [Make Windows easier to hear](https://support.microsoft.com/windows/make-windows-easier-to-hear-9c18cfdc-63be-2d47-0f4f-5b00facfd2e1). - - Replace audible alerts with visual alerts. - - If notifications aren't staying visible long enough for you to notice them, you can increase the time a notification will be displayed up to five minutes. - - Send all sounds to both left and right channels, which is helpful for those people with partial hearing loss or deafness in one ear. -- [Read spoken words with captioning](https://support.microsoft.com/windows/change-caption-settings-135c465b-8cfd-3bac-9baf-4af74bc0069a). You can customize things like color, size, and background transparency to suit your needs and tastes. -- Use the [Azure Cognitive Services Translator](/azure/cognitive-services/translator/) service to add machine translation to your solutions. - -## Physical - -- [Have Cortana assist you](https://support.microsoft.com/topic/what-is-cortana-953e648d-5668-e017-1341-7f26f7d0f825). Cortana can handle various tasks for you, including setting reminders, opening apps, finding facts, and sending emails and texts. -- [Dictate text and commands](https://support.microsoft.com/windows/use-voice-recognition-in-windows-83ff75bd-63eb-0b6c-18d4-6fae94050571). Windows includes voice recognition that lets you tell it what to do. -- [Use the On-Screen Keyboard (OSK)](https://support.microsoft.com/windows/use-the-on-screen-keyboard-osk-to-type-ecbb5e08-5b4e-d8c8-f794-81dbf896267a). Instead of relying on a physical keyboard, use the OSK to enter data and select keys with a mouse or other pointing device. It also offers word prediction and completion. -- [Make your mouse, keyboard, and other input devices easier to use](https://support.microsoft.com/windows/make-your-mouse-keyboard-and-other-input-devices-easier-to-use-10733da7-fa82-88be-0672-f123d4b3dcfe). - - - If you have limited control of your hands, you can personalize your keyboard to do helpful things like ignore repeated keys. - - If a mouse is difficult to use, you can control the pointer by using your numeric keypad. - -## Cognition - -- [Simplify for focus](https://support.microsoft.com/windows/make-it-easier-to-focus-on-tasks-0d259fd9-e9d0-702c-c027-007f0e78eaf2). Reducing animations and turning off background images and transparency can minimize distractions. - [Download and use fonts that are easier to read](https://www.microsoft.com/download/details.aspx?id=50721). **Fluent Sitka Small** and **Fluent Calibri** are fonts that address "visual crowding" by adding character and enhance word and line spacing. -- [Microsoft Edge reading view](https://support.microsoft.com/windows/take-your-reading-with-you-b6699255-4436-708e-7b93-4d2e19a15af8). Clears distracting content from web pages so you can stay focused on what you really want to read. - -## Assistive technology devices built into Windows - -- [Hear text read aloud with Narrator](https://support.microsoft.com/windows/hear-text-read-aloud-with-narrator-040f16c1-4632-b64e-110a-da4a0ac56917). Narrator reads text on your PC screen aloud and describes events, such as notifications or calendar appointments, so you can use your PC without a display. -- Scripting functionality has been added to Narrator. There is store delivery of Narrator extension scripts which currently include an Outlook script and an Excel script. -- [Use voice recognition](https://support.microsoft.com/windows/use-voice-recognition-in-windows-83ff75bd-63eb-0b6c-18d4-6fae94050571). - - -- With spellings experience in voice access, you can dictate a complex or non-standard word letter-by-letter and add it to Windows dictionary. The next time you try to dictate the same word, voice access improves its recognition. - -- [Save time with keyboard shortcuts](https://support.microsoft.com/windows/keyboard-shortcuts-in-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec). -- [Use voice access to control your PC and author text with your voice](https://support.microsoft.com/topic/use-voice-access-to-control-your-pc-author-text-with-your-voice-4dcd23ee-f1b9-4fd1-bacc-862ab611f55d). ## Other resources -[Windows accessibility](https://www.microsoft.com/Accessibility/windows) -[Designing accessible software](/windows/apps/design/accessibility/designing-inclusive-software) -[Inclusive design](https://www.microsoft.com/design/inclusive) -[Accessibility guide for Microsoft 365 Apps](/deployoffice/accessibility-guide) +- [Windows accessibility](https://www.microsoft.com/windows/accessibility-features) + +- [Designing accessible software](/windows/apps/design/accessibility/designing-inclusive-software) + +- [Inclusive design](https://inclusive.microsoft.design/) + +- [Accessibility guide for Microsoft 365 Apps](/microsoft-365-apps/deploy/accessibility-guide) From 81f438d337c20ed7b71fcf51281b5d5834d283f7 Mon Sep 17 00:00:00 2001 From: Kavya N <168478594+kavyamsft@users.noreply.github.com> Date: Fri, 26 Jul 2024 19:30:58 -0700 Subject: [PATCH 322/354] Learn Editor: Update windows-sandbox-configure-using-wsb-file.md --- .../windows-sandbox/windows-sandbox-configure-using-wsb-file.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md index 6420d0019f..29d6d96ecb 100644 --- a/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md +++ b/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-configure-using-wsb-file.md @@ -60,7 +60,7 @@ Supported values: - *Enable*: Enables vGPU support in the sandbox. - *Disable*: Disables vGPU support in the sandbox. If this value is set, the sandbox uses software rendering, which might be slower than virtualized GPU. -- *Default* This value is the default value for vGPU support. Currently, this default value denotes that vGPU is disabled. +- *Default* This value is the default value for vGPU support. Currently, this default value denotes that vGPU is enabled. > [!NOTE] > Enabling virtualized GPU can potentially increase the attack surface of the sandbox. From 8e354c1cb57075f80e6ccf84511abc7862da08fc Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 29 Jul 2024 10:52:51 -0700 Subject: [PATCH 324/354] fix links --- windows/client-management/mdm/universalprint-csp.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/client-management/mdm/universalprint-csp.md b/windows/client-management/mdm/universalprint-csp.md index 183576910e..a2cceef581 100644 --- a/windows/client-management/mdm/universalprint-csp.md +++ b/windows/client-management/mdm/universalprint-csp.md @@ -18,9 +18,9 @@ The table below shows the applicability of Windows: |Enterprise|Yes|Yes| |Education|Yes|Yes| -The UniversalPrint configuration service provider (CSP) is used to add Universal Print-compatible printers to Windows client endpoints. Universal Print is a cloud-based printing solution that runs entirely in Microsoft Azure. It doesn't require any on-premises infrastructure. For more specific information, go to [What is Universal Print](/universal-print/fundamentals/universal-print-whatis). +The UniversalPrint configuration service provider (CSP) is used to add Universal Print-compatible printers to Windows client endpoints. Universal Print is a cloud-based printing solution that runs entirely in Microsoft Azure. It doesn't require any on-premises infrastructure. For more specific information, see [Discover Universal Print](/universal-print/discover-universal-print). -This CSP was added in Windows 11 and in Windows 10 21H2 July 2022 update [KB5015807](https://support.microsoft.com/topic/july-12-2022-kb5015807-os-builds-19042-1826-19043-1826-and-19044-1826-8c8ea8fe-ec83-467d-86fb-a2f48a85eb41). +This CSP was added in Windows 11 and in Windows 10, version 21H2 July 2022 update [KB5015807](https://support.microsoft.com/topic/july-12-2022-kb5015807-os-builds-19042-1826-19043-1826-and-19044-1826-8c8ea8fe-ec83-467d-86fb-a2f48a85eb41). The following example shows the UniversalPrint configuration service provider in tree format. @@ -52,7 +52,7 @@ The data type is node (XML node). Supported operation is Get. **`` (PrinterSharedID)** -The Share ID is used to identify the Universal Print printer you want to install on the targeted user account. You can get the printer's Share ID in the printer's properties in the [Universal Print portal](/universal-print/portal/navigate-up). +The Share ID is used to identify the Universal Print printer you want to install on the targeted user account. You can get the printer's Share ID in the printer's properties in the [Universal Print portal](/universal-print/reference/portal/navigate-azure-portal). The data type is node (XML node). Supported operations are Get, Add, and Delete. @@ -61,7 +61,7 @@ The data type is node (XML node). Supported operations are Get, Add, and Delete. **CloudDeviceID** -The Printer ID is used to identify the Universal Print printer you want to install on the targeted user account. You can get the printer's Printer ID in the printer's properties in the [Universal Print portal](/universal-print/portal/navigate-up). +The Printer ID is used to identify the Universal Print printer you want to install on the targeted user account. You can get the printer's Printer ID in the printer's properties in the [Universal Print portal](/universal-print/reference/portal/navigate-azure-portal). The data type is string/text (GUID). Supported operations are Get, Add, Delete, and Replace. @@ -70,7 +70,7 @@ The data type is string/text (GUID). Supported operations are Get, Add, Delete, **PrinterSharedName** -The Share Name is used to identify the Universal Print printer you want to install on the targeted user account. You can get the printer's Share Name in the printer's properties in the [Universal Print portal](/universal-print/portal/navigate-up). +The Share Name is used to identify the Universal Print printer you want to install on the targeted user account. You can get the printer's Share Name in the printer's properties in the [Universal Print portal](/universal-print/reference/portal/navigate-azure-portal). The data type is string/text. Supported operations are Get, Add, Delete, and Replace. From f3f0881bf6da9ac30336f3d6d05ad2685f84d974 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 29 Jul 2024 11:14:35 -0700 Subject: [PATCH 325/354] fix ms-author-invalid --- .../deployment/update/update-managed-unmanaged-devices.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/update-managed-unmanaged-devices.md b/windows/deployment/update/update-managed-unmanaged-devices.md index 3f495f601a..911f059706 100644 --- a/windows/deployment/update/update-managed-unmanaged-devices.md +++ b/windows/deployment/update/update-managed-unmanaged-devices.md @@ -5,9 +5,9 @@ ms.service: windows-client ms.subservice: itpro-updates ms.topic: overview ms.date: 06/25/2024 -author: mikolding -ms.author: v-mikolding -ms.reviewer: mstewart,thtrombl,v-fvalentyna,arcarley +author: v-fvalentyna +ms.author: v-fvalentyna +ms.reviewer: mstewart,thtrombl,arcarley manager: aaroncz ms.localizationpriority: medium appliesto: From 492ec866eec920990d0f48cae00e20bfff53f53d Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Mon, 29 Jul 2024 11:19:16 -0700 Subject: [PATCH 326/354] fix old links --- ...ponents-to-microsoft-services-using-MDM.md | 38 +++++++++---------- .../windows-10-and-privacy-compliance.md | 4 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md index e664498af2..6c9e051335 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md @@ -19,7 +19,7 @@ ms.topic: reference - Windows 10 Enterprise 1903 version and newer -This article describes the network connections that Windows 10 and Windows 11 components make to Microsoft and the Mobile Device Management/Configuration Service Provider (MDM/CSP) and custom Open Mobile Alliance Uniform Resource Identifier ([OMA URI](/intune/custom-settings-windows-10)) policies available to IT Professionals using Microsoft Intune to help manage the data shared with Microsoft. If you want to minimize connections from Windows to Microsoft services, or configure privacy settings, there are a number of settings for consideration. For example, you can configure diagnostic data to the lowest level for your edition of Windows and evaluate other connections Windows makes to Microsoft services you want to turn off using the instructions in this article. While it's possible to minimize network connections to Microsoft, there are many reasons why these communications are enabled by default, such as updating malware definitions and maintaining current certificate revocation lists. This data helps us deliver a secure, reliable, and up-to-date experience. +This article describes the network connections that Windows 10 and Windows 11 components make to Microsoft and the Mobile Device Management/Configuration Service Provider (MDM/CSP) and custom Open Mobile Alliance Uniform Resource Identifier ([OMA URI](/mem/intune/configuration/custom-settings-windows-10)) policies available to IT Professionals using Microsoft Intune to help manage the data shared with Microsoft. If you want to minimize connections from Windows to Microsoft services, or configure privacy settings, there are a number of settings for consideration. For example, you can configure diagnostic data to the lowest level for your edition of Windows and evaluate other connections Windows makes to Microsoft services you want to turn off using the instructions in this article. While it's possible to minimize network connections to Microsoft, there are many reasons why these communications are enabled by default, such as updating malware definitions and maintaining current certificate revocation lists. This data helps us deliver a secure, reliable, and up-to-date experience. >[!IMPORTANT] >- The Allowed Traffic endpoints for an MDM configuration are here: [Allowed Traffic](#bkmk-mdm-allowedtraffic) @@ -30,13 +30,13 @@ This article describes the network connections that Windows 10 and Windows 11 co >- The **Get Help** and **Give us Feedback** links in Windows may no longer work after applying some or all of the MDM/CSP settings. >[!Warning] ->If a user executes the "Reset this PC" command (Settings -> Update & Security -> Recovery) with the "Remove Everything" option the >Windows Restricted Traffic Limited Functionality settings will need to be re-applied in order re-restrict the device's egress traffic. >To do this the client must be re-enrolled to the Microsoft Intune service. Egress traffic may occur during the period prior to the re->application of the Restricted Traffic Limited Functionality settings. If the user executes a "Reset this PC" with the "Keep my files" >option the Restricted Traffic Limited Functionality settings are retained on the device, and therefore the client will remain in a >Restricted Traffic configuration during and after the "Keep my files" reset, and no re-enrollment is required. +>If a user executes the "Reset this PC" command (Settings -> Update & Security -> Recovery) with the "Remove Everything" option the >Windows Restricted Traffic Limited Functionality settings will need to be re-applied in order re-restrict the device's egress traffic. >To do this the client must be re-enrolled to the Microsoft Intune service. Egress traffic may occur during the period prior to the re->application of the Restricted Traffic Limited Functionality settings. If the user executes a "Reset this PC" with the "Keep my files" >option the Restricted Traffic Limited Functionality settings are retained on the device, and therefore the client will remain in a >Restricted Traffic configuration during and after the "Keep my files" reset, and no re-enrollment is required. For more information on Microsoft Intune, see [Transform IT service delivery for your modern workplace](https://www.microsoft.com/en-us/enterprise-mobility-security/microsoft-intune?rtc=1) and [Microsoft Intune documentation](/intune/). For detailed information about managing network connections to Microsoft services using Windows Settings, Group Policies and Registry settings see [Manage connections from Windows operating system components to Microsoft services](./manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -We're always striving to improve our documentation and welcome your feedback. You can provide feedback by sending email to **telmhelp**@**microsoft.com**. +We're always striving to improve our documentation and welcome your feedback. You can provide feedback by sending email to **telmhelp**@**microsoft.com**. ## Settings for Windows 10 Enterprise edition 1903 and later and Windows 11 @@ -55,15 +55,15 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. **Date & Time** 1. MDM Policy: [Settings/AllowDateTime](/windows/client-management/mdm/policy-csp-settings#settings-allowdatetime). Allows the user to change date and time settings. **Set to 0 (zero)** -1. **Device metadata retrieval** +1. **Device metadata retrieval** 1. MDM Policy: [DeviceInstallation/PreventDeviceMetadataFromNetwork](/windows/client-management/mdm/policy-csp-deviceinstallation#deviceinstallation-preventdevicemetadatafromnetwork). Choose whether to prevent Windows from retrieving device metadata from the Internet. **Set to Enabled** -1. **Find My Device** +1. **Find My Device** 1. MDM Policy: [Experience/AllowFindMyDevice](/windows/client-management/mdm/policy-csp-experience#experience-allowfindmydevice). This policy turns on Find My Device. **Set to 0 (zero)** -1. **Font streaming** +1. **Font streaming** 1. MDM Policy: [System/AllowFontProviders](/windows/client-management/mdm/policy-csp-system#system-allowfontproviders). Setting that determines whether Windows is allowed to download fonts and font catalog data from an online font provider. **Set to 0 (zero)** -1. **Insider Preview builds** +1. **Insider Preview builds** 1. MDM Policy: [System/AllowBuildPreview](/windows/client-management/mdm/policy-csp-system#system-allowbuildpreview). This policy setting determines whether users can access the Insider build controls in the Advanced Options for Windows Update. **Set to 0 (zero)** 1. **Internet Explorer** The following Microsoft Internet Explorer MDM policies are available in the [Internet Explorer CSP](/windows/client-management/mdm/policy-csp-internetexplorer) @@ -74,7 +74,7 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. MDM Policy: [InternetExplorer/DisableHomePageChange](/windows/client-management/mdm/policy-csp-internetexplorer#internetexplorer-disablehomepagechange). Determines whether users can change the default Home Page or not. **Set to String** with Value: 1. **\\** 1. MDM Policy: [InternetExplorer/DisableFirstRunWizard](/windows/client-management/mdm/policy-csp-internetexplorer#internetexplorer-disablefirstrunwizard). Prevents Internet Explorer from running the First Run wizard the first time a user starts the browser after installing Internet Explorer or Windows. **Set to String** with Value: - 1. **\\** + 1. **\\** 1. **Live Tiles** 1. MDM Policy: [Notifications/DisallowTileNotification](/windows/client-management/mdm/policy-csp-notifications). This policy setting turns off tile notifications. If you enable this policy setting applications and system features won't be able to update their tiles and tile badges in the Start screen. **Integer value 1** @@ -101,8 +101,8 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. MDM Policy: [EnableOfflineMapsAutoUpdate](/windows/client-management/mdm/policy-csp-maps#maps-enableofflinemapsautoupdate). Disables the automatic download and update of map data. **Set to 0 (zero)** 1. **OneDrive** - 1. MDM Policy: [DisableOneDriveFileSync](/windows/client-management/mdm/policy-csp-system#system-disableonedrivefilesync). Allows IT Admins to prevent apps and features from working with files on OneDrive. **Set to 1 (one)** - 1. Ingest the ADMX - To get the latest OneDrive ADMX file you need an up-to-date Windows 10 or Windows 11 client. The ADMX files are located under the following path: %LocalAppData%\Microsoft\OneDrive\ there's a folder with the current OneDrive build (for example "18.162.0812.0001"). There's a folder named "adm" which contains the admx and adml policy definition files. + 1. MDM Policy: [DisableOneDriveFileSync](/windows/client-management/mdm/policy-csp-system#system-disableonedrivefilesync). Allows IT Admins to prevent apps and features from working with files on OneDrive. **Set to 1 (one)** + 1. Ingest the ADMX - To get the latest OneDrive ADMX file you need an up-to-date Windows 10 or Windows 11 client. The ADMX files are located under the following path: %LocalAppData%\Microsoft\OneDrive\ there's a folder with the current OneDrive build (for example "18.162.0812.0001"). There's a folder named "adm" which contains the admx and adml policy definition files. 1. MDM Policy: Prevent Network Traffic before User SignIn. **PreventNetworkTrafficPreUserSignIn**. The OMA-URI value is: **./Device/Vendor/MSFT/Policy/Config/OneDriveNGSC\~Policy\~OneDriveNGSC/PreventNetworkTrafficPreUserSignIn**, Data type: **String**, Value: **\** @@ -118,21 +118,21 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ 1. Account info - [Privacy/LetAppsAccessAccountInfo](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessaccountinfo). Specifies whether Windows apps can access account information. **Set to 2 (two)** 1. Contacts - [Privacy/LetAppsAccessContacts](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccesscontacts). Specifies whether Windows apps can access contacts. **Set to 2 (two)** 1. Calendar - [Privacy/LetAppsAccessCalendar](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccesscalendar). Specifies whether Windows apps can access the calendar. **Set to 2 (two)** - 1. Call history - [Privacy/LetAppsAccessCallHistory](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccesscallhistory). Specifies whether Windows apps can access account information. **Set to 2 (two)** - 1. Email - [Privacy/LetAppsAccessEmail](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessemail). Specifies whether Windows apps can access email. **Set to 2 (two)** - 1. Messaging - [Privacy/LetAppsAccessMessaging](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessmessaging). Specifies whether Windows apps can read or send messages (text or MMS). **Set to 2 (two)** + 1. Call history - [Privacy/LetAppsAccessCallHistory](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccesscallhistory). Specifies whether Windows apps can access account information. **Set to 2 (two)** + 1. Email - [Privacy/LetAppsAccessEmail](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessemail). Specifies whether Windows apps can access email. **Set to 2 (two)** + 1. Messaging - [Privacy/LetAppsAccessMessaging](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessmessaging). Specifies whether Windows apps can read or send messages (text or MMS). **Set to 2 (two)** 1. Phone calls - [Privacy/LetAppsAccessPhone](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessphone). Specifies whether Windows apps can make phone calls. **Set to 2 (two)** - 1. Radios - [Privacy/LetAppsAccessRadios](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessradios). Specifies whether Windows apps have access to control radios. **Set to 2 (two)** - 1. Other devices - [Privacy/LetAppsSyncWithDevices](/windows/client-management/mdm/policy-csp-privacy#privacy-letappssyncwithdevices). Specifies whether Windows apps can sync with devices. **Set to 2 (two)** + 1. Radios - [Privacy/LetAppsAccessRadios](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessradios). Specifies whether Windows apps have access to control radios. **Set to 2 (two)** + 1. Other devices - [Privacy/LetAppsSyncWithDevices](/windows/client-management/mdm/policy-csp-privacy#privacy-letappssyncwithdevices). Specifies whether Windows apps can sync with devices. **Set to 2 (two)** 1. Other devices - [Privacy/LetAppsAccessTrustedDevices](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccesstrusteddevices). Specifies whether Windows apps can access trusted devices. **Set to 2 (two)** 1. Feedback & diagnostics - [System/AllowTelemetry](/windows/client-management/mdm/policy-csp-system#system-allowtelemetry). Allow the device to send diagnostic and usage telemetry data, such as Watson. **Set to 0 (zero)** - 1. Feedback & diagnostics - [Experience/DoNotShowFeedbackNotifications](/windows/client-management/mdm/policy-csp-experience#experience-donotshowfeedbacknotifications). Prevents devices from showing feedback questions from Microsoft. **Set to 1 (one)** + 1. Feedback & diagnostics - [Experience/DoNotShowFeedbackNotifications](/windows/client-management/mdm/policy-csp-experience#experience-donotshowfeedbacknotifications). Prevents devices from showing feedback questions from Microsoft. **Set to 1 (one)** 1. Background apps - [Privacy/LetAppsRunInBackground](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsruninbackground). Specifies whether Windows apps can run in the background. **Set to 2 (two)** 1. Motion - [Privacy/LetAppsAccessMotion](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccessmotion). Specifies whether Windows apps can access motion data. **Set to 2 (two)** 1. Tasks - [Privacy/LetAppsAccessTasks](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsaccesstasks). Turn off the ability to choose which apps have access to tasks. **Set to 2 (two)** - 1. App Diagnostics - [Privacy/LetAppsGetDiagnosticInfo](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsgetdiagnosticinfo). Force allow, force deny or give user control of apps that can get diagnostic information about other running apps. **Set to 2 (two)** + 1. App Diagnostics - [Privacy/LetAppsGetDiagnosticInfo](/windows/client-management/mdm/policy-csp-privacy#privacy-letappsgetdiagnosticinfo). Force allow, force deny or give user control of apps that can get diagnostic information about other running apps. **Set to 2 (two)** 1. **Software Protection Platform** - [Licensing/DisallowKMSClientOnlineAVSValidation](/windows/client-management/mdm/policy-csp-licensing#licensing-disallowkmsclientonlineavsvalidation). Opt out of sending KMS client activation data to Microsoft automatically. **Set to 1 (one)** -1. **Storage Health** - [Storage/AllowDiskHealthModelUpdates](/windows/client-management/mdm/policy-csp-storage#storage-allowdiskhealthmodelupdates). Allows disk health model updates. **Set to 0 (zero)** +1. **Storage Health** - [Storage/AllowDiskHealthModelUpdates](/windows/client-management/mdm/policy-csp-storage#storage-allowdiskhealthmodelupdates). Allows disk health model updates. **Set to 0 (zero)** 1. **Sync your settings** - [Experience/AllowSyncMySettings](/windows/client-management/mdm/policy-csp-experience#experience-allowsyncmysettings). Control whether your settings are synchronized. **Set to 0 (zero)** 1. **Teredo** - No MDM needed. Teredo is **Off by default**. Delivery Optimization (DO) can turn on Teredo, but DO itself is turned Off via MDM. 1. **Wi-Fi Sense** - No MDM needed. Wi-Fi Sense is no longer available from Windows 10 version 1803 and later or Windows 11. @@ -162,7 +162,7 @@ For Windows 10 and Windows 11, the following MDM policies are available in the [ ### Allowed traffic for Microsoft Intune / MDM configurations |**Allowed traffic endpoints** -| --- | +| --- | |activation-v2.sls.microsoft.com/*| |cdn.onenote.net| |client.wns.windows.com| diff --git a/windows/privacy/windows-10-and-privacy-compliance.md b/windows/privacy/windows-10-and-privacy-compliance.md index ab86dc703a..ba47f714b5 100644 --- a/windows/privacy/windows-10-and-privacy-compliance.md +++ b/windows/privacy/windows-10-and-privacy-compliance.md @@ -104,8 +104,8 @@ Alternatively, your administrators can also choose to use Windows Autopilot. Win You can use the following articles to learn more about Windows Autopilot and how to use Windows Autopilot to deploy Windows: -- [Overview of Windows Autopilot](/windows/deployment/windows-Autopilot/windows-Autopilot) -- [Windows Autopilot deployment process](/windows/deployment/windows-Autopilot/deployment-process) +- [Overview of Windows Autopilot](/autopilot/overview) +- [Windows Autopilot deployment process](/autopilot/deployment-process) #### _2.3.2 Managing Windows connected experiences and essential services_ From cdc2b162dba305c41473226e84c0fd1c4178a796 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Mon, 29 Jul 2024 15:47:31 -0700 Subject: [PATCH 327/354] Update link that's no longer redirected from IntuneDocs-pr --- ...erating-system-components-to-microsoft-services-using-MDM.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md index 6c9e051335..0632da527d 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services-using-MDM.md @@ -32,7 +32,7 @@ This article describes the network connections that Windows 10 and Windows 11 co >[!Warning] >If a user executes the "Reset this PC" command (Settings -> Update & Security -> Recovery) with the "Remove Everything" option the >Windows Restricted Traffic Limited Functionality settings will need to be re-applied in order re-restrict the device's egress traffic. >To do this the client must be re-enrolled to the Microsoft Intune service. Egress traffic may occur during the period prior to the re->application of the Restricted Traffic Limited Functionality settings. If the user executes a "Reset this PC" with the "Keep my files" >option the Restricted Traffic Limited Functionality settings are retained on the device, and therefore the client will remain in a >Restricted Traffic configuration during and after the "Keep my files" reset, and no re-enrollment is required. -For more information on Microsoft Intune, see [Transform IT service delivery for your modern workplace](https://www.microsoft.com/en-us/enterprise-mobility-security/microsoft-intune?rtc=1) and [Microsoft Intune documentation](/intune/). +For more information on Microsoft Intune, see [Transform IT service delivery for your modern workplace](https://www.microsoft.com/en-us/enterprise-mobility-security/microsoft-intune?rtc=1) and [Microsoft Intune documentation](/mem/intune/). For detailed information about managing network connections to Microsoft services using Windows Settings, Group Policies and Registry settings see [Manage connections from Windows operating system components to Microsoft services](./manage-connections-from-windows-operating-system-components-to-microsoft-services.md). From ad4df43d2f6a6b1123342d12adb866f444fc7fdd Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 30 Jul 2024 08:54:37 -0700 Subject: [PATCH 328/354] Add Edge paragraph to "configure" article Also, update some Autopilot links in compliance guide --- .../configure-windows-diagnostic-data-in-your-organization.md | 2 ++ windows/privacy/windows-privacy-compliance-guide.md | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/privacy/configure-windows-diagnostic-data-in-your-organization.md b/windows/privacy/configure-windows-diagnostic-data-in-your-organization.md index 638225c604..d332b2fc2b 100644 --- a/windows/privacy/configure-windows-diagnostic-data-in-your-organization.md +++ b/windows/privacy/configure-windows-diagnostic-data-in-your-organization.md @@ -70,6 +70,8 @@ Depending on the diagnostic data settings on the device, diagnostic data can be Later in this document we provide further details about how to control what’s collected and what data can be included in these different types of diagnostic data. +As of March 6, 2024, Microsoft Edge diagnostic data is collected separately from Windows diagnostic data on Windows 10 (version 22H2 and newer) and Windows 11 (version 23H2 and newer) devices in the European Economic Area. The collection of Microsoft Edge diagnostic data is subject to its own settings. For more information related to this change, see [Microsoft Edge, browsing data, and privacy](https://support.microsoft.com/windows/bb8174ba-9d73-dcf2-9b4a-c582b4e640dd). + ### Data transmission All diagnostic data is encrypted using Transport Layer Security (TLS) and uses certificate pinning during transfer from the device to the Microsoft data management services. diff --git a/windows/privacy/windows-privacy-compliance-guide.md b/windows/privacy/windows-privacy-compliance-guide.md index e2790e543f..c6ccfd9bec 100644 --- a/windows/privacy/windows-privacy-compliance-guide.md +++ b/windows/privacy/windows-privacy-compliance-guide.md @@ -104,8 +104,8 @@ Alternatively, your administrators can also choose to use Windows Autopilot. Win You can use the following articles to learn more about Windows Autopilot and how to use Windows Autopilot to deploy Windows: -- [Overview of Windows Autopilot](/windows/deployment/windows-Autopilot/windows-Autopilot) -- [Windows Autopilot deployment process](/windows/deployment/windows-Autopilot/deployment-process) +- [Overview of Windows Autopilot](/autopilot/overview) +- [Windows Autopilot deployment process](/autopilot/deployment-process) #### _2.3.2 Managing Windows connected experiences and essential services_ From 64743388e08908e881b36f19681a115f1001985a Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Tue, 30 Jul 2024 10:37:49 -0700 Subject: [PATCH 329/354] Minor changes (Acrolinx) --- windows/privacy/manage-windows-1809-endpoints.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/privacy/manage-windows-1809-endpoints.md b/windows/privacy/manage-windows-1809-endpoints.md index 8e55fa3f0b..f67087eb36 100644 --- a/windows/privacy/manage-windows-1809-endpoints.md +++ b/windows/privacy/manage-windows-1809-endpoints.md @@ -27,7 +27,7 @@ Some Windows components, app, and related services transfer data to Microsoft ne This article lists different endpoints that are available on a clean installation of Windows 10, version 1709 and later. Details about the different ways to control traffic to these endpoints are covered in [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md). -Where applicable, each endpoint covered in this topic includes a link to specific details about how to control traffic to it. +Where applicable, each endpoint covered in this article includes a link to specific details about how to control traffic to it. We used the following methodology to derive these network endpoints: @@ -157,9 +157,9 @@ If you [turn off traffic for this endpoint](manage-connections-from-windows-oper ## Certificates -Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or is not trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism. +Certificates are digital files, stored on client devices, used to both encrypt data and verify the identity of an individual or organization. Trusted root certificates issued by a certification authority (CA) are stored in a certificate trust list (CTL). The Automatic Root Certificates Update mechanism contacts Windows Updates to update the CTL. If a new version of the CTL is identified, the list of trusted root certificates cached on the local device will be updated. Untrusted certificates are certificates where the server certificate issuer is unknown or isn't trusted by the service. Untrusted certificates are also stored in a list on the local device and updated by the Automatic Root Certificates Update mechanism. -If automatic updates are turned off, applications and websites may stop working because they did not receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device. +If automatic updates are turned off, applications and websites may stop working because they didn't receive an updated root certificate that the application uses. Additionally, the list of untrusted certificates will no longer be updated, which increases the attack vector on the device. The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available. It's possible to [turn off traffic to this endpoint](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update), but that isn't recommended because when root certificates are updated over time, applications and websites may stop working because they didn't receive an updated root certificate the application uses. @@ -218,7 +218,7 @@ To turn off traffic for these endpoints, enable the following Group Policy: Admi ## Font streaming The following endpoints are used to download fonts on demand. -If you [turn off traffic for these endpoints](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#font-streaming), you will not be able to download fonts on demand. +If you [turn off traffic for these endpoints](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#font-streaming), you won't be able to download fonts on demand. | Source process | Protocol | Destination | |:--------------:|:--------:|:------------| @@ -451,7 +451,7 @@ If you [turn off traffic for these endpoints](manage-connections-from-windows-op | svchost | HTTP | `*.dl.delivery.mp.microsoft.com` | The following endpoints enable connections to Windows Update, Microsoft Update, and the online services of the Store. -If you [turn off traffic for these endpoints](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-wu), the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device will not be able to acquire and update apps from the Store. +If you [turn off traffic for these endpoints](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-wu), the device won't be able to connect to Windows Update and Microsoft Update to help keep the device secure. Also, the device won't be able to acquire and update apps from the Store. | Source process | Protocol | Destination | |:--------------:|:--------:|:------------| @@ -463,7 +463,7 @@ These are dependent on enabling: - [Microsoft account](manage-windows-1809-endpoints.md#microsoft-account) The following endpoint is used for content regulation. -If you [turn off traffic for this endpoint](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-wu), the Windows Update Agent will be unable to contact the endpoint and fallback behavior will be used. This may result in content being either incorrectly downloaded or not downloaded at all. +If you [turn off traffic for this endpoint](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#bkmk-wu), the Windows Update Agent will be unable to contact the endpoint, and fallback behavior will be used. This may result in content being either incorrectly downloaded or not downloaded at all. | Source process | Protocol | Destination | |:--------------:|:--------:|:------------| From 69a1e117bd28e7ab52a821e78c5bbe06f5c5b460 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Tue, 30 Jul 2024 12:54:22 -0700 Subject: [PATCH 330/354] Reorg and prep --- ...ishing.redirection.windows-deployment.json | 140 ++++++++++++++++++ windows/deployment/windows-autopatch/TOC.yml | 119 +++++++-------- ...patch-customize-windows-update-settings.md | 0 .../windows-autopatch-edge.md | 0 .../windows-autopatch-exclude-device.md | 0 ...atch-manage-driver-and-firmware-updates.md | 0 ...-manage-windows-feature-update-releases.md | 0 ...autopatch-microsoft-365-apps-enterprise.md | 0 ...indows-autopatch-microsoft-365-policies.md | 0 .../windows-autopatch-support-request.md | 0 .../windows-autopatch-teams.md | 0 .../windows-autopatch-unenroll-tenant.md | 0 ...topatch-windows-feature-update-overview.md | 0 ...h-windows-quality-update-communications.md | 0 ...tch-windows-quality-update-end-user-exp.md | 0 ...topatch-windows-quality-update-overview.md | 0 ...utopatch-windows-quality-update-signals.md | 0 .../windows-autopatch-device-alerts.md | 0 .../windows-autopatch-maintain-environment.md | 0 ...autopatch-policy-health-and-remediation.md | 0 .../windows-autopatch-reliability-report.md | 0 ...dows-autopatch-resolve-policy-conflicts.md | 0 ...ch-windows-feature-update-status-report.md | 0 ...indows-feature-update-summary-dashboard.md | 0 ...-windows-feature-update-trending-report.md | 0 ...ity-and-feature-update-reports-overview.md | 0 ...ch-windows-quality-update-status-report.md | 0 ...indows-quality-update-summary-dashboard.md | 0 ...-windows-quality-update-trending-report.md | 0 ...dows-autopatch-groups-update-management.md | 61 -------- 30 files changed, 200 insertions(+), 120 deletions(-) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-customize-windows-update-settings.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-edge.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-exclude-device.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-manage-driver-and-firmware-updates.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-manage-windows-feature-update-releases.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-microsoft-365-apps-enterprise.md (100%) rename windows/deployment/windows-autopatch/{references => manage}/windows-autopatch-microsoft-365-policies.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-support-request.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-teams.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-unenroll-tenant.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-windows-feature-update-overview.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-windows-quality-update-communications.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-windows-quality-update-end-user-exp.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-windows-quality-update-overview.md (100%) rename windows/deployment/windows-autopatch/{operate => manage}/windows-autopatch-windows-quality-update-signals.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-device-alerts.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-maintain-environment.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-policy-health-and-remediation.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-reliability-report.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-resolve-policy-conflicts.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-feature-update-status-report.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-feature-update-summary-dashboard.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-feature-update-trending-report.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-quality-and-feature-update-reports-overview.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-quality-update-status-report.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-quality-update-summary-dashboard.md (100%) rename windows/deployment/windows-autopatch/{operate => monitor}/windows-autopatch-windows-quality-update-trending-report.md (100%) delete mode 100644 windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md diff --git a/.openpublishing.redirection.windows-deployment.json b/.openpublishing.redirection.windows-deployment.json index 7f67dadb04..8a987dc711 100644 --- a/.openpublishing.redirection.windows-deployment.json +++ b/.openpublishing.redirection.windows-deployment.json @@ -1224,6 +1224,146 @@ "source_path": "windows/deployment/volume-activation/vamt-step-by-step.md", "redirect_url": "/windows/deployment/volume-activation/scenario-online-activation-vamt", "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md", + "redirect_url": "/windows/deployment/windows-autopatch/overview/windows-autopatch-overview", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-summary-dashboard", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-status-report", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-trending-report", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-reliability-report.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-reliability-report", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-summary-dashboard.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-summary-dashboard", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-status-report", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-trending-report", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-device-alerts", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-policy-health-and-remediation", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-resolve-policy-conflicts.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-resolve-policy-conflicts", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md", + "redirect_url": "/windows/deployment/windows-autopatch/monitor/windows-autopatch-maintain-environment", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-customize-windows-update-settings", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-edge", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-exclude-device", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-manage-driver-and-firmware-updates", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-manage-windows-feature-update-releases", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-microsoft-365-apps-enterprise.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-support-request.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-support-request", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-teams", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-unenroll-tenant", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-feature-update-overview", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-communications", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-end-user-update-exp", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-signals", + "redirect_document_id": false + }, + { + "source_path": "windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md", + "redirect_url": "/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-policies", + "redirect_document_id": false } ] } diff --git a/windows/deployment/windows-autopatch/TOC.yml b/windows/deployment/windows-autopatch/TOC.yml index 3e1a68db6b..b593d16504 100644 --- a/windows/deployment/windows-autopatch/TOC.yml +++ b/windows/deployment/windows-autopatch/TOC.yml @@ -47,79 +47,82 @@ href: deploy/windows-autopatch-groups-manage-autopatch-groups.md - name: Post-device registration readiness checks href: deploy/windows-autopatch-post-reg-readiness-checks.md - - name: Operate + - name: Manage href: items: - - name: Software update management - href: operate/windows-autopatch-groups-update-management.md + - name: Windows updates + href: items: - - name: Windows updates - href: - items: - - name: Customize Windows Update settings - href: operate/windows-autopatch-groups-windows-update.md - - name: Windows quality updates - href: operate/windows-autopatch-groups-windows-quality-update-overview.md - items: - - name: Windows quality update end user experience - href: operate/windows-autopatch-groups-windows-quality-update-end-user-exp.md - - name: Windows quality update signals - href: operate/windows-autopatch-groups-windows-quality-update-signals.md - - name: Windows quality update communications - href: operate/windows-autopatch-groups-windows-quality-update-communications.md - - name: Windows feature updates - href: operate/windows-autopatch-groups-windows-feature-update-overview.md - items: - - name: Manage Windows feature updates - href: operate/windows-autopatch-groups-manage-windows-feature-update-release.md - - name: Microsoft 365 Apps for enterprise - href: operate/windows-autopatch-microsoft-365-apps-enterprise.md - - name: Microsoft Edge - href: operate/windows-autopatch-edge.md - - name: Microsoft Teams - href: operate/windows-autopatch-teams.md - - name: Windows quality and feature update reports overview - href: operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md - items: - - name: Windows quality update reports - href: + - name: Customize Windows Update settings + href: manage/windows-autopatch-customize-windows-update-settings.md + - name: Windows feature updates + href: manage/windows-autopatch-windows-feature-update-overview.md items: - - name: Summary dashboard - href: operate/windows-autopatch-groups-windows-quality-update-summary-dashboard.md - - name: Quality update status report - href: operate/windows-autopatch-groups-windows-quality-update-status-report.md - - name: Quality update trending report - href: operate/windows-autopatch-groups-windows-quality-update-trending-report.md - - name: Reliability report - href: operate/windows-autopatch-reliability-report.md + - name: Manage Windows feature updates + href: manage/windows-autopatch-manage-windows-feature-update-releases.md + - name: Windows quality updates + href: manage/windows-autopatch-windows-quality-update-overview.md + items: + - name: Windows quality update end user experience + href: manage/windows-autopatch-windows-quality-update-end-user-exp.md + - name: Windows quality update signals + href: manage/windows-autopatch-windows-quality-update-signals.md + - name: Windows quality update communications + href: manage/windows-autopatch-windows-quality-update-communications.md + - name: Manage driver and firmware updates + href: manage/windows-autopatch-manage-driver-and-firmware-updates.md + - name: Microsoft 365 Apps for enterprise + href: manage/windows-autopatch-microsoft-365-apps-enterprise.md + items: + - name: Microsoft 365 Apps for enterprise update policies + href: manage/windows-autopatch-microsoft-365-policies.md + - name: Microsoft Edge + href: manage/windows-autopatch-edge.md + - name: Microsoft Teams + href: manage/windows-autopatch-teams.md + - name: Submit a support request + href: manage/windows-autopatch-support-request.md + - name: Exclude a device + href: manage/windows-autopatch-exclude-device.md + - name: Unenroll your tenant + href: manage/windows-autopatch-unenroll-tenant.md + - name: Monitor + href: + items: + - name: Windows feature and quality update reports overview + href: monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md + items: - name: Windows feature update reports href: items: - name: Summary dashboard - href: operate/windows-autopatch-groups-windows-feature-update-summary-dashboard.md + href: monitor/windows-autopatch-windows-feature-update-summary-dashboard.md - name: Feature update status report - href: operate/windows-autopatch-groups-windows-feature-update-status-report.md + href: monitor/windows-autopatch-windows-feature-update-status-report.md - name: Feature update trending report - href: operate/windows-autopatch-groups-windows-feature-update-trending-report.md - - name: Windows quality and feature update device alerts - href: operate/windows-autopatch-device-alerts.md + href: monitor/windows-autopatch-windows-feature-update-trending-report.md + - name: Windows quality update reports + href: + items: + - name: Summary dashboard + href: monitor/windows-autopatch-windows-quality-update-summary-dashboard.md + - name: Quality update status report + href: monitor/windows-autopatch-windows-quality-update-status-report.md + - name: Quality update trending report + href: monitor/windows-autopatch-windows-quality-update-trending-report.md + - name: Reliability report + href: monitor/windows-autopatch-reliability-report.md + - name: Windows feature and quality update device alerts + href: monitor/windows-autopatch-device-alerts.md - name: Policy health href: items: - name: Policy health and remediation - href: operate/windows-autopatch-policy-health-and-remediation.md + href: monitor/windows-autopatch-policy-health-and-remediation.md - name: Resolve policy conflicts - href: operate/windows-autopatch-resolve-policy-conflicts.md + href: monitor/windows-autopatch-resolve-policy-conflicts.md - name: Maintain the Windows Autopatch environment - href: operate/windows-autopatch-maintain-environment.md - - name: Manage driver and firmware updates - href: operate/windows-autopatch-manage-driver-and-firmware-updates.md - - name: Submit a support request - href: operate/windows-autopatch-support-request.md - - name: Exclude a device - href: operate/windows-autopatch-exclude-device.md - - name: Unenroll your tenant - href: operate/windows-autopatch-unenroll-tenant.md + href: monitor/windows-autopatch-maintain-environment.md - name: References href: items: @@ -128,8 +131,6 @@ items: - name: Windows update policies href: references/windows-autopatch-windows-update-unsupported-policies.md - - name: Microsoft 365 Apps for enterprise update policies - href: references/windows-autopatch-microsoft-365-policies.md - name: Conflicting configurations href: references/windows-autopatch-conflicting-configurations.md - name: Changes made at tenant enrollment diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-customize-windows-update-settings.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-customize-windows-update-settings.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-customize-windows-update-settings.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-edge.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-edge.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-edge.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-exclude-device.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-exclude-device.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-exclude-device.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-manage-driver-and-firmware-updates.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-manage-driver-and-firmware-updates.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-manage-driver-and-firmware-updates.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-manage-windows-feature-update-releases.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-manage-windows-feature-update-releases.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-manage-windows-feature-update-releases.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-microsoft-365-apps-enterprise.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-microsoft-365-apps-enterprise.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise.md diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-policies.md similarity index 100% rename from windows/deployment/windows-autopatch/references/windows-autopatch-microsoft-365-policies.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-policies.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-support-request.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-support-request.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-support-request.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-support-request.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-teams.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-teams.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-teams.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-unenroll-tenant.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-unenroll-tenant.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-unenroll-tenant.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-feature-update-overview.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-overview.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-windows-feature-update-overview.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-communications.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-communications.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-communications.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-end-user-exp.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-end-user-exp.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-end-user-exp.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-overview.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-signals.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-signals.md rename to windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-signals.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-device-alerts.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-device-alerts.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-device-alerts.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-maintain-environment.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-maintain-environment.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-maintain-environment.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-policy-health-and-remediation.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-policy-health-and-remediation.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-policy-health-and-remediation.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-reliability-report.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-reliability-report.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-reliability-report.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-reliability-report.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-resolve-policy-conflicts.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-resolve-policy-conflicts.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-resolve-policy-conflicts.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-resolve-policy-conflicts.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-status-report.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-status-report.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-status-report.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-summary-dashboard.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-summary-dashboard.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-summary-dashboard.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-summary-dashboard.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-trending-report.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-feature-update-trending-report.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-feature-update-trending-report.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-and-feature-update-reports-overview.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-status-report.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-status-report.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-status-report.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-summary-dashboard.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-summary-dashboard.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-summary-dashboard.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md b/windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-trending-report.md similarity index 100% rename from windows/deployment/windows-autopatch/operate/windows-autopatch-windows-quality-update-trending-report.md rename to windows/deployment/windows-autopatch/monitor/windows-autopatch-windows-quality-update-trending-report.md diff --git a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md b/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md deleted file mode 100644 index 7d66ce8a49..0000000000 --- a/windows/deployment/windows-autopatch/operate/windows-autopatch-groups-update-management.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Software update management for Autopatch groups -description: This article provides an overview of how updates are handled with Autopatch groups -ms.date: 07/08/2024 -ms.service: windows-client -ms.subservice: itpro-updates -ms.topic: concept-article -ms.localizationpriority: medium -author: tiaraquan -ms.author: tiaraquan -manager: aaroncz -ms.reviewer: andredm7 -ms.collection: - - highpri - - tier1 ---- - -# Software update management - -Keeping your devices up to date is a balance of speed and stability. Windows Autopatch connects all devices to a modern cloud-based infrastructure to manage updates on your behalf. - -## Software update workloads - -| Software update workload | Description | -| ----- | ----- | -| Windows quality update | Windows Autopatch uses four deployment rings to manage [Windows quality updates](../operate/windows-autopatch-groups-windows-quality-update-overview.md) | -| Windows feature update | Windows Autopatch uses four deployment rings to manage [Windows feature updates](windows-autopatch-groups-windows-feature-update-overview.md) | -| Anti-virus definition | Updated with each scan. | -| Microsoft 365 Apps for enterprise | For more information, see [Microsoft 365 Apps for enterprise](windows-autopatch-microsoft-365-apps-enterprise.md). | -| Microsoft Edge | For more information, see [Microsoft Edge](../operate/windows-autopatch-edge.md). | -| Microsoft Teams | For more information, see [Microsoft Teams](../operate/windows-autopatch-teams.md). | - -## Autopatch groups - -Autopatch groups help Microsoft Cloud-Managed services meet all organizations where they are at in their update management journey. - -Autopatch groups is a logical container that groups several [Microsoft Entra groups](/azure/active-directory/fundamentals/active-directory-groups-view-azure-portal), and software update policies, such as Windows Update rings and feature update policies, together. - -For more information on key benefits and how to use Autopatch groups, see [Autopatch groups overview](../deploy/windows-autopatch-groups-overview.md). - -## Windows quality updates - -Windows Autopatch deploys the [Monthly security update releases](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/windows-quality-updates-primer/ba-p/2569385) that are released on the second Tuesday of each month. - -To release updates to devices in a gradual manner, Windows Autopatch deploys a set of mobile device management (MDM) policies to each update deployment ring to control the rollout. For more information, see [Windows quality updates overview](../operate/windows-autopatch-groups-windows-quality-update-overview.md). - -## Windows feature updates - -You're in control of telling Windows Autopatch when your organization is ready to move to the next Windows OS version. - -The Window feature update release management experience makes it easier and less expensive for you to keep your Windows devices up to date. You can focus on running your core businesses while Windows Autopatch runs update management on your behalf. - -For more information, see [Windows feature updates overview](../operate/windows-autopatch-groups-windows-feature-update-overview.md). - -## Reports - -Using [Windows quality and feature update reports](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md), you can monitor and remediate Windows Autopatch managed devices that are Not up to Date and resolve any device alerts to bring Windows Autopatch managed devices back into compliance. - -## Policy health and remediation - -Windows Autopatch deploys Intune policies for Windows quality and feature update management. Windows Update policies must remain healthy for devices to receive Windows updates and stay up to date. We continuously monitor the health of the policies and raise alerts and provide remediation actions. For more information, see [Policy health and remediation](../operate/windows-autopatch-policy-health-and-remediation.md) and [Changes made at tenant enrollment](../references/windows-autopatch-changes-to-tenant.md). From 8d81c1e35533ac1f6156f2a0fb3b67685f0990bd Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Tue, 30 Jul 2024 13:02:26 -0700 Subject: [PATCH 331/354] Broken links --- .../manage/windows-autopatch-microsoft-365-apps-enterprise.md | 4 +--- .../windows-autopatch-windows-quality-update-overview.md | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise.md index f0c70e6586..faa825d861 100644 --- a/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise.md +++ b/windows/deployment/windows-autopatch/manage/windows-autopatch-microsoft-365-apps-enterprise.md @@ -128,9 +128,7 @@ For organizations seeking greater control, you can allow or block Microsoft 365 [Servicing profiles](/deployoffice/admincenter/servicing-profile) is a feature in the [Microsoft 365 Apps admin center](https://config.office.com/) that provides controlled update management of monthly Office updates, including controls for user and device targeting, scheduling, rollback, and reporting. -A [service profile](/deployoffice/admincenter/servicing-profile#compatibility-with-other-management-tools) takes precedence over other policies, such as a Microsoft Intune policy or the Office Deployment Tool. The servicing profile affects all devices that meet the [device eligibility requirements](#device-eligibility) regardless of existing management tools in your environment. So, if you're targeting a managed device with a servicing profile it's ineligible for Microsoft 365 App update management. - -However, the device may still be eligible for other managed updates. For more information about a device's eligibility for a given [software update workload](windows-autopatch-update-management.md#software-update-workloads), see the Device eligibility section of each respective software update workload. +A [service profile](/deployoffice/admincenter/servicing-profile#compatibility-with-other-management-tools) takes precedence over other policies, such as a Microsoft Intune policy or the Office Deployment Tool. The servicing profile affects all devices that meet the [device eligibility requirements](#device-eligibility) regardless of existing management tools in your environment. So, if you're targeting a managed device with a servicing profile it's ineligible for Microsoft 365 App update management.However, the device may still be eligible for other managed updates. ## Incidents and outages diff --git a/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview.md b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview.md index e9dc59e3a6..cf05f0f72f 100644 --- a/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview.md +++ b/windows/deployment/windows-autopatch/manage/windows-autopatch-windows-quality-update-overview.md @@ -120,7 +120,7 @@ In the Release management blade, you can: ### Release schedule -For each [deployment ring](windows-autopatch-update-management.md#windows-autopatch-deployment-rings), the **Release schedule** tab contains: +For each deployment ring, the **Release schedule** tab contains: - The status of the update. Releases appear as **Active**. The update schedule is based on the values of the [Windows 10 Update Ring policies](/mem/intune/protect/windows-update-for-business-configure), which are configured on your behalf. - The date the update is available. From a4335c54eeb7df1bc78c4b40b2308d3013f6055b Mon Sep 17 00:00:00 2001 From: AbhinavMSFT <100221072+AbhinavMSFT@users.noreply.github.com> Date: Wed, 31 Jul 2024 19:42:57 +0530 Subject: [PATCH 332/354] Update policy-csp-update.md Update Target version CSP section as productVersion is also required for TargetVision policy to work --- windows/client-management/mdm/policy-csp-update.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/client-management/mdm/policy-csp-update.md b/windows/client-management/mdm/policy-csp-update.md index 796984d07c..84ade66a36 100644 --- a/windows/client-management/mdm/policy-csp-update.md +++ b/windows/client-management/mdm/policy-csp-update.md @@ -1223,7 +1223,9 @@ If you enter an invalid value, you'll remain on your current version until you c Supported value type is a string containing Windows version number. For example, `1809`, `1903`, etc. - +> [!NOTE] +> You need to set up the ProductVersion CSP along with the TargetReleaseVersion CSP for it to work. +> **Description framework properties**: From cc73e1b8fa5c100ebceba0117c9846ce1438ceec Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:22:24 -0400 Subject: [PATCH 333/354] chore: Fix typo in configuration-file.md --- .../assigned-access/shell-launcher/configuration-file.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/assigned-access/shell-launcher/configuration-file.md b/windows/configuration/assigned-access/shell-launcher/configuration-file.md index 2dba54c2c4..d63efdb85b 100644 --- a/windows/configuration/assigned-access/shell-launcher/configuration-file.md +++ b/windows/configuration/assigned-access/shell-launcher/configuration-file.md @@ -106,7 +106,7 @@ Each profile defines a `Shell` element, which contains details about the applica |-|-|-| |`Shell`| Application that is used as a Windows shell. |- For Universal Windows Platform (UWP) apps, you must provide the App User Model ID (AUMID). Learn how to [Find the Application User Model ID of an installed app](../../store/find-aumid.md).
                  - For desktop apps, specify the full path of the executable, which can contain system environment variables in the form of `%variableName%`. You can also specify any parameters that the app might require. | |`V2:AppType`| Defines the type of application. |Allowed values are `Desktop` and `UWP`.| -|`V2:AllAppsFullScreen` | Boolean value that defines if all applications are executed in full screen. |- When set to `True`, Shell Launcher runs every app in full screen, or maximized for desktop apps.
                  - When set to `False` or not set, only the custom shell app runs in full screen; other apps launched by the user run in windowed mode.| +|`V2:AllAppsFullScreen` | Boolean value that defines if all applications are executed in full screen. |- When set to `true`, Shell Launcher runs every app in full screen, or maximized for desktop apps.
                  - When set to `false` or not set, only the custom shell app runs in full screen; other apps launched by the user run in windowed mode.| Example: From ef0796dccaa7f2d833c59927a9c87d5252e33aa0 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:42:51 -0400 Subject: [PATCH 334/354] updated string in picture --- ...ry-multiple-passwords-multiple-backups.png | Bin 64959 -> 65260 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/preboot-recovery-multiple-passwords-multiple-backups.png b/windows/security/operating-system-security/data-protection/bitlocker/images/preboot-recovery-multiple-passwords-multiple-backups.png index 10229caf37fb45748093528a92a55bd0ccc965df..6dd45ec322c1a7ea58c440b6da9c1798396912ef 100644 GIT binary patch delta 33717 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 bIDC)y-u>^$0dpnp*>C9?-#}k;eEI(a{;D~5 delta 33221 zcmXtecR-T+_rHyM%a-l39Jj2@%q-2lDsNi3GE;LPl{;67sEGJ9EbqN3X6}Jh18fB zBH0#QEt7WEwonFJ?hTZ?;!-)_kg91rLaWk6<>b+++^#pY}{(GI?0n3SMKl+H09=QrHh}Dj~UmCk+6Sxa%gi z>{C5y>I%;u$nz!sMsKUOjI-h|o|#EJ*JlKwL-m7v@LpG}-`+EWEg2n(6|WwCml_Qabc@2Nor)RxdEb zu?n09esqlsP2<%EBv(oTY1r8tLwDQ$4N#8Up+9oF-g>Na-tW9a+viqI=vki%-kZ2% z*A@R-7~SY8>~CDXA1)Pp^aT_u<8aBNUk&NiPQQFc{$(6c$ac0u{D{aPkA)KXE2(r~ zH9p4mmlyj~2ffv3IF9=V$J49XsVhf}XO+~@BtYO-=YNAa{@X_a{^|8Ls~bK5F;_ys z!HCLngCM7#0a&4FQ0fb9PTG{%17R86&mbY9-E5bh-y0RNTpy1Fi@t80 zdhW;pkq7HJwdSw-T1zYzbRz~{Gh>$?rE_&znxb)ahhk+g?c>+VP2I!3Ks&X7=t_?n za%duEZThR5>F->4d45A9qpwy1-p#E)wN4tlH0HYAr421; z+IA4}k*(MSr4jq0Sq|*JCaY}67s{Y3J|SMJRIH$&a6e$T0#@g3`a~^%#R|%DYS~k+ zT)2NG$1ZSaIUQLV$i5E*41Y{VzKUu%9v@P@)kqE3*lf)wf4zcwF!x{~P2znt7@ z9gH0fkt(^DqExN`^=#w1gb;yopJH~}S%ijBB(mY&c~7mto|XXF=)eJVO8}c3$rGKo zIoV)#*Nz3i|Gqz(4|z$~RB$YjR_-7L?ui)7)C(ZN?R)Z@>5Vt%Vjv7m zPczRK!T#%hd*>kGwvMPK;Fn?dV7iu5K8Ea~?zAeq!r!oI#DBCYk_oEU$@pge!;#t9 z>dirPP>sF>V^y*pi*pk&fu=uG`Uec%(#!7s1yImO`F3XNRA~(vH<$*!EQVxT@7j=T)TssTdx-iFJC zAV?luEndYB(1FFsl^yO&U|tdI!fCYKa_HgI6EgLX1a%Oe=tPcDP33KvRBK6IFj)p> zMFdmW_nE&D4pXA$2OnCZxj$8$ECCMFR}($ZTGcXXDVZ^s6{c}x*H0%^4*U+4Ci@)KCJf;eo zHhu_gin=RZ;cd`fJwxSY28ZXPfa{w$JK8`4F>up>J#IzRQswhm$X^{L_D>EMebV~j z4o>n+h-L{7)Es*BVpq2Eoxy!qiuRP7{C7WhA=`9@<85bAq<@kh5|b?YLtk(bMOQpB zr250Zg&CUokUJjqtdD9FUSG1zKo(aaj7X^Tv~P$FD~qE^ zeUQB?aarYBe)H;7H%E9F5ZwM&ndVDM`-u?E26ych2j?r^%DZ@ZaOu~_bd;)O)K&Th ziaOx`pYWCkCw8mNM~C^TiXf+n2>hFsKo`g5(4mRJCL__bwnz$OikuRz7?- zNsq3>SgMbY|9W4zToi(5+btzD7m_q;C?Or9CDrkyV)CE|esmswQF#C~u`(4h^u%Hk z+bUJQW!YHbN>O_k9Ti{TZ6$3jTQ}!Kpj!A|vpkGEW0LMT;awG&GSSy=iSJ%@-K3y! z8zuuE_d0_*G(K~IQoa-);BIlRq((yzWy&p!%|}*8?dMm6u~!u0^wJN8p8=d`4xxWq zAvl%|@&MRUv?qL&Or4L5eO_}lM}RUdpv`y}V|b=4!Stc3A=XW? zpX$FIXE&ytYSZxyJ>r*gPIw^@XD3^+`v4cu(PT4b*)Vdb&s%L z0C)+9s-5H0ZX1g5gx+#)l1EolCp?nN5{H5tmt&Ske_gB_!2opdsL6Ulu&c2p3`~aN z6NJ;EmjSmj7JTXgxl!Z%^J)kGZDA+fwA6+gB;OBw#^$IO>ydToeh z=T3QA`AZ?7TNS~tskqc0z;c0abT$1#eMB$VUkBLDOqc;k9OJ*tviQKL1wSv6FcJPuc6&| z!^3@Xx+ULiaxvCVu()YUp6XQhN!HKK$EweZ@PXov8Cvw4rIcv#{U=Y5mj0(Yrlvn` z`~fr(>Ucj}yH0)%2)u7YOZoI)`jJ582iR%+9Sa|D$6{+!apX2dXK{dKCq;nkG$^<* zK?^x^%N3m4X0VzNpsIlh$TfHzYwoc4)zHL8SDJ2Dr7?6|-^%apuP~SOV^eWmFjCwl zqTawgi=WME9!7-=`V5ECGzo+rIMhn5%my}rvy{ugkEhQ#)em_pDq)FJ=esX2;ivNo z6br+LSC_@uFwcB#mqqaE6Xt+0lc}}vu)R{6A(3oi;l}|Be1Dc##ert91I32Wo9(zA7^+(S&aWAf6Wt;z7aa5XOv9p z88WF6$j2(ScSi|lTv=LuOZV_uUz6u`i`P74M<;_;W$wjIluzCuu9?t9&2jpk`trzM zM0jA7U|_%mHJP(?mh!rBlnKmn47sO;_}RQUXSH^?t->}1g%75iADT?|EoY21sF6hM zA%ndv<;nhpO9b6_Lnr+`o2M2_xz35&{vPEk)K7_hcfQXqI&^rLUOK?N-$h`TNy&qQ zW<}sZ*3ph$*LDKb$H;4DPKOg#NG5|>(_J1%2BTHN`V80vdq!&~5G2w=MG0OfF4c2O zFv$hi6if*;v2AS%-37&8_jEe$9}OWcmlK1Izi{_jslM0)mZKrU>m84CkG)}0#f;(TTUkduM zaMrp_s;ANUhGWMxR(!~CaW^VLQ9L!FS@pz}TP?pPq9g)b<3b-f}cS@q85+puyCO*J%{GKDbiOx+g=*ZUBML?x#>~69^EUO)QFVYOA54IWZ4a1 z83_Vh*A&d5R`OhclhA23W652Dhwx&+J65rRzFpgBP47Sli}amQ2LN~gG%wzG=3Sn_se9(qDfadHWN)oW3zN&^>`}?(ZsI?E zUqPlD=zDtJTAydI^ZRNl{TrqqWC&l{sYXP{_WPSpju$??L{Q=DadL|HMA0PIUewP1 z^U(;IHPaB|mK5iMZNZE;*Ndn)>)K=+9n2;O$wK-Qy?@BYLmz9N0eowW9y=;}=Bi{- znOr|>Y1CpAtV2|B;k_n>ydOCNmf<@Mh7;sak8Y&SQ~J`5fn=+1_u^TALX>Ph^a&el z0#n=2^Zk=8X4Y+q)^aC+iE%XVb@$Qp(pi^~V&{?5#}j=hft{~S=xyGqeTIb933a$A z4U+Brq&vem?KS`zOuCho+xyC-ZLu9$_S8;tICa>(F@bxu!$&PoJT;xi+nQd-CG-}R zTxwDxo0(l|0{dNkaXEw1793*4@=1FYxy!^hIHHLtvbgX9omr&&Ch?0c)5_Anh2y1; zKdqh?-4OKdy&TEOlXM@k@(LvDVKqO75EwaH{KuRF0?-f0NYX4xIp!$gJE`Umoc3*8%8-OUxgHm@#cieJVn7gCZwzcO=yn6mgiaH3g zVAaPIL0IhPfkaEpe{UkLeL1==oPP3C^5RKMc%S0HzO!dMWtTIY)5hmutYbU9sRDm$AfqD1P>*s2=TI28aLlFMnG=veza^?yg$`ifyjmd@DQ;YTP`FehHxA{lM z>=4X|+a~^B-n~D%@ z`YJ|buQ~+vF}&6lFTt$(Y*K4_){;QziThGS0Q!o%&x@$0y@F<;eITe|#AtVAJyWmm z4EHECZwZl^hMi;zs&{#}NeAwHDr`Q}&bbv%vfg{RHXu$QFi>(1eWv$c#1Nt?`Os-@ zu#dp}+dzGwzt%rr9*=pOJtyc+=Fw!44(&0v7ae65Iuq=dxy}Ko)rAW~m1%UZqG8r3 zV64YHRIbem`FQ-$f(gj#`&nfK!%eNwcya0{-H~@kQAIMlnnbBw*`Yl7`nBECB5~vQ@P5KDBtm-%F%Z@Xi9-Fqbq6EU!mbzH0 zAKL?ODXXHHlt7)_-9~EPy~3WhoB*g{R(ifm4=qiqg@3LU;p>|p4jQVV?Ll#LzjAVH zT%DSS03JqqRn5Ciz8Q@{w%7$G>dcs*MinFOFux)TaF~172KCq{RP8{jx1MJK&NKZ^ z%MmC{dTdtkk^81Xh>D0A@4=U}AbtJu6VB3}J!)ZZD>%;1o7jJ8QDcEKee-#a-w5PB zLYiJ0?jH3jOb!uZ2#ry*Re^h>lrwV;M_pO|>S5YPKH?56J<~mGa0#b&jsWqcwSxwy zCf-AIK#hEeaPv2R_Pgb=zm=6og?awG?fw(Dz_EjJpWo;z*kv8uqBK$$F+k~4Mm3n| zD9oC!77-%R6(zbTpsx&M!y+GEiTVn2OiBPt)N1yLc|F2hx&~TRv74dM1L1~FM*V1X zu=L8>zB_MWIZwiu8i5H~NA4?sF{%i^b|2sr-0^QB7lv3Q8gL<4dnICLphH6p2X`QJ zCb0jsb_j+b2J3_K^&)7W0-gswb0=+L6(brZMA^5dUIV2oJEB0UN2|k>CV%{UIZN?m z@rW)Y-lR~o(8}bc8If}tyct}4&4)iU(?n$D=(#Q*Wtn2t{GKHeM8g0z_K+YFtaAsV z730N*$ETVrU*{E?`Y(Nb*D%xmb@Qml#lU6NdgY&4zPZBD%-quf<^_#DCha{tdmHyJ znlG4Lr2*Hf%T*6I6kEt$A86=u0UMU#d~L?u!lOI7TzS@_Lvkz=p zn(VawGuy6}*gVyCbtuI_h4|w^|+= z?r^4UXyyHfHGG>Kro1b1_A@{SoThVvkL|HZwq+EQrrznDanTo-L>0$WT}3(eHS0s7 zLiw#g>kx!oErt&|t^Zh%-fG2R`R8@raI&hjZc^nG7VC2jQHiAJ!~W{y&X+5=Xd$LXNnbX~*a>$XGJ>(TEMZ z;H-8&*I;|RGK#Sy5F9%@e7cx5MfA z=v|Et>pw5u#5a{p{0dCj20lOWb!p+--&hrrA??7ii3GZPR%ngM02KB?6PjoE;@fEk z>B)8V!e3s(85BCl9)sEhwp2qsp;y2%o#O?=^cz61I?2GKL&-Op0d7jqhVKSe&<#Ea zEcr%~$rOi8Nh5|;d@D*W5C1a-(G@oWqHf5BzH3n_rx%05yJo8?qw}SMxE}-7t5Ni9y?kw|p4K~jX* z*vF1KziV{yI4OE~$-86v=hTKxMI)@&ue}3dVeG18Q(m7X6DY&Pr)*$j-P9)PmUQJ8 z;qXO;o`!{3Jel=$K;FL+`d}zzeU$92HUB_WnL~%FcZIEOCXyG`C!NdE_Og;Nx-ycT zO{rp^e8-$%l#BBGvf!$wH~*Z@E!pK`J!HdnOpRec{|)eFZ{&mC@sp}$hdtVhmr5rx ztX^MWBg}z&e)CXO@V(01!GWe+)l|xaaB$TsXw$CrZxvD7vUf}`MH{{G)#W?o zWC^IDjam@0wZ-E)-{wyn8T8dLCOb*Pl=1_67@OeN_9f#8if}v#KZXR#Xd%N1(UtHF zA4R+3lw00Qqc5Vf9e=d)8$xuwag>cFUgx&^cLA9@Ce1YUl`?i3zrIC#5n7ntIsX=d zkJ#t~`{qaM6ejoZs;R2bq~)U_m$Q~eLQ5teAye1~oorW}c)xy@^NZpYTRZe`RN`Z1 z(dMVmk>0GElk?f2$(()1j-3u_BprqJ`*32-LGuxA0e;hQ5!JPU`&F9Uh89~zBJ;id z-axwkIIJuq7r5>i zKpY8;`s!Q;LgSSc^CiQ1lV@$vsYX#58vZ_0N2=Z|-?paX?^+Nc{i1H?R}5J)Hzb|J z6y|l9$h;FOM4n`PE#H(ZT`ZzKfldOloU@D13L*L9;R!Z|fG&B%UlolpZ!Bqb)p2Pd zC#hL1(bFYq87C&!2pNBiOIS)rp|e4vewgjt{>eLSD?s8fhAl*~;v*8QI9{6&Lp_F| zkcdWGSjmnXNx=ukJ%D1S^$^Q!@|prlGecVm2jaFT;QZy=?KTmCxo~TN#bM~m;UbR) z*bqrhX$f_q(a#Q0*+9LI({uX5JG6BGh@U|UO}5X^Nz+%(tS=n< z%Oxt{^Bo&&J%+gu7ldNh|M^fj@3BP=`pyIH>q@E)pWrA(ux<-!f6#&%j$O?ixxAX> z_#gdUrL!K?os^dl6CdI-@l=4e&>*Z_yivgMh*(1$3J+6`%lE(OL65Kq*&NZ3SmKd> z-z@t9kXQL{w(w`&XhiPaG#8B@5yh{)`9ZUi@aEQpzh2{a{55h7A*`~?Nn0>d`?b7X1V|>!!bTkhQWazSFo~H#Kc+(QuwfRRDRYT zj;&QG67{Pz?&tC+hT$!Qbh`GQh>T@_;5E6+ZhX}1BkPOn4w#BebGdIp zmZC0n_9!{`Co0CNvY)O`wDM#^))rMTM$G1%(m|4eXK5taU)aUC~Iq2bAfM?RuIuMxeM^5hWL( zzj`BX)>y8jYBQO5&Yl6c_dh-q#;pd{dDS$%TI&s5e=qZ)Oj9Ai&LXOt(9}jAX(5+e z;}Sy{q>l*Jz@70zNQ~>@AAJ^q?%BK%Q0@Evk+sA!9bs0^mn}}R)4+IFz={jZ4kWEI z+3e@!DnqZKkFw{ME~u|(M$GPgg4f^qy~+0-4FUhC*w3o}5oyabvlKvEVhUZ8?&;!% zKDZI@m@hC)B;JhvpdeU}ZTOl4saYu++7gp6{-zgZ?2O?2VAhCbhiy|`JCLhYae<5a zzt?=I|F6Qq{TVx3l7aL7xDIyjd-Vtpg;v%uYJg*Fc}pPeKm#qZ^}pXWrsk|awExA2 zb1t&*jNV}y1{I_VsdrYq)STX{N-**j9 z@_LrI%0jnbWs?^NY)?=7S7U>!k1JKUDY9N6S@Wx^m;1IGh9S2ZrZ$QxNFTtr5wW zR^-FYfpWbV6#r+R^IRO0lwEZy#s@7WX|txEs>fHwiHodUmCTntSs^#9bj^R^#0T>j zynE=$SaszAua+Jxd62@F-N-C!&Sy!UZGe}nk4E|<2sZ%qAb7B&9%ALtkS-Vr{{-T` z>JNm0kV1J_*2c*%KLrF9rBr{K)n~>1J(9qb+*O>QApXW_x6d zUOUHT-sXrm0gVBl?>;7Mv{uYckh0Mgb|Rk7vd81LM9}hJB^O7}$45~H2jrLGu9Tn& z6k2&F-CFj6NCa`S$O`rc<8|JHWNYTAd$#T!A9$kQB}VIsNylHAq6uS{rHyyAtk;t= zq(K&!#IdSp8aIq31`RqQ&5lH2d0iQF3Vvazzb^aX*(1RjAFAad>~-gmumQkvHAVoo1864ax=#k?ck)Zs#oU_Tx7zy}mK=wr6gsfoG+ zNdWE^4NqFcAR8d^Ufo^LSxZ<%^WBViOt0+5kegvc(DNk+olqwf!W(K6G5)I(zGWkp zq^o^#?xVArR#>3N@fC+A#*c`hi|lif&e|-FKI^zJ!|*ztJ{?$ALr^g80Mv^JU7buN zr%?W`x&H-q?%Et`#LUXWsmPpE__h9Bm}1H9y_sXB2UDZtn|83n5B_1p-Fa@^Pz+Y zlxVT;wvMEl(XTkdcFT~Tx>DU#1J_SfPQq77+3u8-E)(s}uyCu6=FYsHvK9_77g0fW zmJcTUhAttSJT?^#k6&2CxbnY7jVbO2Q~QsaZZYLqIO81**XPO(cM zUNX^IcxR0zsHqP`5Pq9+%zi0mUubQzz4Xh;{@kU^-dCXAJC4uIZdqBt$Ky(_BRBqc zd?lRUlct&O45NeCtfIzIkZ8JZR%0C}c7kJzs?q8IK4pkUH!gQtzY7 zkHYq^^5XXEd#ZSwM-E*i z3tkuQV)(~#1&8TrE`Xt!TS(yHy*{7G-fkh+l-vI}$sq-dkx{4ON% z2O9y@LH341*kg$|702~FqY80B`TNUKZz$OYw6Z!S<7iELZH5!@9W_>I-<@9ub)jvH zXtDhWX1})I1-it@HvH?h-3t@Sx#H8^mFU)g>rK4HGq;erV@MDA5TTsA6MDZ71KGKx?S4W(@%G)#DG!iKWwCWm_ke2^N z&ck!-&X%A6`+eqNd*|Nl?zAxS?H{k-c_t(~>%}R~%!!;Xk(jpKr^bn&7cn%WWLA8- zn!Zjgvu0yHohupc+B~gy>HWqqWoh2o2#xjM9!#6U6Blh9%kZE9YMfK?Dcwg?zx6cB zeZiJ_1|gEEkB{s(fNTWSvSnN0d?1${oTqd>!vHAE7ea-9S{D5Fvcm72>wM|8244!b zevF>F@=X}7d&Jd7!!nZR1>ISI`%i#R$+2t-8{LKWKQ$S!Gd^hd!ioFwQ$-kI&{%|F zF@t<_Fq@}JtSMBJWUiJQUb;ktwT&cOj!y4tg_+PC z24@?~JH<8_Z3Oi)0dt|yJ?%?XMFr!7R+F(bjM|7~JefCgPVv2as<^O3H3}v!(tsjH z;z&=0dw-1M(o%2!KJW+6^|u|h<<*;OdY`lPh2EvJV8OMZEP(5<)rE1y4GxsFRmNQ@ zMcqED;lS9{46-VKvPRJ-uO%UE5G5>~*~7T! z$=q!|Dil691qu~na?cuE3?|{um$}|xQ7wv#@j_Hy6;QuqV{M`DA&AVkQ6Y|12SC#m0 z?lq$$gIG}luK8`?gl~4`K>iECYv;4MW%+i$>g(`)gg-mziyQ&O`|k~WYwlk@#PS)* z>BWL>C~1jwZPs~VhX*5Ms4*RlV=Xr6?~q#od7*3RH|gOb>OKnDEza2Mb@4sE{ImH*dPap3T|Il%7NLXr&yE%DyE7Fs+ z#A}(UGd1sWhr^X|-&v@*o1CFYb2*^MH@zH&RTFnfF@-NGO@vVT$*%d*X-M`d;PK4H z3tCqo+mL~x?x@H4mBi&)y0~u(RBGcL37N9z+LMJBhE3}!q{+4UqqTYfm z`vla2`(D2&cF1Fise<<+L)a^~d{L~@lB27G-NFr9NX=*bd0Rb*>AqK1lbquQ{{8GML-UkE!)Lj_&U)yJXW8>i0!TiJO8YN? zBo_CcTyg!s*YYna9K8L!HDU1<4$krz*h5j@A3%QH@7~5_`7GQ0Z=arq@vV)k3*%d8 zKjy5MH`mFL@&5;L4@rUB)91gORG$BLi{ZyVm|R^k-)*gkaCZOm{S>5lfiH_C`S(i4_xthhPu=mdSZEb1bj%!NB+ini2FZ@6)~e`&L3@>qWFUt z$vBT~553O}tdPT&cZ3=hGg%}1rWuveQTCF#tDHUl8(baSqX6+VHrzr+Hax~ApBw>t zo1mq!v!8AE9S-zvM3=34A5(DrmM@a43x1XJi2~lgfOtg}u^J0KaTW1)2XT3hUtt}A zZ=7Perw;LxI;_fltl}!~ju-I+*W2t=p~N(~bmnj9+<$`dKp%6@S{#o!vmjmxPntXM z+Z-)B<@;ZWjioq&J%sq=8x9I9A6#mx6jeNkzL?v3>pU-YSwsE|QvNrl-Zzo6hUo!9 zJU^mb-$7aNyDLz}01r!x*ezBFIkLQ}CyZ|UNZRp`fB5N(rUQx(8{OFE^j@ki;l}T> zasQ>k!$&@fWS&@j8G<)_6yJ96j`_QN;l}S86UHXKo!GRpb|i(8!*aN(aV*DtRgP2- z+gg2hb9pM4i^SmIbPplZ2xtj?PP^D8?0Ig>HbAhH|A?p4b*l^2@CmIor~y5BlOa!G zAG$3B6#W#agVWw8-;J0r_O5m8rkOPgonk=veUXo+$vT}BI) z-&A<#KTrzFj!6@^ED3-7n@X#H9$+#R26;ZrH)OXuX?N>Q@+(qF4Y~A#YoAweZT;;( zXUH|+n@JniaH{Et9;ODBYbj!b%MT>X;n?&VnR`U+i~B$1>J~TYw0neG>I%DxO!pJ_ zqM6bnpvfm)nsNU;YNXKza>oJ`so3*h>(m+?E_RX4VVF71=mTo44Qf>k^TPg%mj>7L z(FV}7{F^vpf{-$Rz|{Heos&b?S`pNLk-vws`np*-wABo(&pmj9RxSR8wvvg&@t4`P z<(Ac{=Q`4H&oo%?lT973qw2EI`<9mhk*!cXtPOZz`Ljln2%cFDWxl~yUzCYOjOGbJ zNc=C_Cn8#<`@2#^Q=RO;VAgxklvfS@Rkffvm~XWS#SnCd-X(^{a*b8fdO-4rjt#QeS&8jnshexX3d;ah#Dd z?)&KwTe+Y|kP`{z8qq=KaK1ZdoFLmo%nvE&6C|JN4Tq2OiSq7+*6%<7K4mXe25(BW zT8*|q$xf3X?|m1U@_}tbd4WIBlw?>#jocQz%6*~hQdCmO6^Hw*hMCw7IyTi95}7ed z(?g;+HM;yJ;3hB{pekpwi{f|q>CAQ8@U`e}Ef&!u;JS9ikhi-@Guzn5YT@Iw=W?Sf zv)jUy4oC{q^d<^D8_)=rV16cBcGF_cFGg+yKCc;MWJTYv1%MA%)6qBC(G=srTRK2bwZw>SYdNi&bVY4nmwa>w8{tSDWMBeFZXXxU z{rHy%ZI#(U&m!cBqpCYrkwi@0c zeT|&0qY9<|<(7tA7Dwcf}cve>^mGlqBTJfV3tnx$;=bKtu!xXWmxl-Z=u9Nx3b11DUaQ5tvGqG zTe#Zuyr!~QMpfHA6(9+AAGA?JcCmb`^Q%Knh^PzA{@v$uKlAtxpM69W?=94V;h6fd|-Ef ziO-&~$@q-Fem3-;JO1}QHTNZkWme?q?%|cV-Lx#JmGtMlm@)IiB8$>zYVNgclY3|Ux+XM;}(>5!Mw%+G12M-4||MBBy#IA zAlZ?{1Q((JX^cK098jAql)eoM{0!W^loz?Zp{D9G+bDc>9;gfknk@B&F{*!BnC)oq zf;n!^80QXA-q1(o0x)!&f^kJR756-W+3S z%cRpu6dz>}27LIB*X{#He6R&&`RY$)vuO}>-PGWt~;?u9gnUVQ~-k`%pZEtXv z|L`cdny+J&ynZk;{07q8{AJRXb|qANJ==m5*3&HO#@8xGvwmb|l<)=TM3Mq#q&ld6 zMO%2T8Jr*r)U8Rr2Y`d^(&2ZP1XpmhHH@3YqFQQ{SZqvd?p|WB&Wf@ML~=#vv37sZ zqQ2T%rfPUjthoKE&qN|8gkof;QN)@42uG^dTdE1_1EuHO8`exVvL7|Z)e6Q`q?@Wv z7E$pv-pkiIe%ZhRP#Wo7C&!XEhahihXQ{5s6r_Iu&ht52;F2h)7;Iq@C|VJ8yNrqg z@RW_awEe%s+ze6+8WSx^bB)3JWG{3f$!)Kbt~aMwTlV!c!K{L%dTEg9HfixY)6Y!)b(9^-G&(+Cl5cOMARYqAwDdx_WV z_T=d!T>M$Gv)nsRHs*u;&nT%t@iG3z|F#F(YuTEua9<8?D+a9!OZmM`a*_LFs~@oJ z&1sHS;+aM0jjS^4vR5YvPK%Dgg<}SQe{=JAb78b>oE_>}y;8iRvri9Z*Dqts*P2R4Z!lRDnZ&0uD$#XOlAb4u-;Lts^GeJG@H^sce!3$Sl>WjNpl$CS;fm$49U1lLxE1 zkcQiLMYm$(D})u}bTFnUL4Qb>td5gZy@b3BPFlmsnF~?GaPw19=G=vN%zS=F!!+y^ z2F-9pZnmUJumOj4M4x~TIjM};hMh17rV8q*Q}h1kIdNdL#GYwUnzMwh)~e`+(uLS5 z!+cR@d_&Kvj%&GcQi9)fsw)trKTEc@0-;lzn1Rg6l`}4~pGB*)fD?Gml(VAwp0s&U zuL|&5uAHuDF+wJ%R`h>4`hUe1m9sui2g}ko1loF{wSGln|x|73RA#O*^nW6UEaICnsqp@a>$a0>f7ai#QyEj#P@(jixH?y}F|8N((O< z8g+a!R@xcQsbc*KAicXz_Sb)_gHGj^mB=$BHbuupc6SI-rrc^+vKt*O6BS6xGI0n= z@l_`nL}d;28`Qw8#@E2YZL?hpSpQ;&*DcBce>l$E4zJPA89S~z^}G`B7%FgVj@l6e zy}=(fVNPa2RU0vNXZ#d5c1<(YbYh;hJ9|Gq+N=x0Y24u2a?hXsY@tHdu-Mt6#hr>rOHqM!yw1`H_yczzTKu+91(v% zLW-{rj^jw66bsD`%W90OaPJoqB>TR8$jKU(kkdrz(F+gZlci$V`d?F5IAsjBaq+_P zcW)Q-bwRmPEn&U#WTG8QTIMsHnkdP($3@^xil0lWFn~n@>FYy$e0$01A{E#LzriH* z+Ks=hEgzF%j$gT=aNRUVzsUFTKbLK_i!r7y^_FM1r0U02R-}tlt|mpA7ArXn(nh}? zLO)MV9_cZ-`n)d7_Y!mC`m%~!$4*C_f)*G!fUPWvW zM(P}~0g8K7H+|G(8=m9Cv|XmjhxWDj_^ZyqYzi|K{0ebMmIZk}nq?NF_-gk-hr|Ce z6QpI)@<|r`&OMrYm}K!pb_8HyDryrCNB<#j%OrNTw~V%Ia2Xx$UdSZIJOz6wMUOUM z2l|SyHFa648aVt2fYu}1=c(4sYjJ=8xo^R1a&nqk9dmkCC894Mgx|LtHadp%JK=enpP8XlnmvK{pRjQt z_?m>fr6dyNfjDtyxn#9L08QXT}Nm9_Ar z3%W-?hG+o+!8y1o-dA|62zq~7u4xw#reXII+R@wIFn?1ww_A2AK-#-cmN3``e_4T( zZqImwZ$g@T^z=$cuA=CEV3-5=dM-c4;Xxj9nc%o$)_8x2rgvjWGsYXo+cDSg)R5WC z)MuUVMyR2IO1lE+1Icg<)gR(8IB2jhlI*pQZ~ zIWFg|V_>xDw>_@{fFg{^>x;$aB#}#DbZ45gyOyshwmYb*Rr8UDY`6r+fr z`?@?!!<1cpct?7-wXLZs*@h-g3T|y>5?d&pK-S*^DHP9aB^CoXlsaK<}Vc9*>{h!)?H|W}%0oS-DYd?)sJ=`-OJ{+(7<$K}(fh{e`Q_x?C1s_x z%)xkS@X%yD^R}P4RIq?*9!IXK3OmUJM|PBDiHj-5nNM6^5OXFdGPjs_tEIksgBzrB z4sPH`=NbiFK>#Ee;2`uJP&9PPq(Kr6G{?Vwhjp5H>lFJE8k4UFojJ;~iGk9dv z1?nmsZ(*Uqs!tQq+;~cTou;u|VHS;_z=>97Co_R;2wgO^sW3ilV4C@J-W=$8C#V!7 zNM&V$p;pa{6q~E1nIDS#BW$>GA>Ny3N;e!PkX`7CUs=v%2e?jubwfIz_3@wT1{WJFPgM#l9r}Ks z(3v;b2oi`Y$napRNi{&O#C@_GOFKgr3TB*N&_h{+ZjW1fX1~QhJkqzHf=+(OjYH5& zmoqq@;x^7)u1N49JL}sQ(knSXLbDRW*v9m$%unY2v?O!$ zULymsp8RT(ZHKsTu#iR2CKJ98H|(r#LenhdCw#-$|7!to|39oz1;3YOtGmD3u_i|{ zV781goLo!NlfQK@W+}SRTTrIS`MYlZZR47`>))B1;YsO;uA5c)_|aLn!!^#HHrmzv z?|B^G6W1LA0rV6sCx$qwayoJ}fD817W%_zgAfDGZk>bMW@BkD>*tLAENiI}~=Seew zC3)4zg7ldehH5?%z2W-#Z)ZD{=3gFi^l2G2v`n2c7_f9wc8#OcS8LeaB3VFnm;q(P zoE6_o@6Z#az$!%v=POo75MrnBYz?V2yI^%=_ZknmeYMByE$?m`CHC38{wIw@OO+Upy|KPe!6z5_1Z4^?IVhv4nIbPSiuz}Qn1I_ISzS@SrSLTIKSMv+QqK~z`f8xe2 z8|z7zG%<4-BWrT`l;B3e4LMyJWK#ez0cZd2$EdsWrsHer+0?K%i5%ME7xgsEsjc5K z7J67sO$4LAa{Q_y4;S{Vi43v5ETY1ED1ih*D;C)YY;#wvl7zRX<-b-c#aW-!LDY%# zmdGausga@>x-2hcyX;^#Ejkyts+zYo{X_<29m}K=*NVgLRQ3Gxu?m%T$-8`xw=`V+ zvywUx?2@mN4M&Zcd4ApwAB0V|yO(w*Mizw8#w$%-YQ_*+Mhcq$FVqH# z=%DjNs;1bOc?yC@S#9Sx50&z9oS?bdAzdz)w_APebWiYF`DY1c6O>40Z_Nt=iKgi0 zkUB^A(QUX2fsFK}j^!eo&r%~hpF;w#(KfsZ6`+=RqaGAW(=VO<3Hk%&Ve{p|rQVP& z$1We6CgMUrC#SJg?(f;e2ehS%rOo-vCo(AmEiQ>8qf2fYLNTpic*Ike$|_`A0+i0< zKloquQc@;pWfZ9{O2)lEo`mn79>I8kF|v5 zG)(z}X^Y^5kpv?bl#@2ex{=h`4AhLCq_vqi4x^_Hf|5p$SJD~G zbjKib$qlebi;*EQlPUxFb(@va(ka@jrEn5zv0FzQxQvgFd;LIaKw0ML&7`Ml8I+$Y z+n}7cT2A;3n!55?B$Sm#fkw_K7bgws*T!Lb`Y$*bq({Q7ROK{7JZ<+E6M}~E%)39{ z;{=1DtSLsRmCJ`P1XxEzm`<@ZnO$j&aM$0=n7OM~TX`4q7YZe+E7nu@7{=qyA;F*k z31GM_DKUE^GmXDn>sGqM;nByomy#4k1C3daT0LL89zxD)#7HEmDTLOid}FlEsc$8M zQ>>jZ(raIG=LrN2S|sHjDObbx?@=|JNb=kQL3;}} zE0(eGePq%1L-=*OwGO`T#Mxc~6X>%!>t4}st=o+mQW0#-8Q5oxeTtBqXPoY`Y z+2ibyzTwOzL;DKU_~uVD9CU3oc+7ou&3g#rUa2LiMhE5U23r_sa~i1339mejdMoKMEq3_j!!6uq7)ssa&lWnLuCw@A_%arOGnojs2wc#P&(Jg8{xEY z`(h1%`oJ`x*~XG&QC2F;#hSOs z8(7yS`PsuM%}wLtOqAJWYR>%ij8cra#*d! zS8OuPob?)yxqXQX1?;rZ3iNv$)-l7xh>}`aV zm{7Oi6Sl-s$)u4A22&#mmuJp8B9AVJPfe?1(JH@NxRLmThvH4R42u7-Y`IG#_`dFfzmYU`jbj-^2X zm4SQc#lul+wFBmiL1Kf%mJEGF#Cxp?MK-aJ4)00UUaQqy|1HQxPzz;M+OsOd!W+A1 zZoCCpV5Oh2eFdSTp`SjD8uo+=!P_+je1%~~0j&;@Ksau- z=VLoK&eXRsYOI2=WWraa=C~(KP=S!owHw&)KTzlL9{+6#g{prc+SV#&qd}@s+kAIa zvt0WVc6QW-vrpAqAMB@xL=$@hulxA`0xy(PmQ_Wkcth{I1ih&6P;$7g-mc_VB6Ie- zdRK3?jK&Dgd* zLB#VD`VR**)1>{OB4COeE?nnT!v)J3ixQ)<Gcw0r#`z~? ziu$uLF05{2&V@H2lm6cT%}?7iw{=t%lVI%KM|-%GDM@xB_Pmq_E`YLS)K<%pr@Hui z4Vq&?YnV5ZATGSICrVb?^S=FmfKQbjd|3vmIVFVg?tKIoYuI*Vn z^(KrJ8}!~5t~{`5qCbfVR7ZCggcBAH@5O}XqNqVf)fx(vxTP>vLGh<$B}OX{Q_XHI zHHj5Xa=RA5ERPI#4K+dDMp*o_2Y27+2EKAAUULN`&Og}rLnB+TOCu@MXily&voG9F zi=I`>5c2zFD}h>VDWGry$DZHrNup(}s=Q1Znqm9fcH0u=XXex?7eaF25f+9cPc5uv z@#F)H)rUIv_}JvLINOe#2lRysth*+ui6i##X0KwtzZI02Uq_t{983K$$UDt|`B&f# zt{NiHKYA)YwHV@BitA?PMgST=ST6?EL$A^D8;9S`p0UwGyf%4Vk?Z_DIvGJe-A7(S zCRH^E0k-h&V}7X(V}WQH`huB>wwxt9DQNxmSIi6C=pO%gYWxvYpxIN=XNjXSlfI;i z2Rh47Tb*Ur2at#*gtK*QL;}rLmp8E>v^6_$X*IoS*!|re@JX}Bxu=c?CR>%L?W z5!nv*H)CXZg&C3NX_O!Pvjc02T$w)ve)TzJ&;FMb2|o`6zKS!t*-w00M;7tF*-c|J z5|odf?z2XcY0!#DR-OCjQWS=E|0AZbj4%A>ICXDZsL$h^@av=!FAA}&vZZpIzR^qo z2`3Z#w6*kNIMKEj?!o-8pE&@7?d`Q?RQ${;T^+)n$WJ-5yiHD25UuXZtIHf(XhJ)S zH^K^m?9RIR*>&0%Pt>DI$STr`9#fO!yY@WV23R!e_q}yF!WOpGRmXJUwZoqcK;6+g zc)nC(doW~ztl1S zuS!~Y`Ms%j?e153&vko$z}CTyz#OQ~L2cfFB|uW{|B-h;JiGGdo3Brc5z+6I^T;H( zHbU}w*H=vq9eZ&LvM>9*N9NGQ9<)-+!qd1HcoTa$p!{S?gX-nvpH#?rH)HoOu*$Zg zM+KW>)5q%rEKfMwV*L_@E4^6+lOB3;ioBQkMrO>7rJfN~=5JW)2QEct*=|j(*Q()_ z^}@3}dk`Z5ylFdnjk{QEUEd&aT1hLsht;g+)Q*u8E!O=s`$&#h;T}Kj+++W%>HAuG z`u;;=#f2$i_R|=#(>*S?M*w_C4}GbA-~rPO4Xb`?9e+lJsI_>eS1=hpbL=*KvCwcl zZN6)5+>ezSIECn8YXYz|mPk(Pc+!i{LV z7J^VqAKMqfkb%IT_K^kquQcr}hZ*ESj3 zm>5TW_~m?ney6hy#tlXHZ4Otbd)7)R$vq)0`!!>**X%xTtzBv-Z?peBQZrT<4qGS8gRyFU2%FrDoB zj7HBCZWoa1IWHqqQ1XR|_C|O*J-6=<#?+SgK&QN|8PN#KKeb>jP{Rx$`fNQ2% z!B#DdEn5&`@*1Y+lKr7X4S6e&i?OLZNmiW6wcxd@{qD1SB8kiw3{Q%<2#eQu_r7q= zzOIZHPC;zeq@YXcUUCn{j>d|E{0M^`#Nvxo#gWO<8^nmO{|3r!EZAX+yX8c`)xy+} zj46MY3g@trWcm5mEEdrH-sjvT=A66eY`v}fK5q->0DRep1T~n+DYvxxcTDV3mP`4d z)e(IxTMvFv-%(F4>*1 zteBP4%e9s8y6VBnI)77`nO81hR=s)Hq5-32xSetDEHjnd+QRlpTe-FW)EItjd|U|X zHJkUcRM5jB{g_6eFIia-RX^^Z7Lh=$PZCzw>UM!9r1E-sgL$-hjQx5TK8QrDVieu&eM#Y|Mtx{m{bf{!ngi2+s)n3TqYnu8j}8 zkBc5{@waiYm9RPfLSH!LkMg622kGX@-S`t#-#wF#KE^J?)-SnJ|c|ne8IbeZPP6~8%Nk6$eE&WgvD$sQe5Bm3t z>gvumf7yenL7IzNIV@#*dP9=@Dl+qFWux`dE9jyEUS?MiZqII4`|Z4>N)}!axl@;9 zLYa?uCL@+vZ3GQKwq18rJrZ}(W;+p1SjzsXFoM7G_bCqw=V_g-Ez#hIrG5@avg zW2rMC$BV{6x|_=Eebc)lRRbx2iWVL5s^#xUf2x9c88mb&;cVcCuxkMabh%tU`-y7C z_ZWBNBr9p+Cqj@sGkMigBc>;=wzvxW1;lc*3usY(*FG&}(PO zzf)CAN1PMj?%dwUH2EqPQiMKqnH;fXDJ6g9h6ydb>F%lf%)6OC(6yC8*67yS*=LdC zReh&Hqy?%|xVgj^2nUzN+}uAF%uyIJ^i>B#fi zmOOPOa?A z7y;Oz4oLP4pJ{)o=;yCFv%H$I2yw7SW-x!LMHB>PZS$EdWL@>smOIRm46NANh-Sn9 zPONua$Nu;xeWYiobET)5YR zavTAk)lYX`jKm)r0ZR$BD_znAB$ia&|8C}k9|vDqKS9*L?e*zO{pQlJrJ=4uN#c6i z2kfayx5L=Jln*uA3IV0=m$ft*LVTXMcx)#RxGmj)>rh(<1G@qFzZBX1Q93|Qde7-D zVTCS*F-2v6*zoufoE7$r!5rtCv|Wto_Q|fzA3wnbT#=GsgJ^dbb)-_4Ai5uFwWdt= ztq2x<_{kc()v}mzkmQZU7NmwO3JzixZN8mlb@88>~ti0wAoRL*hjd+e}H{Dut@ zh6*Y{^17roP1*i9PbNc9rCWoNQ>4p!S~3Hcmx;KqYgKrtktQCpTJIU!2l9ToI{d<$ z2|GkR>h}Mt6KuB%zOF4=?Wt|=6g`mS(}e@r9NLnkc?Ah|e4}3ScD1#pj*#@3t)mWu z2_6y-Cl9F{!$>?UJ9Wd*@QLs%eMDdW*~>~imCqysN6W7Nu-jV`^;NZQqhQ`3>2O^^ zp2Ty=6~_mU`4R*^(r*1erc-US^||evNvm~WPGxVP_gD#?#8TUgC@Z8FF6H{8AoNEi zd%Uy#Yj@E;?E)eSqV8O+rJ_>g9_BOy3#S3N?J~@J1nRIULo}17oS4uZ{ zSz34y{BCX5QVwe&HnJm6W*1(4_e7!D6(5s}>j_dp9@(-6s4TgJ@=r&-zodqL z`C98w`OXTTi^uG-Pt;;gp#j^4(J+%0h7nzP=Nag|;QDyMMDSRbR67fy61;nY4D?cT z4FRw7KDj(mX^L&5tz@j z2u^OpDvk(YT)8v=RAh>&VWY;rvNKQ(?(f!W?N2D>qE8k+MG1PE(hn=hP^(-&b`QH$ z-$9HuPL8Y+r3l68{#}~~?FA3YjGV*1$$sQ-HcTr-Wr@4HQR2ykJs&2CauGv}kv@wo zf6Th+=2}G0xQqr9gsN11Z5Po2KYVekDj&M@sYTMbhv)KTVI_H zK4Gn~Ylxm34i0X+ko5!<1=rUSNl()4DgK9pT z8Z7+ps}>80Wv7}_#@L`V?#%1Ea7`Dm$&JYghd&ztkT+gKG#m+EzNYQ0%%2jtK024G z|5tr48bYpQ6)4WVyZ#izaF-2-yg>P78pxmM4qKc{pZW_v3}ttu)oT|#+{S(j3~BM4 zn-+SRAl@AZwP$SVcBR+0%FxHILCjuzz0{FPtVKKC_f#B`#>8rKs5ari?ad&sOxau2 zLJq>thFbH3GtcCzVpqEr@*{^nv67JPW}eJH^z!N46U3*0MGhHhfY7zxTKK6g-PxRU zxIlXP8b2Gh`kGC)aY4=`@YfZ`4=Ci1&X-DSdbo35X7)xYtiw&3F21}u_eYYZ&%E>L zG*reT0|`6cM0mI)oc9c{ef;PI4sx^K?NmNe13qRNnW!?ajq1PuMwmFy!G9e|o?#af za(+Ccp6?(8$XPINP@BH(=bf@LYq8iF?T@9m2YXOJN6Jx&O;U2ZrDWXOGexK8%)XqF z>&Vli&?nUL@oDN?b)4ws`ky%{mT^nsxuZu`M&xpk!CnDN z5ua-`SGU5uGP9TA4OgJNGdGDU4e#Kc1`a@yKVVYlON;yHoRc zCWC0ZCty*M4f6)x8rQbs-(QK>TI2(gK7Lo-odXCtG#08JSQ}XJzSJrnGQ%2~sOF4L zFDR7=jh!k;BO?bgI;rL;7QA_pi`@EkCC^CB;l8I~|q z4*>aIbI!=uR=}c*9N7JCP4}8;5URkiE~RHcoJ~ucnS9OoWud8&PY8Uu+0L5iGnlh} zy|%LOHQ3L2XPQJA@kCjfpSvCVP!hKH$bR9Dv4;lpqemlc5BwaL%V-|g&^eIJw1wz= zRYhreLh9Z9)jR{oa0#A$XKkZr^&Lonb<2dzi&@{>XBzy;`Yry-iNEzs)N$nw!rkwT zCe{x3;iY=V+z~ukF>jG+9jozVUGGwX$6}`k&`ev#<4&UgBJO;GJ%n(^S58^R1$Pgf+r{(!-=sba)@OU-s6JjIRDT*%4y!i+B)CqW6#Jgs z7pS6d*jLWP*C9QMD)@!Z24q}Rh0)>z^(6%2r0wu!s_H1PE+c3mxsdman%pAc2fZeL z369D8ZQPw|cNFlebIP2c4W@fpO@|G+9@rEd$o6;t)4-SIG&WY=QvW$IzKZ5q=lMt} z_z!gs4(&ZWLvL~|W8MKc35?sE@w!O23D)ncLt%<*UEZJBS8zr-HfIPh$VIEv z^(*iA?j1tFe3t}tEOK{j9j+=TlpT7bWQ**8Ek?M}`l7MG8yh z7dbq_N3YYwyKL0JMfX98Nm;R8ZL#tg=d{!LWhrz*DbCG$=e(&o;CAmHASPj{ z3qiY6*zV*-r*A%H+)csSo9LN0GvJmD7$+b_PLdL84HFzoNJfRKOK>4~j%>8iEz-RT z{=N<&>hQ`>AqTCU_O4vz=ysv2yQf9@hIvn1iNVrz3o1*l- ze7f9$dnHh?o5I1vdjmr{*|wRIHR$`P9eqZ)E?YNO{V}7SYz9t>yf0>R9evev9SVmc zs9FlyzQKePh5Rt2qYNbvKgi8048!^5{of!F;%<9#d3WQ-R8<|Vakb}Xh`)skdnx?q z>P6$#P+FJ!fohC>GQo*8Q+(p;(2BJryL<~Qcpm8gd|n>!O|I}2!Pq9AqoU^y7SPb} zFrpg*>BpVkPdIl?Ou5L;_3143iC83Spq?DO`fCIC4;o3$;QHv%wO(E+x>!Nj{If^+ z-K&$`xy;6y^;U412W>Bm5LIN?$T+iABY+9a96Oc5ny_?zWIF%i$(8}7R3obxs^3%i#L3hpwFbCt$$1Tf=KvM(k7wlTj<5cr2zaypu*>6+OWYJ?IL}rca(0i zjiu3NlQ*VDK1cpucZj+csi_eM2<&v)<3>w0|Jn|rbIIzdmv0*0^TmAGk@(6w)c zUC%8HP9`1QMH_d#WtGd*Jw@k{LKHmGCVBcdU})lCU%D}Q&JeNtfgB|4&{V$d$;*el zO_rqWxtq34F2&{q&jQ(M&mvm-QoW`Yt*Oa({F(*#gzqnXj7dF_5$S>;h1zMZl2@rb zdAVcIaJaWP$D_jjHgjoI-F9D%!s42Qc39=dx;cNN1RlGB2&2>uRvvL&=A=n9Ttl50 z?=I|V-9p3^%>!O-OtWFt{l#{ff3#rzUSUB3UGx7yrPMvU_UV%>% z&&s)L4_0&&R_9T1%!rzU*lArJXX14qF-e+Lz&dGU*ug4ei~sLPz!0!z<4% zw7z;Ecy>w1<2e)M{spq7`7IJ}Vn2+;=6N<6qOvY`0<915gSGq0LbrG3PLDh&6< znL{?d$IP(9)o%oHe@N^2QSppWRnB^YO{$-%aIdk3{>Ze))jTn@+zdMaL#f@m`lju+mL zMUDhAUM>q--VY99bJFeL4Kz;n#;2Zsj7u-4)G-yrd7Rpw76;(@3y$HcY5Hdhcm9Dma8iH|v2Pj^!IxhzrU zf>po1N&VK%0V-{*6?FD?U(Nh`8Mc>?=u*zyL6x}V?ZK_D97mW>Xd8*dgEbCz0{C3= zS<;`Z8WPx~wbgJv-Z34IU?*?&$)@=ah1ke~KcFw@H!}JE=?W^`Zgec~6@m&c`mj52 z<-N*92B5o`(rtM~7-x7Q6IR%htJ{+BGU0>-SmP7toA|*L4=c81;5mcoYZ8E=|2Sda zv`9f%nS*E5QD-lSdWUBuiy=m0xP3f6amuRJmqDst%6(OHlv>$9HP%kczoKe~pw+1N z5gThPS@rsACu{818kbm1S(^V2z-Xzt`?2|F%R&XL`xe`ulI-o+x;!VEO{mNaXDvx4 zCY#)oT)DWF6YeD~wiE%}`E7Or5Aodyae8J0_YRp_mW#y^veW5Wv1fbg0bKb^5$VR_ za;L?(+_?IR_a1uu!?pA=Ygu<<$shWcT)?!Bzk9gRlTp*knwkgeG`4U~zXrX^B2Ua8 z+JvyUN&{IJ&9T~KX(X~SZH#XO{7AJYbY)=)-&=o^9>_2Rk}vmI$XF*!+f`Ns+gij3 zCT=xtixu%i5p1PF(9)}G2DZYteNHWk%)FzG4f00YZM2K}i`U!*S|f59#*#rZ4xgs>4PD#N#e8EHsm* zLbc|?4w0Q$^vP>1Wr*N^f8Y!_o0-qx7>-fn{JyR3)qorDm06T2iOiIjS_DF-w%yr7 zwYemlO#PNN3tZkMxu8zq$~K>F!Wc9eoFG65g^b4~IvrAv6j7qZN3H!D zCZsaGvT`oHd~rh}85Al8N)~!X5u%w@v4Q>s0={e80?Z`)r2niBZA zyHq+~3=W<&$%abI9WaXVy>muz*MsECyEEM~zq=b%&h3}J65G^DTWU>Z>Hu$AA*0sh zriz6jvY_YD83WuIRIq&^oBuR$NBEmc=gsVZ=6p+K+&&iFfcu-X2DKu*9-TaCe(H4v zncI}|D?Gs2t@D~;ox|W{64D9g$smh+3gP7T76jgS0%(`Gcg_j2cKJ|m9So!!W@$4V z>U0A+Y3jtce%&gayC;}l%pi(Lu01~+1!vzo5Ncv=Q5imX*)DcMu>%-zkhopY(sAvq zBeikBzObkp<*Ay2|F++J3MsT6QE{K8Or3XQer9?+1oYAQQo14%J;%^rKXcR%nY4J5 zNGE1CyD-2bCdXh1YK^qr+UVz4YDq{WSB}5*Z4N1yjjJFl%{PiJ`WEf1+}lg%@Q8w7 zLxded|J0+Paeyb0KRnQTpzycH?>7w_*4*CwH^1RBCAC_vEWhb@mj1DraA52Ib;^Zk zw2nMgja_I7bZc-InSVmBym9rz(aBrU_Gd@rUcI^(cRH?>9uuSQIB0cD!dQYU@~__9wjjmR!RB`F2r2om|x0 z>la64Z+<+=s@GnAOWU^Fy3lNfc8W95vNrM)>H4MsYOI|=hEpgB_WhOlhtK^A%{#u& z>=qHG@@Dmjy7|Y0KQ+!`KfS+%N_+9G$SKZP#6ndd)9X;D@%s~WGu1Z4;Qsu>eB~Op zsQ_HK3efTq2%zpc>dSY?tyA%FWyHpr+mPw6zDv*;Ahav+h%e`J6e%r8MF+(S{ zOJz(NvOk6|ZTGv{`d#*V>B778n;lvU6)(8aH^$^=+b&c14*k5zX#^*ysR9soS*HaH z{Xz|uBNQTN(|PwdM(klX+NVtrUNTM8M#Zi2l7x@ecZaUGXn!ku*Q$F>@SM%t8r<79 zl^1`T$V%^|tn21K$(L)K+wd5M=Y%a|SLru)xzyQmTTG&MJ^$57-->DEUwHYV_p`7E zo3gt7g!-upyQ{UOO2eMg7XjzS=_cH(8eeankEgnu{KakAMC|_>npceNktEA z0e#~+;XKErMeC-5+3s`{Qo}fSL*Uy=m}YSPqVZ$RyKeA}qwSyE@c{tzq;Zq?YyG@z z(ut`(`vRv%x@+?);+yC`a07+aua~r%k7w*=6!bpU58IwVk0(KS%lur`yQnD_L-sw; zE_&^wy1xGcYv4yOk5lHhz+vm-M;+z%Gc29ifCaC&Q+KcH}1 zZPkuS>8zlXv2Ixeb3`2q>K7DaMgU_CXRd`?`zy# zUcN0i;co2tvZ<ym=W=)uPCEp=o*V9x32g|@@ z=Nh z`ZX6$Y5u^j-nujN*MP^ZS2G&*KPvFf zpVs-&ukxg+uE7g>#_F&$(f!X4qJPVLv|)}KL1-MT4aa=MnOk(T3@V#>)?(TU3rx=( zQF_7o9ROSqUngnz2u!eE*XuW>%88z0pN$4gXEju9H0W@RaL;Qf(=J!fIThlOVp}F& z0xKqd($R}jAI|ajMp7%?l%|wkz0(&zcUR(BCTy+_)Q9wR2P*H9Nw4*OAi)N5hy=>k1D=)$_-3?0TF==mbQfrLG; zuQlH?-df?&D(9}FT6jhQ%L{m3e)Us7&jVARh!l1l+^7nd#7fDa&6F5b@vx}NH-7}k zI7Lr?KTEuahw)P!D#Q~*(4YCD1NQs~f?m`=o86O5GLL*SIoF!1B(fk~=zvuGD=J_N z%BQ6x;}2F2jgN%deY-n+!~LH9>2&P~ZtvDXIo-`OI>{RK{cSkwadDs!6;L^Ses{k{ zE5hq@O>{sxS*uK8q0z_-BYz>{5n3&Wm9){yv)x~oIosojU2G|FHGOlc<1V=-$Nl4o z;@-XdDw+r;%~8a4>_^C&W`bb%+lhkt_;p{J)gk^*w;Q)DHs?mik~t}N+eTw%7qzJ3 zZPQ0s#HdnQfEUBG?H{O8d|!iI(HYu35i>njFsG&m7=eh zI+v^s3hJ~hNuL)9JTS(y*d%_jv6&^Y9LIHScjGN6^Rp|SN$Gl31eoDf=5h_1nh4m? zxT2-ha=a{2=NWF$g}g*Is_Y-+F`0yGJ*7N?Dt4^74FKqTOQi@-Mc)iGi!FCwyyi5q zaVK6_b_nzoeiaq0%=+hCmGKc~NmNW7W*~C6h^vR!EerfHjN-h!rEAP9uX#p{8y#)? z-LA8KB#sMT>*;5FxQwnU?#A0;gvLT=7rd=KHRdCa?V8}Thqh9|&`^XL-GA)apL=9` zZx9Z-)f{M6<&$02&T3j^H!~0~H@ne|0^-`1uRfUzaz|c%$(@olTX^8dXMEGWq?8 z`>4uY2e0VXUgw@aJoma~9>7Jh@gkZq{{IS=1TjBiO!nxgbW2Ty9QiibGjA75wJ#v3 zls9VTG7`yMc3dLpw*mqUyrnU3p#|FAJY**s`aOvtVz_;w(O8lYD`P3M6wtL~LcL(G zc!8*M`ujz33bvSy3B&cpJ(ZCUw{M6m)XMfcY~X5^D+~SVn0G#b1NTmwy!&QeS+W}K z_=ZbThr93$vD!fX{pWhU&g_GuuRXI#@pr{$PQ&VR{lPDcDkI|MJT<(2D0|orbeS&3 zOh*cx)qe|dgEDYyo)TE#W`exxNaXLq`T0{-{^T#k^}$|<;w`ObS7&by0yYX^S95HA z$JYzD{y-Xd*MJ7xOi#{w$-=1 z#=}P+M%v3tSP;pU-ZEI8llX>qsC9*0YxgsZ?`Kv6AqZM6BEm9L^@uBe)BT|XS%e-O z>A#4)%WQxIGq`TrUeCBWG*~F{HI7;83K`qP0$O&Yy;yuWv_!hh>oT>HryXyTIH+^B z{!VL1P`w&}%?WQciPTnkeu3wE2~OPJg57NS;N1C@yxc)JWz@%WN2vdMhfA;F+_TWd zXTggE(huw_P4*}nO5P{;S1UG8wk)JYRdEB93SA)`UU^@*NW){+uU}u98EndaFQ;R# zqF;#k?{@Az&)+a{-Mc~#R`A2$4@Q-W=ltIC%+JS^V|s znQltSnD))Md-2B-)(VwxW%eA!Ex!^UHDZhG!aKq#=f9}DiQMWa2)^3TzHQ6_gm~TflX6$YeDES_9!m*B4MGX+lXHVZ3|NPdULZOzw60*%@5Ua@iEV&n} z&kA4GDUZhtfD4(8o_;K>Vth+cl^NJKH&1Ou;l1>JaUgx^^Mp_y; zSkLbLr+oP^8fYCq5zrof_sVJ4xa*hR#B!oXt1I@zcZAEq5%(%rnXSRB#a&+$j|{2&QTufG+?Gb;bqRnma2NY^X)KD`)N7Z>ys(rh7;a)}Xk5?M zXMHW^Th~4~5YTt8#IO}hZz~nAKcYLW=IeT!wA>bQmZV*Ab+?*6r}^QCUE-Ym(EJ)% zWFdZGtlu@QP^_6+gPUS}Yf&ikEV&V`{=G=t=Pva=&h0lx&8TpRqt;1Qu7ImUuK;6k z7Ts%D3=O|@Qie_i-kbHf^v#Hdz*eCrqhT_izbsX5Uv%5lajrdF^~OI=7Xad6OJj~| z#RsEymQMEja#=1ew}sIllT8*i*k#AK;7Zj71z-8!j6lG>Xa2nl3e{jo*eL@U_2mMH z;p_ulv(!~)9w_>5x6WmG3Tec}6|gM@SA%-sDlr=mi!B$fxC{odOugx3Gcw2_qn*PpG?X_zeu;VKV>7g zRuWt3e5Kl28!ZHZQaQ1If-l%F>9QwdrtzfJG;bFB6JXT#zoswucO}LSwQ}xlneJnH*9fr^PaGMLW1-LMGeZo4l||`M~_ARrj|3-X*$+^)F!_{IMNB~&KC From d85446b4fe75f2701ea9185b63002ee236769271 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Wed, 31 Jul 2024 09:21:35 -0700 Subject: [PATCH 335/354] Fixed TOC --- windows/deployment/windows-autopatch/TOC.yml | 67 ++++++++++---------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/windows/deployment/windows-autopatch/TOC.yml b/windows/deployment/windows-autopatch/TOC.yml index b593d16504..407041507f 100644 --- a/windows/deployment/windows-autopatch/TOC.yml +++ b/windows/deployment/windows-autopatch/TOC.yml @@ -50,42 +50,39 @@ - name: Manage href: items: - - name: Windows updates - href: + - name: Customize Windows Update settings + href: manage/windows-autopatch-customize-windows-update-settings.md + - name: Windows feature updates + href: manage/windows-autopatch-windows-feature-update-overview.md items: - - name: Customize Windows Update settings - href: manage/windows-autopatch-customize-windows-update-settings.md - - name: Windows feature updates - href: manage/windows-autopatch-windows-feature-update-overview.md - items: - - name: Manage Windows feature updates - href: manage/windows-autopatch-manage-windows-feature-update-releases.md - - name: Windows quality updates - href: manage/windows-autopatch-windows-quality-update-overview.md - items: - - name: Windows quality update end user experience - href: manage/windows-autopatch-windows-quality-update-end-user-exp.md - - name: Windows quality update signals - href: manage/windows-autopatch-windows-quality-update-signals.md - - name: Windows quality update communications - href: manage/windows-autopatch-windows-quality-update-communications.md - - name: Manage driver and firmware updates - href: manage/windows-autopatch-manage-driver-and-firmware-updates.md - - name: Microsoft 365 Apps for enterprise - href: manage/windows-autopatch-microsoft-365-apps-enterprise.md - items: - - name: Microsoft 365 Apps for enterprise update policies - href: manage/windows-autopatch-microsoft-365-policies.md - - name: Microsoft Edge - href: manage/windows-autopatch-edge.md - - name: Microsoft Teams - href: manage/windows-autopatch-teams.md - - name: Submit a support request - href: manage/windows-autopatch-support-request.md - - name: Exclude a device - href: manage/windows-autopatch-exclude-device.md - - name: Unenroll your tenant - href: manage/windows-autopatch-unenroll-tenant.md + - name: Manage Windows feature updates + href: manage/windows-autopatch-manage-windows-feature-update-releases.md + - name: Windows quality updates + href: manage/windows-autopatch-windows-quality-update-overview.md + items: + - name: Windows quality update end user experience + href: manage/windows-autopatch-windows-quality-update-end-user-exp.md + - name: Windows quality update signals + href: manage/windows-autopatch-windows-quality-update-signals.md + - name: Windows quality update communications + href: manage/windows-autopatch-windows-quality-update-communications.md + - name: Manage driver and firmware updates + href: manage/windows-autopatch-manage-driver-and-firmware-updates.md + - name: Microsoft 365 Apps for enterprise + href: manage/windows-autopatch-microsoft-365-apps-enterprise.md + items: + - name: Microsoft 365 Apps for enterprise update policies + href: manage/windows-autopatch-microsoft-365-policies.md + - name: Microsoft Edge + href: manage/windows-autopatch-edge.md + - name: Microsoft Teams + href: manage/windows-autopatch-teams.md + - name: Submit a support request + href: manage/windows-autopatch-support-request.md + - name: Exclude a device + href: manage/windows-autopatch-exclude-device.md + - name: Unenroll your tenant + href: manage/windows-autopatch-unenroll-tenant.md - name: Monitor href: items: From d49980896566b338119bf5df6afe3e1b90e77ce5 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Thu, 1 Aug 2024 10:47:46 -0600 Subject: [PATCH 336/354] Remove titleSuffix --- windows/application-management/docfx.json | 1 - windows/client-management/docfx.json | 5 ++--- windows/configuration/docfx.json | 1 - windows/deployment/docfx.json | 5 ++--- windows/hub/docfx.json | 5 ++--- windows/hub/index.yml | 2 +- windows/security/docfx.json | 1 - 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/windows/application-management/docfx.json b/windows/application-management/docfx.json index 4f5ec979b0..ddb34848ae 100644 --- a/windows/application-management/docfx.json +++ b/windows/application-management/docfx.json @@ -51,7 +51,6 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "Windows Application Management", "contributors_to_exclude": [ "dstrome2", "rjagiewich", diff --git a/windows/client-management/docfx.json b/windows/client-management/docfx.json index 07e6f430e8..4f0356dff4 100644 --- a/windows/client-management/docfx.json +++ b/windows/client-management/docfx.json @@ -56,12 +56,11 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "Windows Client Management", "contributors_to_exclude": [ "dstrome2", - "rjagiewich", + "rjagiewich", "American-Dipper", - "claydetels19", + "claydetels19", "jborsecnik", "v-stchambers", "shdyas", diff --git a/windows/configuration/docfx.json b/windows/configuration/docfx.json index 65d0a53b09..5374491680 100644 --- a/windows/configuration/docfx.json +++ b/windows/configuration/docfx.json @@ -52,7 +52,6 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "Configure Windows", "contributors_to_exclude": [ "dstrome2", "rjagiewich", diff --git a/windows/deployment/docfx.json b/windows/deployment/docfx.json index 0ec95143b6..3b57082428 100644 --- a/windows/deployment/docfx.json +++ b/windows/deployment/docfx.json @@ -49,12 +49,11 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "Windows Deployment", "contributors_to_exclude": [ "dstrome2", - "rjagiewich", + "rjagiewich", "American-Dipper", - "claydetels19", + "claydetels19", "jborsecnik", "v-stchambers", "shdyas", diff --git a/windows/hub/docfx.json b/windows/hub/docfx.json index 5fddd27458..b548f8eed2 100644 --- a/windows/hub/docfx.json +++ b/windows/hub/docfx.json @@ -52,12 +52,11 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "Windows for IT Pros", "contributors_to_exclude": [ "dstrome2", - "rjagiewich", + "rjagiewich", "American-Dipper", - "claydetels19", + "claydetels19", "jborsecnik", "v-stchambers", "shdyas", diff --git a/windows/hub/index.yml b/windows/hub/index.yml index 95d49b10a7..cc73d3aebc 100644 --- a/windows/hub/index.yml +++ b/windows/hub/index.yml @@ -5,7 +5,7 @@ summary: Learn how to deploy, secure, and manage Windows clients for your organi brand: windows metadata: - title: Windows client documentation + title: Windows client documentation for IT Pros description: Learn how to deploy, secure, and manage Windows clients for your organization. ms.topic: hub-page ms.service: windows-client diff --git a/windows/security/docfx.json b/windows/security/docfx.json index 2e3135282a..d93c46f45c 100644 --- a/windows/security/docfx.json +++ b/windows/security/docfx.json @@ -53,7 +53,6 @@ "folder_relative_path_in_docset": "./" } }, - "titleSuffix": "Windows Security", "contributors_to_exclude": [ "alekyaj", "alexbuckgit", From 134b9be4f6c0cf97ec3473ad896210db9378e5e2 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Thu, 1 Aug 2024 09:54:29 -0700 Subject: [PATCH 337/354] move into editable section --- windows/client-management/mdm/policy-csp-update.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-update.md b/windows/client-management/mdm/policy-csp-update.md index 84ade66a36..b9c4783c85 100644 --- a/windows/client-management/mdm/policy-csp-update.md +++ b/windows/client-management/mdm/policy-csp-update.md @@ -1222,10 +1222,11 @@ If you enter an invalid value, you'll remain on your current version until you c Supported value type is a string containing Windows version number. For example, `1809`, `1903`, etc. - + > [!NOTE] > You need to set up the ProductVersion CSP along with the TargetReleaseVersion CSP for it to work. -> + + **Description framework properties**: From f861a38b7a7cf3e3ca7bd74c6fd6e4d825cc7a95 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Thu, 1 Aug 2024 10:57:57 -0600 Subject: [PATCH 338/354] Update link --- windows/hub/index.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/hub/index.yml b/windows/hub/index.yml index cc73d3aebc..82bfa7955a 100644 --- a/windows/hub/index.yml +++ b/windows/hub/index.yml @@ -91,7 +91,7 @@ productDirectory: text: Diagnostic Data Viewer - url: /windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services text: Manage connections to Microsoft services - - url: /windows/privacy/windows-10-and-privacy-compliance + - url: /windows/privacy/windows-privacy-compliance-guide text: Windows privacy compliance guide - url: /windows/privacy text: Learn more about privacy in Windows > From 91447abb9116d9fa04e2364ff9ef1e53ce216277 Mon Sep 17 00:00:00 2001 From: "Daniel H. Brown" <32883970+DHB-MSFT@users.noreply.github.com> Date: Thu, 1 Aug 2024 11:03:01 -0700 Subject: [PATCH 339/354] Remove links to archived articles --- ...required-windows-diagnostic-data-events-and-fields-2004.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md index a2da4f8863..4fb9beb260 100644 --- a/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md +++ b/windows/privacy/required-windows-diagnostic-data-events-and-fields-2004.md @@ -33,11 +33,7 @@ You can learn more about Windows functional and diagnostic data through these ar - [Required diagnostic events and fields for Windows 11, versions 23H2 and 22H2](required-diagnostic-events-fields-windows-11-22H2.md) - [Required diagnostic events and fields for Windows 11, version 21H2](required-windows-11-diagnostic-events-and-fields.md) -- [Windows 10, version 1903 and Windows 10, version 1909 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1903.md) - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) -- [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) -- [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) -- [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) From 57184d53f53b8d35a5123a9663331047d079ee30 Mon Sep 17 00:00:00 2001 From: David Strome <21028455+dstrome@users.noreply.github.com> Date: Thu, 1 Aug 2024 11:22:09 -0700 Subject: [PATCH 340/354] add workflows to repo --- .github/workflows/AutoLabelAssign.yml | 41 +++++++++++++++++++ .../workflows/AutoLabelMsftContributor.yml | 40 ++++++++++++++++++ .github/workflows/BackgroundTasks.yml | 26 ++++++++++++ .github/workflows/LiveMergeCheck.yml | 22 ++++++++++ .github/workflows/PrFileCount.yml | 22 ++++++++++ .github/workflows/ProtectedFiles.yml | 20 +++++++++ 6 files changed, 171 insertions(+) create mode 100644 .github/workflows/AutoLabelAssign.yml create mode 100644 .github/workflows/AutoLabelMsftContributor.yml create mode 100644 .github/workflows/BackgroundTasks.yml create mode 100644 .github/workflows/LiveMergeCheck.yml create mode 100644 .github/workflows/PrFileCount.yml create mode 100644 .github/workflows/ProtectedFiles.yml diff --git a/.github/workflows/AutoLabelAssign.yml b/.github/workflows/AutoLabelAssign.yml new file mode 100644 index 0000000000..8247aa8e9c --- /dev/null +++ b/.github/workflows/AutoLabelAssign.yml @@ -0,0 +1,41 @@ +name: Assign and label PR + +permissions: + pull-requests: write + contents: read + actions: read + +on: + workflow_run: + workflows: [Background tasks] + types: + - completed + +jobs: + download-payload: + name: Download and extract payload artifact + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-ExtractPayload.yml@workflows-prod + with: + WorkflowId: ${{ github.event.workflow_run.id }} + OrgRepo: ${{ github.repository }} + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + + label-assign: + name: Run assign and label + needs: [download-payload] + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-AutoLabelAssign.yml@workflows-prod + with: + PayloadJson: ${{ needs.download-payload.outputs.WorkflowPayload }} + AutoAssignUsers: 1 + AutoLabel: 1 + ExcludedUserList: '["user1", "user2"]' + ExcludedBranchList: '["branch1", "branch2"]' + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + + + + + + diff --git a/.github/workflows/AutoLabelMsftContributor.yml b/.github/workflows/AutoLabelMsftContributor.yml new file mode 100644 index 0000000000..66992cfeef --- /dev/null +++ b/.github/workflows/AutoLabelMsftContributor.yml @@ -0,0 +1,40 @@ +name: Auto label Microsoft contributors + +permissions: + pull-requests: write + contents: read + actions: read + +on: + workflow_run: + workflows: [Background tasks] + types: + - completed + +jobs: + download-payload: + if: github.repository_visibility == 'public' + name: Download and extract payload artifact + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-ExtractPayload.yml@workflows-prod + with: + WorkflowId: ${{ github.event.workflow_run.id }} + OrgRepo: ${{ github.repository }} + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + + label-msft: + name: Label Microsoft contributors + if: github.repository_visibility == 'public' + needs: [download-payload] + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-AutoLabelMsftContributor.yml@workflows-prod + with: + PayloadJson: ${{ needs.download-payload.outputs.WorkflowPayload }} + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + TeamReadAccessToken: ${{ secrets.ORG_READTEAMS_TOKEN }} + + + + + + diff --git a/.github/workflows/BackgroundTasks.yml b/.github/workflows/BackgroundTasks.yml new file mode 100644 index 0000000000..c0389bb252 --- /dev/null +++ b/.github/workflows/BackgroundTasks.yml @@ -0,0 +1,26 @@ +name: Background tasks + +permissions: + pull-requests: write + contents: read + +on: + pull_request_target: + +jobs: + upload: + runs-on: ubuntu-latest + + steps: + - name: Save payload data + env: + PayloadJson: ${{ toJSON(github) }} + AccessToken: ${{ github.token }} + run: | + mkdir -p ./pr + echo $PayloadJson > ./pr/PayloadJson.json + sed -i -e "s/$AccessToken/XYZ/g" ./pr/PayloadJson.json + - uses: actions/upload-artifact@v4 + with: + name: PayloadJson + path: pr/ diff --git a/.github/workflows/LiveMergeCheck.yml b/.github/workflows/LiveMergeCheck.yml new file mode 100644 index 0000000000..faeb2a0ef4 --- /dev/null +++ b/.github/workflows/LiveMergeCheck.yml @@ -0,0 +1,22 @@ +name: PR can merge into branch + +permissions: + pull-requests: write + statuses: write + contents: read + +on: + pull_request_target: + types: [opened, reopened, synchronize, edited] + +jobs: + + live-merge: + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-LiveMergeCheck.yml@workflows-prod + with: + PayloadJson: ${{ toJSON(github) }} + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + + + \ No newline at end of file diff --git a/.github/workflows/PrFileCount.yml b/.github/workflows/PrFileCount.yml new file mode 100644 index 0000000000..40f7d61629 --- /dev/null +++ b/.github/workflows/PrFileCount.yml @@ -0,0 +1,22 @@ +name: PR file count less than limit + +permissions: + pull-requests: write + statuses: write + contents: read + +on: + pull_request_target: + types: [opened, reopened, synchronize, labeled, unlabeled, edited] + +jobs: + + file-count: + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-PrFileCount.yml@workflows-prod + with: + PayloadJson: ${{ toJSON(github) }} + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + + + diff --git a/.github/workflows/ProtectedFiles.yml b/.github/workflows/ProtectedFiles.yml new file mode 100644 index 0000000000..007f8f04b1 --- /dev/null +++ b/.github/workflows/ProtectedFiles.yml @@ -0,0 +1,20 @@ +name: PR has no protected files + +permissions: + pull-requests: write + statuses: write + contents: read + +on: [pull_request_target] + +jobs: + + protected-files: + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-ProtectedFiles.yml@workflows-prod + with: + PayloadJson: ${{ toJSON(github) }} + secrets: + AccessToken: ${{ secrets.GITHUB_TOKEN }} + + + \ No newline at end of file From 069256bb0540706979f165d55875243405777811 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:17:05 -0600 Subject: [PATCH 341/354] Update redirect for smartscreen --- .openpublishing.redirection.windows-security.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 93967da44e..4e67945cc9 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -4082,7 +4082,7 @@ }, { "source_path": "windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview.md", - "redirect_url": "/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen", + "redirect_url": "https://feedback.smartscreen.microsoft.com/smartscreenfaq.aspx", "redirect_document_id": false }, { @@ -6727,7 +6727,7 @@ }, { "source_path": "windows/security/threat-protection/windows-defender-smartscreen/windows-defender-smartscreen-overview.md", - "redirect_url": "/windows/security/threat-protection/microsoft-defender-smartscreen/microsoft-defender-smartscreen-overview", + "redirect_url": "https://feedback.smartscreen.microsoft.com/smartscreenfaq.aspx", "redirect_document_id": false }, { From 8f5831d11d81a136fcf180f707eb0665943ad5a8 Mon Sep 17 00:00:00 2001 From: Narkis Engler <41025789+narkissit@users.noreply.github.com> Date: Fri, 2 Aug 2024 15:54:24 -0700 Subject: [PATCH 342/354] added an FAQ about error code 0x80d03002 This error code is observed when bypass is set and some content provider doesn't have a fallback. --- .../deployment/do/waas-delivery-optimization-faq.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-faq.yml b/windows/deployment/do/waas-delivery-optimization-faq.yml index e75c33678a..3faf4f916d 100644 --- a/windows/deployment/do/waas-delivery-optimization-faq.yml +++ b/windows/deployment/do/waas-delivery-optimization-faq.yml @@ -68,11 +68,17 @@ sections: answer: | Delivery Optimization is an HTTP downloader used by most content providers from Microsoft. When a device is configured to use Delivery Optimization peering (on by default), it does so with the HTTP downloader capabilities to optimize bandwidth usage. If you'd like to disable peer-to-peer capabilities of Delivery Optimization, change the Delivery Optimization [Download mode](waas-delivery-optimization-reference.md#download-mode) setting to '0', which will disable peer-to-peer and provide hash checks. [Download mode](waas-delivery-optimization-reference.md#download-mode) set to '99' should only be used when the device is offline and doesn't have internet access. - Don't set **Download mode** to '100' (Bypass), which can cause some content to fail to download. Starting in Windows 11, Download mode '100' is deprecated. + Don't set **Download mode** to '100' (Bypass), which can cause some content to fail to download with error code 0x80d03002. Starting in Windows 11, Download mode '100' is deprecated. > [!NOTE] > Disabling Delivery Optimization won't prevent content from downloading to your devices. If you're looking to pause updates, you need to set policies for the relevant components such as Windows Update, Windows Store or Microsoft Edge browser. If you're looking to reduce the load on your network, look into using Delivery Optimization Peer-to-Peer, Microsoft Connected Cache or apply the [network throttling policies](waas-delivery-optimization-reference.md#maximum-download-bandwidth) available for Delivery Optimization. - + + - question: My download is failing with error code 0x80d03002, how do I fix it? + answer: | + If you set the DownloadMode policy to '100' (Bypass) some content downloads that require Delivery Optimization may fail with error code 0x80d03002. + If you intend to disable peer-to-peer capabilities of Delivery Optimization, change the Delivery Optimization [Download mode](waas-delivery-optimization-reference.md#download-mode) setting to '0', which will disable peer-to-peer and provide hash checks. [Download mode](waas-delivery-optimization-reference.md#download-mode) set to '99' should only be used when the device is offline and doesn't have internet access. + Don't set **Download mode** to '100' (Bypass), which can cause some content to fail to download. Starting in Windows 11, Download mode '100' is deprecated. + - name: Network related configuration questions questions: - question: Which ports does Delivery Optimization use? From 9a3214cd435988ef244f5faa9ce3efdde563f907 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 5 Aug 2024 10:21:44 -0700 Subject: [PATCH 343/354] add info for type1 fonts --- windows/whats-new/deprecated-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index df8bbbfa9d..6e73a52fd7 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 07/09/2024 +ms.date: 08/06/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium @@ -47,7 +47,7 @@ The features in this article are no longer being actively developed, and might b | Feature | Details and mitigation | Deprecation announced | |---|---|---| -| Adobe Type1 fonts | Adobe PostScript Type1 fonts are deprecated and support will be removed in a future release of Windows.

                  In January 2023, Adobe announced the [end of support for PostScript Type1 fonts](https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end-of-support.html) for their latest software offerings. Remove any dependencies on this font type by selecting a supported font type. To display currently installed fonts, go to **Settings** > **Personalization** > **Fonts**. | July 2024 | +| Adobe Type1 fonts | Adobe PostScript Type1 fonts are deprecated and support will be removed in a future release of Windows.

                  In January 2023, Adobe announced the [end of support for PostScript Type1 fonts](https://helpx.adobe.com/fonts/kb/postscript-type-1-fonts-end-of-support.html) for their latest software offerings. Remove any dependencies on this font type by selecting a supported font type. To display currently installed fonts, go to **Settings** > **Personalization** > **Fonts**. Application developers and content owners should test their apps and data files with the Adobe Type1 fonts removed. For more information, contact the application vendor or Adobe. | August 2024 | | DirectAccess | DirectAccess is deprecated and will be removed in a future release of Windows. We recommend [migrating from DirectAccess to Always On VPN](/windows-server/remote/remote-access/da-always-on-vpn-migration/da-always-on-migration-overview). | June 2024 | | NTLM | All versions of [NTLM](/windows/win32/secauthn/microsoft-ntlm), including LANMAN, NTLMv1, and NTLMv2, are no longer under active feature development and are deprecated. Use of NTLM will continue to work in the next release of Windows Server and the next annual release of Windows. Calls to NTLM should be replaced by calls to Negotiate, which will try to authenticate with Kerberos and only fall back to NTLM when necessary. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | June 2024 | | Driver Verifier GUI (verifiergui.exe) | Driver Verifier GUI, verifiergui.exe, is deprecated and will be removed in a future version of Windows. You can use the [Verifier Command Line](/windows-hardware/drivers/devtest/verifier-command-line) (verifier.exe) instead of the Driver Verifier GUI.| May 2024 | From 3579d634d7c294b1e64d2c6b5a9e45d4f7b268a2 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 5 Aug 2024 13:38:25 -0400 Subject: [PATCH 344/354] revert PCR4 --- tream main | 298 ++++++++++++++++++ .../bitlocker/countermeasures.md | 14 - ...ow-secure-boot-for-integrity-validation.md | 3 - ...for-native-uefi-firmware-configurations.md | 2 - 4 files changed, 298 insertions(+), 19 deletions(-) create mode 100644 tream main diff --git a/tream main b/tream main new file mode 100644 index 0000000000..901a11c2fa --- /dev/null +++ b/tream main @@ -0,0 +1,298 @@ + + SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS + + Commands marked with * may be preceded by a number, _N. + Notes in parentheses indicate the behavior if _N is given. + A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K. + + h H Display this help. + q :q Q :Q ZZ Exit. + --------------------------------------------------------------------------- + + MMOOVVIINNGG + + e ^E j ^N CR * Forward one line (or _N lines). + y ^Y k ^K ^P * Backward one line (or _N lines). + f ^F ^V SPACE * Forward one window (or _N lines). + b ^B ESC-v * Backward one window (or _N lines). + z * Forward one window (and set window to _N). + w * Backward one window (and set window to _N). + ESC-SPACE * Forward one window, but don't stop at end-of-file. + d ^D * Forward one half-window (and set half-window to _N). + u ^U * Backward one half-window (and set half-window to _N). + ESC-) RightArrow * Right one half screen width (or _N positions). + ESC-( LeftArrow * Left one half screen width (or _N positions). + ESC-} ^RightArrow Right to last column displayed. + ESC-{ ^LeftArrow Left to first column. + F Forward forever; like "tail -f". + ESC-F Like F but stop when search pattern is found. + r ^R ^L Repaint screen. + R Repaint screen, discarding buffered input. + --------------------------------------------------- + Default "window" is the screen height. + Default "half-window" is half of the screen height. + --------------------------------------------------------------------------- + + SSEEAARRCCHHIINNGG + + /_p_a_t_t_e_r_n * Search forward for (_N-th) matching line. + ?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line. + n * Repeat previous search (for _N-th occurrence). + N * Repeat previous search in reverse direction. + ESC-n * Repeat previous search, spanning files. + ESC-N * Repeat previous search, reverse dir. & spanning files. + ESC-u Undo (toggle) search highlighting. + ESC-U Clear search highlighting. + &_p_a_t_t_e_r_n * Display only matching lines. + --------------------------------------------------- + A search pattern may begin with one or more of: + ^N or ! Search for NON-matching lines. + ^E or * Search multiple files (pass thru END OF FILE). + ^F or @ Start search at FIRST file (for /) or last file (for ?). + ^K Highlight matches, but don't move (KEEP position). + ^R Don't use REGULAR EXPRESSIONS. + ^S _n Search for match in _n-th parenthesized subpattern. + ^W WRAP search if no match found. + --------------------------------------------------------------------------- + + JJUUMMPPIINNGG + + g < ESC-< * Go to first line in file (or line _N). + G > ESC-> * Go to last line in file (or line _N). + p % * Go to beginning of file (or _N percent into file). + t * Go to the (_N-th) next tag. + T * Go to the (_N-th) previous tag. + { ( [ * Find close bracket } ) ]. + } ) ] * Find open bracket { ( [. + ESC-^F _<_c_1_> _<_c_2_> * Find close bracket _<_c_2_>. + ESC-^B _<_c_1_> _<_c_2_> * Find open bracket _<_c_1_>. + --------------------------------------------------- + Each "find close bracket" command goes forward to the close bracket + matching the (_N-th) open bracket in the top line. + Each "find open bracket" command goes backward to the open bracket + matching the (_N-th) close bracket in the bottom line. + + m_<_l_e_t_t_e_r_> Mark the current top line with . + M_<_l_e_t_t_e_r_> Mark the current bottom line with . + '_<_l_e_t_t_e_r_> Go to a previously marked position. + '' Go to the previous position. + ^X^X Same as '. + ESC-m_<_l_e_t_t_e_r_> Clear a mark. + --------------------------------------------------- + A mark is any upper-case or lower-case letter. + Certain marks are predefined: + ^ means beginning of the file + $ means end of the file + --------------------------------------------------------------------------- + + CCHHAANNGGIINNGG FFIILLEESS + + :e [_f_i_l_e] Examine a new file. + ^X^V Same as :e. + :n * Examine the (_N-th) next file from the command line. + :p * Examine the (_N-th) previous file from the command line. + :x * Examine the first (or _N-th) file from the command line. + :d Delete the current file from the command line list. + = ^G :f Print current file name. + --------------------------------------------------------------------------- + + MMIISSCCEELLLLAANNEEOOUUSS CCOOMMMMAANNDDSS + + -_<_f_l_a_g_> Toggle a command line option [see OPTIONS below]. + --_<_n_a_m_e_> Toggle a command line option, by name. + __<_f_l_a_g_> Display the setting of a command line option. + ___<_n_a_m_e_> Display the setting of an option, by name. + +_c_m_d Execute the less cmd each time a new file is examined. + + !_c_o_m_m_a_n_d Execute the shell command with $SHELL. + #_c_o_m_m_a_n_d Execute the shell command, expanded like a prompt. + |XX_c_o_m_m_a_n_d Pipe file between current pos & mark XX to shell command. + s _f_i_l_e Save input to a file. + v Edit the current file with $VISUAL or $EDITOR. + V Print version number of "less". + --------------------------------------------------------------------------- + + OOPPTTIIOONNSS + + Most options may be changed either on the command line, + or from within less by using the - or -- command. + Options may be given in one of two forms: either a single + character preceded by a -, or a name preceded by --. + + -? ........ --help + Display help (from command line). + -a ........ --search-skip-screen + Search skips current screen. + -A ........ --SEARCH-SKIP-SCREEN + Search starts just after target line. + -b [_N] .... --buffers=[_N] + Number of buffers. + -B ........ --auto-buffers + Don't automatically allocate buffers for pipes. + -c ........ --clear-screen + Repaint by clearing rather than scrolling. + -d ........ --dumb + Dumb terminal. + -D xx_c_o_l_o_r . --color=xx_c_o_l_o_r + Set screen colors. + -e -E .... --quit-at-eof --QUIT-AT-EOF + Quit at end of file. + -f ........ --force + Force open non-regular files. + -F ........ --quit-if-one-screen + Quit if entire file fits on first screen. + -g ........ --hilite-search + Highlight only last match for searches. + -G ........ --HILITE-SEARCH + Don't highlight any matches for searches. + -h [_N] .... --max-back-scroll=[_N] + Backward scroll limit. + -i ........ --ignore-case + Ignore case in searches that do not contain uppercase. + -I ........ --IGNORE-CASE + Ignore case in all searches. + -j [_N] .... --jump-target=[_N] + Screen position of target lines. + -J ........ --status-column + Display a status column at left edge of screen. + -k [_f_i_l_e] . --lesskey-file=[_f_i_l_e] + Use a lesskey file. + -K ........ --quit-on-intr + Exit less in response to ctrl-C. + -L ........ --no-lessopen + Ignore the LESSOPEN environment variable. + -m -M .... --long-prompt --LONG-PROMPT + Set prompt style. + -n ......... --line-numbers + Suppress line numbers in prompts and messages. + -N ......... --LINE-NUMBERS + Display line number at start of each line. + -o [_f_i_l_e] . --log-file=[_f_i_l_e] + Copy to log file (standard input only). + -O [_f_i_l_e] . --LOG-FILE=[_f_i_l_e] + Copy to log file (unconditionally overwrite). + -p [_p_a_t_t_e_r_n] --pattern=[_p_a_t_t_e_r_n] + Start at pattern (from command line). + -P [_p_r_o_m_p_t] --prompt=[_p_r_o_m_p_t] + Define new prompt. + -q -Q .... --quiet --QUIET --silent --SILENT + Quiet the terminal bell. + -r -R .... --raw-control-chars --RAW-CONTROL-CHARS + Output "raw" control characters. + -s ........ --squeeze-blank-lines + Squeeze multiple blank lines. + -S ........ --chop-long-lines + Chop (truncate) long lines rather than wrapping. + -t [_t_a_g] .. --tag=[_t_a_g] + Find a tag. + -T [_t_a_g_s_f_i_l_e] --tag-file=[_t_a_g_s_f_i_l_e] + Use an alternate tags file. + -u -U .... --underline-special --UNDERLINE-SPECIAL + Change handling of backspaces, tabs and carriage returns. + -V ........ --version + Display the version number of "less". + -w ........ --hilite-unread + Highlight first new line after forward-screen. + -W ........ --HILITE-UNREAD + Highlight first new line after any forward movement. + -x [_N[,...]] --tabs=[_N[,...]] + Set tab stops. + -X ........ --no-init + Don't use termcap init/deinit strings. + -y [_N] .... --max-forw-scroll=[_N] + Forward scroll limit. + -z [_N] .... --window=[_N] + Set size of window. + -" [_c[_c]] . --quotes=[_c[_c]] + Set shell quote characters. + -~ ........ --tilde + Don't display tildes after end of file. + -# [_N] .... --shift=[_N] + Set horizontal scroll amount (0 = one half screen width). + --exit-follow-on-close + Exit F command on a pipe when writer closes pipe. + --file-size + Automatically determine the size of the input file. + --follow-name + The F command changes files if the input file is renamed. + --header=[_N[,_M]] + Use N lines and M columns to display file headers. + --incsearch + Search file as each pattern character is typed in. + --intr=_C + Use _C instead of ^X to interrupt a read. + --line-num-width=_N + Set the width of the -N line number field to _N characters. + --modelines=_N + Read _N lines from the input file and look for vim modelines. + --mouse + Enable mouse input. + --no-keypad + Don't send termcap keypad init/deinit strings. + --no-histdups + Remove duplicates from command history. + --no-number-headers + Don't give line numbers to header lines. + --no-search-headers + Don't search in header lines or columns. + --no-vbell + Disable the terminal's visual bell. + --redraw-on-quit + Redraw final screen when quitting. + --rscroll=_C + Set the character used to mark truncated lines. + --save-marks + Retain marks across invocations of less. + --search-options=[EFKNRW-] + Set default options for every search. + --show-preproc-errors + Display a message if preprocessor exits with an error status. + --proc-backspace + Process backspaces for bold/underline. + --SPECIAL-BACKSPACE + Treat backspaces as control characters. + --proc-return + Delete carriage returns before newline. + --SPECIAL-RETURN + Treat carriage returns as control characters. + --proc-tab + Expand tabs to spaces. + --SPECIAL-TAB + Treat tabs as control characters. + --status-col-width=_N + Set the width of the -J status column to _N characters. + --status-line + Highlight or color the entire line containing a mark. + --use-backslash + Subsequent options use backslash as escape char. + --use-color + Enables colored text. + --wheel-lines=_N + Each click of the mouse wheel moves _N lines. + --wordwrap + Wrap lines at spaces. + + + --------------------------------------------------------------------------- + + LLIINNEE EEDDIITTIINNGG + + These keys can be used to edit text being entered + on the "command line" at the bottom of the screen. + + RightArrow ..................... ESC-l ... Move cursor right one character. + LeftArrow ...................... ESC-h ... Move cursor left one character. + ctrl-RightArrow ESC-RightArrow ESC-w ... Move cursor right one word. + ctrl-LeftArrow ESC-LeftArrow ESC-b ... Move cursor left one word. + HOME ........................... ESC-0 ... Move cursor to start of line. + END ............................ ESC-$ ... Move cursor to end of line. + BACKSPACE ................................ Delete char to left of cursor. + DELETE ......................... ESC-x ... Delete char under cursor. + ctrl-BACKSPACE ESC-BACKSPACE ........... Delete word to left of cursor. + ctrl-DELETE .... ESC-DELETE .... ESC-X ... Delete word under cursor. + ctrl-U ......... ESC (MS-DOS only) ....... Delete entire line. + UpArrow ........................ ESC-k ... Retrieve previous command line. + DownArrow ...................... ESC-j ... Retrieve next command line. + TAB ...................................... Complete filename & cycle. + SHIFT-TAB ...................... ESC-TAB Complete filename & reverse cycle. + ctrl-L ................................... Complete filename, list all. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 2b7377479e..3eda5bed37 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -96,20 +96,6 @@ An attacker might modify the boot manager configuration database (BCD), which is An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware, and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This can't succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0. To successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue), it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. -To prevent boot manger roll-back attacks, Windows updates released on and after July 2024 changed the default PCR Validation Profile for **UEFI with Secure Boot** from `7, 11` to `4, 7, 11`. - -The PCR values map to: - -- `PCR 4: Boot Manager` -- `PCR 7: Secure Boot State` -- `PCR 11: BitLocker access control` - -> [!TIP] -> To check what PCRs are in use, execute the following command: -> ```cmd -> manage-bde.exe -protectors -get c: -> ``` - ## Attacker countermeasures The following sections cover mitigations for different types of attackers. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md index fbcf599ccc..e3130a2695 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md @@ -26,6 +26,3 @@ When this policy is enabled and the hardware is capable of using Secure Boot for |--|--| | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating System Drives** | - -> [!NOTE] -> To prevent boot manger roll-back attacks, Windows updates released on and after July 2024 changed the default PCR Validation Profile for **UEFI with Secure Boot** from `7, 11` to `4, 7, 11`. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md index fd61b353fa..cb43d10a8c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md @@ -26,8 +26,6 @@ A platform validation profile consists of a set of PCR indices ranging from 0 to > [!NOTE] > When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). -> -> To prevent boot manger roll-back attacks, Windows updates released on and after July 2024 changed the default PCR Validation Profile for **UEFI with Secure Boot** from `7, 11` to `4, 7, 11`. The following list identifies all of the available PCRs: From 38e7ad29011959704d16dce70539aa7c90bb8639 Mon Sep 17 00:00:00 2001 From: Mike England Date: Mon, 5 Aug 2024 11:32:43 -0700 Subject: [PATCH 345/354] Update windows-autopatch-conflicting-configurations.md WUServer and UseWUServer are no longer tracked in this feature. --- .../windows-autopatch-conflicting-configurations.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md b/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md index afcb34afdb..aa25114a3d 100644 --- a/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md +++ b/windows/deployment/windows-autopatch/references/windows-autopatch-conflicting-configurations.md @@ -37,8 +37,6 @@ The most common sources of conflicting configurations include: ```cmd Location= HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\DoNotConnectToWindowsUpdateInternetLocations Value=Any Location= HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\DisableWindowsUpdateAccess Value=Any -Location= HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\WUServer String=Any -Location= HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer Value=Any Location= HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate Value=Any ``` @@ -90,8 +88,6 @@ Copy and paste the following PowerShell script into PowerShell or a PowerShell e ```powershell Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Name "DoNotConnectToWindowsUpdateInternetLocations" Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Name "DisableWindowsUpdateAccess" -Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Name "WUServer" -Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" Remove-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "NoAutoUpdate" ``` @@ -104,8 +100,6 @@ Copy and paste the following code into a text editor, and save it with a `.cmd` echo Deleting registry keys... reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "DoNotConnectToWindowsUpdateInternetLocations" /f reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "DisableWindowsUpdateAccess" /f -reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v "WUServer" /f -reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "UseWUServer" /f reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /f echo Registry keys deleted. Pause @@ -120,9 +114,7 @@ Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate] "DoNotConnectToWindowsUpdateInternetLocations"=- "DisableWindowsUpdateAccess"=- -"WUServer"=- [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU] -"UseWUServer"=- "NoAutoUpdate"=- ``` From 98e1560d995593c5ca1d1dd19b785e0bf6e0fb28 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 5 Aug 2024 11:33:25 -0700 Subject: [PATCH 346/354] add info for type1 fonts --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 6e73a52fd7..3fa684a4f8 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 08/06/2024 +ms.date: 08/05/2024 ms.service: windows-client ms.subservice: itpro-fundamentals ms.localizationpriority: medium From 0b1086a7b1d928cae13ac13c5389762310fb87d9 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:54:43 -0400 Subject: [PATCH 347/354] chore: Update redirect for smartscreen --- tream main | 298 ----------------------------------------------------- 1 file changed, 298 deletions(-) delete mode 100644 tream main diff --git a/tream main b/tream main deleted file mode 100644 index 901a11c2fa..0000000000 --- a/tream main +++ /dev/null @@ -1,298 +0,0 @@ - - SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS - - Commands marked with * may be preceded by a number, _N. - Notes in parentheses indicate the behavior if _N is given. - A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K. - - h H Display this help. - q :q Q :Q ZZ Exit. - --------------------------------------------------------------------------- - - MMOOVVIINNGG - - e ^E j ^N CR * Forward one line (or _N lines). - y ^Y k ^K ^P * Backward one line (or _N lines). - f ^F ^V SPACE * Forward one window (or _N lines). - b ^B ESC-v * Backward one window (or _N lines). - z * Forward one window (and set window to _N). - w * Backward one window (and set window to _N). - ESC-SPACE * Forward one window, but don't stop at end-of-file. - d ^D * Forward one half-window (and set half-window to _N). - u ^U * Backward one half-window (and set half-window to _N). - ESC-) RightArrow * Right one half screen width (or _N positions). - ESC-( LeftArrow * Left one half screen width (or _N positions). - ESC-} ^RightArrow Right to last column displayed. - ESC-{ ^LeftArrow Left to first column. - F Forward forever; like "tail -f". - ESC-F Like F but stop when search pattern is found. - r ^R ^L Repaint screen. - R Repaint screen, discarding buffered input. - --------------------------------------------------- - Default "window" is the screen height. - Default "half-window" is half of the screen height. - --------------------------------------------------------------------------- - - SSEEAARRCCHHIINNGG - - /_p_a_t_t_e_r_n * Search forward for (_N-th) matching line. - ?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line. - n * Repeat previous search (for _N-th occurrence). - N * Repeat previous search in reverse direction. - ESC-n * Repeat previous search, spanning files. - ESC-N * Repeat previous search, reverse dir. & spanning files. - ESC-u Undo (toggle) search highlighting. - ESC-U Clear search highlighting. - &_p_a_t_t_e_r_n * Display only matching lines. - --------------------------------------------------- - A search pattern may begin with one or more of: - ^N or ! Search for NON-matching lines. - ^E or * Search multiple files (pass thru END OF FILE). - ^F or @ Start search at FIRST file (for /) or last file (for ?). - ^K Highlight matches, but don't move (KEEP position). - ^R Don't use REGULAR EXPRESSIONS. - ^S _n Search for match in _n-th parenthesized subpattern. - ^W WRAP search if no match found. - --------------------------------------------------------------------------- - - JJUUMMPPIINNGG - - g < ESC-< * Go to first line in file (or line _N). - G > ESC-> * Go to last line in file (or line _N). - p % * Go to beginning of file (or _N percent into file). - t * Go to the (_N-th) next tag. - T * Go to the (_N-th) previous tag. - { ( [ * Find close bracket } ) ]. - } ) ] * Find open bracket { ( [. - ESC-^F _<_c_1_> _<_c_2_> * Find close bracket _<_c_2_>. - ESC-^B _<_c_1_> _<_c_2_> * Find open bracket _<_c_1_>. - --------------------------------------------------- - Each "find close bracket" command goes forward to the close bracket - matching the (_N-th) open bracket in the top line. - Each "find open bracket" command goes backward to the open bracket - matching the (_N-th) close bracket in the bottom line. - - m_<_l_e_t_t_e_r_> Mark the current top line with . - M_<_l_e_t_t_e_r_> Mark the current bottom line with . - '_<_l_e_t_t_e_r_> Go to a previously marked position. - '' Go to the previous position. - ^X^X Same as '. - ESC-m_<_l_e_t_t_e_r_> Clear a mark. - --------------------------------------------------- - A mark is any upper-case or lower-case letter. - Certain marks are predefined: - ^ means beginning of the file - $ means end of the file - --------------------------------------------------------------------------- - - CCHHAANNGGIINNGG FFIILLEESS - - :e [_f_i_l_e] Examine a new file. - ^X^V Same as :e. - :n * Examine the (_N-th) next file from the command line. - :p * Examine the (_N-th) previous file from the command line. - :x * Examine the first (or _N-th) file from the command line. - :d Delete the current file from the command line list. - = ^G :f Print current file name. - --------------------------------------------------------------------------- - - MMIISSCCEELLLLAANNEEOOUUSS CCOOMMMMAANNDDSS - - -_<_f_l_a_g_> Toggle a command line option [see OPTIONS below]. - --_<_n_a_m_e_> Toggle a command line option, by name. - __<_f_l_a_g_> Display the setting of a command line option. - ___<_n_a_m_e_> Display the setting of an option, by name. - +_c_m_d Execute the less cmd each time a new file is examined. - - !_c_o_m_m_a_n_d Execute the shell command with $SHELL. - #_c_o_m_m_a_n_d Execute the shell command, expanded like a prompt. - |XX_c_o_m_m_a_n_d Pipe file between current pos & mark XX to shell command. - s _f_i_l_e Save input to a file. - v Edit the current file with $VISUAL or $EDITOR. - V Print version number of "less". - --------------------------------------------------------------------------- - - OOPPTTIIOONNSS - - Most options may be changed either on the command line, - or from within less by using the - or -- command. - Options may be given in one of two forms: either a single - character preceded by a -, or a name preceded by --. - - -? ........ --help - Display help (from command line). - -a ........ --search-skip-screen - Search skips current screen. - -A ........ --SEARCH-SKIP-SCREEN - Search starts just after target line. - -b [_N] .... --buffers=[_N] - Number of buffers. - -B ........ --auto-buffers - Don't automatically allocate buffers for pipes. - -c ........ --clear-screen - Repaint by clearing rather than scrolling. - -d ........ --dumb - Dumb terminal. - -D xx_c_o_l_o_r . --color=xx_c_o_l_o_r - Set screen colors. - -e -E .... --quit-at-eof --QUIT-AT-EOF - Quit at end of file. - -f ........ --force - Force open non-regular files. - -F ........ --quit-if-one-screen - Quit if entire file fits on first screen. - -g ........ --hilite-search - Highlight only last match for searches. - -G ........ --HILITE-SEARCH - Don't highlight any matches for searches. - -h [_N] .... --max-back-scroll=[_N] - Backward scroll limit. - -i ........ --ignore-case - Ignore case in searches that do not contain uppercase. - -I ........ --IGNORE-CASE - Ignore case in all searches. - -j [_N] .... --jump-target=[_N] - Screen position of target lines. - -J ........ --status-column - Display a status column at left edge of screen. - -k [_f_i_l_e] . --lesskey-file=[_f_i_l_e] - Use a lesskey file. - -K ........ --quit-on-intr - Exit less in response to ctrl-C. - -L ........ --no-lessopen - Ignore the LESSOPEN environment variable. - -m -M .... --long-prompt --LONG-PROMPT - Set prompt style. - -n ......... --line-numbers - Suppress line numbers in prompts and messages. - -N ......... --LINE-NUMBERS - Display line number at start of each line. - -o [_f_i_l_e] . --log-file=[_f_i_l_e] - Copy to log file (standard input only). - -O [_f_i_l_e] . --LOG-FILE=[_f_i_l_e] - Copy to log file (unconditionally overwrite). - -p [_p_a_t_t_e_r_n] --pattern=[_p_a_t_t_e_r_n] - Start at pattern (from command line). - -P [_p_r_o_m_p_t] --prompt=[_p_r_o_m_p_t] - Define new prompt. - -q -Q .... --quiet --QUIET --silent --SILENT - Quiet the terminal bell. - -r -R .... --raw-control-chars --RAW-CONTROL-CHARS - Output "raw" control characters. - -s ........ --squeeze-blank-lines - Squeeze multiple blank lines. - -S ........ --chop-long-lines - Chop (truncate) long lines rather than wrapping. - -t [_t_a_g] .. --tag=[_t_a_g] - Find a tag. - -T [_t_a_g_s_f_i_l_e] --tag-file=[_t_a_g_s_f_i_l_e] - Use an alternate tags file. - -u -U .... --underline-special --UNDERLINE-SPECIAL - Change handling of backspaces, tabs and carriage returns. - -V ........ --version - Display the version number of "less". - -w ........ --hilite-unread - Highlight first new line after forward-screen. - -W ........ --HILITE-UNREAD - Highlight first new line after any forward movement. - -x [_N[,...]] --tabs=[_N[,...]] - Set tab stops. - -X ........ --no-init - Don't use termcap init/deinit strings. - -y [_N] .... --max-forw-scroll=[_N] - Forward scroll limit. - -z [_N] .... --window=[_N] - Set size of window. - -" [_c[_c]] . --quotes=[_c[_c]] - Set shell quote characters. - -~ ........ --tilde - Don't display tildes after end of file. - -# [_N] .... --shift=[_N] - Set horizontal scroll amount (0 = one half screen width). - --exit-follow-on-close - Exit F command on a pipe when writer closes pipe. - --file-size - Automatically determine the size of the input file. - --follow-name - The F command changes files if the input file is renamed. - --header=[_N[,_M]] - Use N lines and M columns to display file headers. - --incsearch - Search file as each pattern character is typed in. - --intr=_C - Use _C instead of ^X to interrupt a read. - --line-num-width=_N - Set the width of the -N line number field to _N characters. - --modelines=_N - Read _N lines from the input file and look for vim modelines. - --mouse - Enable mouse input. - --no-keypad - Don't send termcap keypad init/deinit strings. - --no-histdups - Remove duplicates from command history. - --no-number-headers - Don't give line numbers to header lines. - --no-search-headers - Don't search in header lines or columns. - --no-vbell - Disable the terminal's visual bell. - --redraw-on-quit - Redraw final screen when quitting. - --rscroll=_C - Set the character used to mark truncated lines. - --save-marks - Retain marks across invocations of less. - --search-options=[EFKNRW-] - Set default options for every search. - --show-preproc-errors - Display a message if preprocessor exits with an error status. - --proc-backspace - Process backspaces for bold/underline. - --SPECIAL-BACKSPACE - Treat backspaces as control characters. - --proc-return - Delete carriage returns before newline. - --SPECIAL-RETURN - Treat carriage returns as control characters. - --proc-tab - Expand tabs to spaces. - --SPECIAL-TAB - Treat tabs as control characters. - --status-col-width=_N - Set the width of the -J status column to _N characters. - --status-line - Highlight or color the entire line containing a mark. - --use-backslash - Subsequent options use backslash as escape char. - --use-color - Enables colored text. - --wheel-lines=_N - Each click of the mouse wheel moves _N lines. - --wordwrap - Wrap lines at spaces. - - - --------------------------------------------------------------------------- - - LLIINNEE EEDDIITTIINNGG - - These keys can be used to edit text being entered - on the "command line" at the bottom of the screen. - - RightArrow ..................... ESC-l ... Move cursor right one character. - LeftArrow ...................... ESC-h ... Move cursor left one character. - ctrl-RightArrow ESC-RightArrow ESC-w ... Move cursor right one word. - ctrl-LeftArrow ESC-LeftArrow ESC-b ... Move cursor left one word. - HOME ........................... ESC-0 ... Move cursor to start of line. - END ............................ ESC-$ ... Move cursor to end of line. - BACKSPACE ................................ Delete char to left of cursor. - DELETE ......................... ESC-x ... Delete char under cursor. - ctrl-BACKSPACE ESC-BACKSPACE ........... Delete word to left of cursor. - ctrl-DELETE .... ESC-DELETE .... ESC-X ... Delete word under cursor. - ctrl-U ......... ESC (MS-DOS only) ....... Delete entire line. - UpArrow ........................ ESC-k ... Retrieve previous command line. - DownArrow ...................... ESC-j ... Retrieve next command line. - TAB ...................................... Complete filename & cycle. - SHIFT-TAB ...................... ESC-TAB Complete filename & reverse cycle. - ctrl-L ................................... Complete filename, list all. From fc5b0df83dfc5c3507a2fb79868fac8f1be3873e Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Mon, 5 Aug 2024 11:57:07 -0700 Subject: [PATCH 348/354] Broken links --- .../windows-autopatch-deployment-guide.md | 3 +- .../overview/windows-autopatch-faq.yml | 2 +- ...indows-autopatch-roles-responsibilities.md | 60 +++++++++---------- .../windows-autopatch-whats-new-2023.md | 2 +- 4 files changed, 33 insertions(+), 34 deletions(-) diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md index a44081d038..c1b7be42ba 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-deployment-guide.md @@ -77,7 +77,7 @@ Evaluate Windows Autopatch with around 50 devices to ensure the service meets yo | ----- | ----- | | **2A: Review reporting capabilities** |
                  • [Windows quality update reports](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#windows-quality-update-reports)
                  • [Windows feature update reports](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#windows-feature-update-reports)
                  • [Windows Update for Business (WUfB) reports](/mem/intune/protect/windows-update-compatibility-reports#use-the-windows-feature-update-device-readiness-report)
                  Windows Autopatch quality and feature update reports provide a progress view on the latest update cycle for your devices. These reports should be reviewed often to ensure you understand the update state of your Windows Autopatch devices.

                  There might be times when using Windows Autopatch for update deployment that it's beneficial to review Windows Update for Business (WUfB) reports.

                  For example, when preparing to deploy Windows 11, you might find it useful to evaluate your devices using the [Windows feature update device readiness](/mem/intune/protect/windows-update-compatibility-reports#use-the-windows-feature-update-device-readiness-report) and [Windows feature update compatibility risks reports](/mem/intune/protect/windows-update-compatibility-reports#use-the-windows-feature-update-compatibility-risks-report) in Intune.| | **2B: Review operational changes** | As part of the introduction of Windows Autopatch, you should consider how the service integrates with your existing operational processes.
                  • Identify service desk and end user computing process changes
                  • Identify any alignment with third party support agreements
                  • Review the default Windows Autopatch support process and alignment with your existing Premier and Unified support options
                  • Identify IT admin process change & service interaction points
                  | -| **2C: Educate end users and key stakeholders**| Educate your end users by creating guides for the Windows Autopatch end user experience.
                  • [Windows quality updates](../operate/windows-autopatch-groups-windows-quality-update-end-user-exp.md)
                  • [Windows feature updates](../operate/windows-autopatch-groups-windows-feature-update-overview.md)
                  • [Microsoft 365 Apps for enterprise updates](../operate/windows-autopatch-microsoft-365-apps-enterprise.md)
                  • [Microsoft Edge](../operate/windows-autopatch-edge.md)
                  • [Microsoft Teams](../operate/windows-autopatch-teams.md)

                  Include your IT support and help desk in the early stages of the Windows Autopatch deployment and planning process. Early involvement allows your support staff to:
                  • Gain knowledge and experience in identifying and resolving update issues more effectively
                  • Prepare them to support production rollouts. Knowledgeable help desk and support teams also help end users adopt to changes

                  Your support staff can experience a walkthrough of the Windows Autopatch admin experience through the [Windows Autopatch demo site](https://aka.ms/autopatchdemo). | +| **2C: Educate end users and key stakeholders**| Educate your end users by creating guides for the Windows Autopatch end user experience.
                  • [Windows quality updates](../manage/windows-autopatch-windows-quality-update-end-user-exp.md)
                  • [Windows feature updates](../manage/windows-autopatch-windows-feature-update-overview.md)
                  • [Microsoft 365 Apps for enterprise updates](../manage/windows-autopatch-microsoft-365-apps-enterprise.md)
                  • [Microsoft Edge](../manage/windows-autopatch-edge.md)
                  • [Microsoft Teams](../manage/windows-autopatch-teams.md)

                  Include your IT support and help desk in the early stages of the Windows Autopatch deployment and planning process. Early involvement allows your support staff to:
                  • Gain knowledge and experience in identifying and resolving update issues more effectively
                  • Prepare them to support production rollouts. Knowledgeable help desk and support teams also help end users adopt to changes

                  Your support staff can experience a walkthrough of the Windows Autopatch admin experience through the [Windows Autopatch demo site](https://aka.ms/autopatchdemo). | | **2D: Pilot planning** | Identify target pilot group(s) of up to 500 devices. It's recommended to include a cross-section of your organizational make-up to ensure your pilot results are representative of your organizational environment. | ### Step three: Pilot @@ -331,4 +331,3 @@ Once you're underway with your deployment, consider joining the [Windows Commerc - Surveys - Teams discussions - Previews - diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml b/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml index 8e0f87c3a4..2aea84859d 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-faq.yml @@ -108,7 +108,7 @@ sections: The decision of when to move to the next ring is handled by Windows Autopatch; it isn't customer configurable. - question: Can you customize the scheduling of an update rollout to only install on certain days and times? answer: | - No, you can't customize update scheduling. However, you can specify [active hours](../operate/windows-autopatch-windows-quality-update-end-user-exp.md) to prevent users from updating during business hours. + No, you can't customize update scheduling. However, you can specify [active hours](../manage/windows-autopatch-windows-quality-update-end-user-exp.md) to prevent users from updating during business hours. - question: Does Autopatch support include and exclude groups, or dynamic groups to define deployment ring membership? answer: | Windows Autopatch doesn't support managing update deployment ring membership using your Microsoft Entra groups. For more information, see [Moving devices in between deployment rings](../operate/windows-autopatch-update-management.md#moving-devices-in-between-deployment-rings). diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md index f7e85f6135..11f77f3ed5 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md @@ -21,7 +21,7 @@ This article outlines your responsibilities and Windows Autopatch's responsibili - [Preparing to enroll into the Windows Autopatch service](#prepare) - [Deploying the service](#deploy) -- [Operating with the service](#operate) +- [Operating with the service](#manage) ## Prepare @@ -47,10 +47,10 @@ For more information and assistance with preparing for your Windows Autopatch de | ----- | :-----: | :-----: | | [Add and verify admin contacts](../deploy/windows-autopatch-admin-contacts.md) in Microsoft Intune | :heavy_check_mark: | :x: | | [Deploy and configure Windows Autopatch service configuration](../references/windows-autopatch-changes-to-tenant.md) | :x: | :heavy_check_mark: | -| Educate users on the Windows Autopatch end user update experience
                  • [Windows quality update end user experience](../operate/windows-autopatch-groups-windows-quality-update-end-user-exp.md)
                  • [Windows feature update end user experience](../operate/windows-autopatch-groups-manage-windows-feature-update-release.md)
                  • [Microsoft 365 Apps for enterprise end user experience](../operate/windows-autopatch-microsoft-365-apps-enterprise.md#end-user-experience)
                  • [Microsoft Edge end user experience](../operate/windows-autopatch-edge.md)
                  • [Microsoft Teams end user experience](../operate/windows-autopatch-teams.md#end-user-experience)
                  | :heavy_check_mark: | :x: | +| Educate users on the Windows Autopatch end user update experience
                  • [Windows quality update end user experience](../manage/windows-autopatch-windows-quality-update-end-user-exp.md)
                  • [Windows feature update end user experience](../manage/windows-autopatch-manage-windows-feature-update-release.md)
                  • [Microsoft 365 Apps for enterprise end user experience](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#end-user-experience)
                  • [Microsoft Edge end user experience](../manage/windows-autopatch-edge.md)
                  • [Microsoft Teams end user experience](../manage/windows-autopatch-teams.md#end-user-experience)
                  | :heavy_check_mark: | :x: | | Review network optimization
                  • [Prepare your network](../prepare/windows-autopatch-configure-network.md)
                  • [Delivery Optimization](../prepare/windows-autopatch-configure-network.md#delivery-optimization) | :heavy_check_mark: | :x: | | Review existing configurations
                    • Remove your devices from existing unsupported [Windows Update](../references/windows-autopatch-windows-update-unsupported-policies.md) and [Microsoft 365](../references/windows-autopatch-microsoft-365-policies.md) policies
                    • Consult [General considerations](../overview/windows-autopatch-deployment-guide.md#general-considerations)
                    | :heavy_check_mark: | :x: | -| Confirm your update service needs and configure your workloads
                    • [Turn on or off expedited Windows quality updates](../operate/windows-autopatch-groups-windows-quality-update-overview.md#expedited-releases)
                    • [Allow or block Microsoft 365 Apps for enterprise updates](../operate/windows-autopatch-microsoft-365-apps-enterprise.md#allow-or-block-microsoft-365-app-updates)
                    • [Manage driver and firmware updates](../operate/windows-autopatch-manage-driver-and-firmware-updates.md)
                    • [Customize Windows Update settings](../operate/windows-autopatch-windows-update.md)
                    • Decide your [Windows feature update versions(s)](../operate/windows-autopatch-groups-windows-feature-update-overview.md)
                    | :heavy_check_mark: | :x: | +| Confirm your update service needs and configure your workloads
                    • [Turn on or off expedited Windows quality updates](../manage/windows-autopatch-windows-quality-update-overview.md#expedited-releases)
                    • [Allow or block Microsoft 365 Apps for enterprise updates](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#allow-or-block-microsoft-365-app-updates)
                    • [Manage driver and firmware updates](../manage/windows-autopatch-manage-driver-and-firmware-updates.md)
                    • [Customize Windows Update settings](../manage/windows-autopatch-windows-update.md)
                    • Decide your [Windows feature update versions(s)](../manage/windows-autopatch-windows-feature-update-overview.md)
                    | :heavy_check_mark: | :x: | | [Consider your Autopatch groups distribution](../deploy/windows-autopatch-groups-overview.md)
                    • [Default Autopatch group](../deploy/windows-autopatch-groups-overview.md#about-the-default-autopatch-group)
                    • [Custom Autopatch group](../deploy/windows-autopatch-groups-overview.md#about-custom-autopatch-groups)
                    | :heavy_check_mark: | :x: | | [Register devices](../deploy/windows-autopatch-register-devices.md)
                    • [Review your device registration options](../deploy/windows-autopatch-device-registration-overview.md)
                    • [Register your first devices](../deploy/windows-autopatch-register-devices.md) | :heavy_check_mark: | :x: | | [Run the pre-registration device readiness checks](../deploy/windows-autopatch-register-devices.md#about-the-registered-not-ready-and-not-registered-tabs) | :x: | :heavy_check_mark: | @@ -61,42 +61,42 @@ For more information and assistance with preparing for your Windows Autopatch de | Review device conflict scenarios
                      • [Device conflict in deployment rings within an Autopatch group](../deploy/windows-autopatch-groups-manage-autopatch-groups.md#device-conflict-in-deployment-rings-within-an-autopatch-group)
                      • [Device conflict across different Autopatch groups](../deploy/windows-autopatch-groups-manage-autopatch-groups.md#device-conflict-across-different-autopatch-groups)
                      | :heavy_check_mark: | :x: | | Communicate to end-users, help desk and stakeholders | :heavy_check_mark: | :x: | -## Operate +## Manage | Task | Your responsibility | Windows Autopatch | | ----- | :-----: | :-----: | | [Maintain contacts in the Microsoft Intune admin center](../deploy/windows-autopatch-admin-contacts.md) | :heavy_check_mark: | :x: | -| [Maintain and manage the Windows Autopatch service configuration](../operate/windows-autopatch-maintain-environment.md) | :x: | :heavy_check_mark: | -| [Maintain customer configuration to align with the Windows Autopatch service configuration](../operate/windows-autopatch-maintain-environment.md) | :heavy_check_mark: | :x: | +| [Maintain and manage the Windows Autopatch service configuration](../monitor/windows-autopatch-maintain-environment.md) | :x: | :heavy_check_mark: | +| [Maintain customer configuration to align with the Windows Autopatch service configuration](../monitor/windows-autopatch-maintain-environment.md) | :heavy_check_mark: | :x: | | Resolve service remediated device conflict scenarios
                      • [Device conflict in deployment rings within an Autopatch group](../deploy/windows-autopatch-groups-manage-autopatch-groups.md#device-conflict-in-deployment-rings-within-an-autopatch-group)
                      • [Default to Custom Autopatch group device conflict](../deploy/windows-autopatch-groups-manage-autopatch-groups.md#default-to-custom-autopatch-group-device-conflict)
                      | :x: | :heavy_check_mark: | | Resolve remediated device conflict scenarios
                      • [Custom to Custom Autopatch group device conflict](../deploy/windows-autopatch-groups-manage-autopatch-groups.md#custom-to-custom-autopatch-group-device-conflict)
                      • [Device conflict prior to device registration](../deploy/windows-autopatch-groups-manage-autopatch-groups.md#device-conflict-prior-to-device-registration)
                      | :heavy_check_mark: | :x: | | Maintain the Test and Last deployment ring membership
                      • [Default Windows Autopatch deployment rings](../deploy/windows-autopatch-groups-overview.md#about-the-default-autopatch-group)
                      • [Custom Windows Autopatch group deployment rings](../deploy/windows-autopatch-groups-overview.md#about-custom-autopatch-groups)
                      | :heavy_check_mark: | :x: | -| Monitor [Windows update signals](../operate/windows-autopatch-groups-windows-quality-update-signals.md) for safe update release
                      • [Pre-release signals](../operate/windows-autopatch-groups-windows-quality-update-signals.md#pre-release-signals)
                      • [Early signals](../operate/windows-autopatch-groups-windows-quality-update-signals.md#early-signals)
                      • [Device reliability signals](../operate/windows-autopatch-groups-windows-quality-update-signals.md#device-reliability-signals)
                      | :x: | :heavy_check_mark: | -| Test specific [business update scenarios](../operate/windows-autopatch-groups-windows-quality-update-signals.md) | :heavy_check_mark: | :x: | -| [Define and implement service default release schedule](../operate/windows-autopatch-groups-windows-quality-update-overview.md) | :x: | :heavy_check_mark: | -| Maintain your workload configuration and custom release schedule
                      • [Manage driver and firmware updates](../operate/windows-autopatch-manage-driver-and-firmware-updates.md)
                      • [Customize Windows Update settings](../operate/windows-autopatch-groups-windows-update.md)
                      • [Decide your Windows feature update version(s)](../operate/windows-autopatch-groups-windows-feature-update-overview.md)
                      | :heavy_check_mark: | :x: | -| Communicate the update [release schedule](../operate/windows-autopatch-windows-quality-update-communications.md) to IT admins | :x: | :heavy_check_mark: | -| Release updates (as scheduled)
                      • [Windows quality updates](../operate/windows-autopatch-groups-windows-quality-update-overview.md#release-management)
                      • [Windows feature updates](../operate/windows-autopatch-groups-windows-feature-update-overview.md)
                      • [Microsoft 365 Apps for enterprise](../operate/windows-autopatch-microsoft-365-apps-enterprise.md#update-release-schedule)
                      • [Microsoft Edge](../operate/windows-autopatch-edge.md#update-release-schedule)
                      • [Microsoft Teams](../operate/windows-autopatch-teams.md#update-release-schedule)
                        • | :x: | :heavy_check_mark: | -| [Release updates (expedited)](../operate/windows-autopatch-groups-windows-quality-update-overview.md#expedited-releases) | :x: | :heavy_check_mark: | -| [Release updates (OOB)](../operate/windows-autopatch-groups-windows-quality-update-overview.md#out-of-band-releases) | :x: | :heavy_check_mark: | +| Monitor [Windows update signals](../manage/windows-autopatch-windows-quality-update-signals.md) for safe update release
                          • [Pre-release signals](../manage/windows-autopatch-windows-quality-update-signals.md#pre-release-signals)
                          • [Early signals](../manage/windows-autopatch-windows-quality-update-signals.md#early-signals)
                          • [Device reliability signals](../manage/windows-autopatch-windows-quality-update-signals.md#device-reliability-signals)
                          | :x: | :heavy_check_mark: | +| Test specific [business update scenarios](../manage/windows-autopatch-windows-quality-update-signals.md) | :heavy_check_mark: | :x: | +| [Define and implement service default release schedule](../manage/windows-autopatch-windows-quality-update-overview.md) | :x: | :heavy_check_mark: | +| Maintain your workload configuration and custom release schedule
                          • [Manage driver and firmware updates](../manage/windows-autopatch-manage-driver-and-firmware-updates.md)
                          • [Customize Windows Update settings](../manage/windows-autopatch-windows-update.md)
                          • [Decide your Windows feature update version(s)](../manage/windows-autopatch-windows-feature-update-overview.md)
                          | :heavy_check_mark: | :x: | +| Communicate the update [release schedule](../manage/windows-autopatch-windows-quality-update-communications.md) to IT admins | :x: | :heavy_check_mark: | +| Release updates (as scheduled)
                          • [Windows quality updates](../manage/windows-autopatch-windows-quality-update-overview.md#release-management)
                          • [Windows feature updates](../manage/windows-autopatch-windows-feature-update-overview.md)
                          • [Microsoft 365 Apps for enterprise](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#update-release-schedule)
                          • [Microsoft Edge](../manage/windows-autopatch-edge.md#update-release-schedule)
                          • [Microsoft Teams](../manage/windows-autopatch-teams.md#update-release-schedule)
                            • | :x: | :heavy_check_mark: | +| [Release updates (expedited)](../manage/windows-autopatch-windows-quality-update-overview.md#expedited-releases) | :x: | :heavy_check_mark: | +| [Release updates (OOB)](../manage/windows-autopatch-windows-quality-update-overview.md#out-of-band-releases) | :x: | :heavy_check_mark: | | [Deploy updates to devices](../operate/windows-autopatch-groups-update-management.md) | :x: | :heavy_check_mark: | -| Monitor [Windows quality](../operate/windows-autopatch-groups-windows-quality-update-overview.md#release-management) or [feature updates](../operate/windows-autopatch-groups-windows-feature-update-overview.md) through the release cycle | :x: | :heavy_check_mark: | -| Review [release announcements](../operate/windows-autopatch-groups-windows-quality-update-overview.md#) | :heavy_check_mark: | :x: | -| Review deployment progress using Windows Autopatch reports
                              • [Windows quality update reports](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#windows-quality-update-reports)
                              • [Windows feature update reports](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#windows-feature-update-reports)
                              | :heavy_check_mark: | :x: | -| [Pause updates (Windows Autopatch initiated)](../operate/windows-autopatch-groups-windows-quality-update-signals.md) | :x: | :heavy_check_mark: | -| [Pause updates (initiated by you)](../operate/windows-autopatch-groups-windows-quality-update-overview.md#pause-and-resume-a-release) | :heavy_check_mark: | :x: | +| Monitor [Windows quality](../manage/windows-autopatch-windows-quality-update-overview.md#release-management) or [feature updates](../manage/windows-autopatch-windows-feature-update-overview.md) through the release cycle | :x: | :heavy_check_mark: | +| Review [release announcements](../manage/windows-autopatch-windows-quality-update-overview.md#) | :heavy_check_mark: | :x: | +| Review deployment progress using Windows Autopatch reports
                              • [Windows quality update reports](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#windows-quality-update-reports)
                              • [Windows feature update reports](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#windows-feature-update-reports)
                              | :heavy_check_mark: | :x: | +| [Pause updates (Windows Autopatch initiated)](../manage/windows-autopatch-windows-quality-update-signals.md) | :x: | :heavy_check_mark: | +| [Pause updates (initiated by you)](../manage/windows-autopatch-windows-quality-update-overview.md#pause-and-resume-a-release) | :heavy_check_mark: | :x: | | Run [on-going post-registration device readiness checks](../deploy/windows-autopatch-post-reg-readiness-checks.md) | :x: | :heavy_check_mark: | | Maintain existing configurations
                              • Remove your devices from existing and unsupported [Windows update](../references/windows-autopatch-windows-update-unsupported-policies.md) and [Microsoft 365](../references/windows-autopatch-microsoft-365-policies.md) policies
                              • Consult [General considerations](../overview/windows-autopatch-deployment-guide.md#general-considerations)
                              | :heavy_check_mark: | :x: | -| Understand the health of [Up to date](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#up-to-date-devices) devices and investigate devices that are
                              • [Not up to date](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#not-up-to-date-devices)
                              • [Not ready](../operate/windows-autopatch-groups-windows-quality-and-feature-update-reports-overview.md#not-ready-devices)
                              • have [Device alerts](../operate/windows-autopatch-device-alerts.md)
                              • have [conflicting configurations](../references/windows-autopatch-conflicting-configurations.md)
                              +| Understand the health of [Up to date](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#up-to-date-devices) devices and investigate devices that are
                              • [Not up to date](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#not-up-to-date-devices)
                              • [Not ready](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#not-ready-devices)
                              • have [Device alerts](../monitor/windows-autopatch-device-alerts.md)
                              • have [conflicting configurations](../references/windows-autopatch-conflicting-configurations.md)
                              | [Raise, manage and resolve a service incident if an update management area isn't meeting the service level objective](windows-autopatch-overview.md#update-management) | :x: | :heavy_check_mark: | -| [Exclude a device](../operate/windows-autopatch-exclude-device.md) | :heavy_check_mark: | :x: | -| [Register a device that was previously excluded](../operate/windows-autopatch-exclude-device.md#restore-a-device-or-multiple-devices-previously-excluded) | :heavy_check_mark: | :x: | -| [Request unenrollment from Windows Autopatch](../operate/windows-autopatch-unenroll-tenant.md) | :heavy_check_mark: | :x: | -| [Remove Windows Autopatch data from the service and exclude devices](../operate/windows-autopatch-unenroll-tenant.md#microsofts-responsibilities-during-unenrollment) | :x: | :heavy_check_mark: | -| [Maintain update configuration & update devices post unenrollment from Windows Autopatch](../operate/windows-autopatch-unenroll-tenant.md#your-responsibilities-after-unenrolling-your-tenant) | :heavy_check_mark: | :x: | -| Review and respond to Message Center and Service Health Dashboard notifications
                              • [Windows quality update communications](../operate/windows-autopatch-groups-windows-quality-update-communications.md)
                              • [Add and verify admin contacts](../deploy/windows-autopatch-admin-contacts.md)
                              | :heavy_check_mark: | :x: | -| Highlight Windows Autopatch management alerts that require customer action
                              • [Tenant management alerts](../operate/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                              • [Policy health and remediation](../operate/windows-autopatch-policy-health-and-remediation.md)
                              | :x: | :heavy_check_mark: | -| Review and respond to Windows Autopatch management alerts
                              • [Tenant management alerts](../operate/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                              • [Policy health and remediation](../operate/windows-autopatch-policy-health-and-remediation.md)
                              | :heavy_check_mark: | :x: | -| [Raise and respond to support requests](../operate/windows-autopatch-support-request.md) | :heavy_check_mark: | :x: | -| [Manage and respond to support requests](../operate/windows-autopatch-support-request.md#manage-an-active-support-request) | :x: | :heavy_check_mark: | +| [Exclude a device](../manage/windows-autopatch-exclude-device.md) | :heavy_check_mark: | :x: | +| [Register a device that was previously excluded](../manage/windows-autopatch-exclude-device.md#restore-a-device-or-multiple-devices-previously-excluded) | :heavy_check_mark: | :x: | +| [Request unenrollment from Windows Autopatch](../manage/windows-autopatch-unenroll-tenant.md) | :heavy_check_mark: | :x: | +| [Remove Windows Autopatch data from the service and exclude devices](../manage/windows-autopatch-unenroll-tenant.md#microsofts-responsibilities-during-unenrollment) | :x: | :heavy_check_mark: | +| [Maintain update configuration & update devices post unenrollment from Windows Autopatch](../manage/windows-autopatch-unenroll-tenant.md#your-responsibilities-after-unenrolling-your-tenant) | :heavy_check_mark: | :x: | +| Review and respond to Message Center and Service Health Dashboard notifications
                              • [Windows quality update communications](../manage/windows-autopatch-windows-quality-update-communications.md)
                              • [Add and verify admin contacts](../deploy/windows-autopatch-admin-contacts.md)
                              | :heavy_check_mark: | :x: | +| Highlight Windows Autopatch management alerts that require customer action
                              • [Tenant management alerts](../manage/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                              • [Policy health and remediation](../manage/windows-autopatch-policy-health-and-remediation.md)
                              | :x: | :heavy_check_mark: | +| Review and respond to Windows Autopatch management alerts
                              • [Tenant management alerts](../monitor/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                              • [Policy health and remediation](../monitor/windows-autopatch-policy-health-and-remediation.md)
                              | :heavy_check_mark: | :x: | +| [Raise and respond to support requests](../manage/windows-autopatch-support-request.md) | :heavy_check_mark: | :x: | +| [Manage and respond to support requests](../manage/windows-autopatch-support-request.md#manage-an-active-support-request) | :x: | :heavy_check_mark: | | Review the [What's new](../whats-new/windows-autopatch-whats-new-2022.md) section to stay up to date with updated feature and service releases | :heavy_check_mark: | :x: | diff --git a/windows/deployment/windows-autopatch/whats-new/windows-autopatch-whats-new-2023.md b/windows/deployment/windows-autopatch/whats-new/windows-autopatch-whats-new-2023.md index 79867750b3..e3ae2283ec 100644 --- a/windows/deployment/windows-autopatch/whats-new/windows-autopatch-whats-new-2023.md +++ b/windows/deployment/windows-autopatch/whats-new/windows-autopatch-whats-new-2023.md @@ -147,7 +147,7 @@ Minor corrections such as typos, style, or formatting issues aren't listed. | [Software update management](../operate/windows-autopatch-groups-update-management.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | | [Customize Windows Update settings](../operate/windows-autopatch-groups-windows-update.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | | [Windows quality update overview](../operate/windows-autopatch-groups-windows-quality-update-overview.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | -| [Windows quality update end user experience](../operate/windows-autopatch-groups-windows-quality-update-end-user-exp.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | +| [Windows quality update end user experience](../manage/windows-autopatch-windows-quality-update-end-user-exp.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | | [Windows quality update signals](../operate/windows-autopatch-groups-windows-quality-update-signals.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | | [Windows quality update communications](../operate/windows-autopatch-groups-windows-quality-update-communications.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | | [Windows feature update overview](../operate/windows-autopatch-groups-windows-feature-update-overview.md) | New article for the Windows Autopatch groups experience. Windows Autopatch groups is in public preview | From dbeef62098ba20018951db06364f241fa4e241d4 Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Mon, 5 Aug 2024 12:58:00 -0700 Subject: [PATCH 349/354] Broken links --- .../windows-autopatch-roles-responsibilities.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md index 11f77f3ed5..434b20db73 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md @@ -47,10 +47,10 @@ For more information and assistance with preparing for your Windows Autopatch de | ----- | :-----: | :-----: | | [Add and verify admin contacts](../deploy/windows-autopatch-admin-contacts.md) in Microsoft Intune | :heavy_check_mark: | :x: | | [Deploy and configure Windows Autopatch service configuration](../references/windows-autopatch-changes-to-tenant.md) | :x: | :heavy_check_mark: | -| Educate users on the Windows Autopatch end user update experience
                              • [Windows quality update end user experience](../manage/windows-autopatch-windows-quality-update-end-user-exp.md)
                              • [Windows feature update end user experience](../manage/windows-autopatch-manage-windows-feature-update-release.md)
                              • [Microsoft 365 Apps for enterprise end user experience](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#end-user-experience)
                              • [Microsoft Edge end user experience](../manage/windows-autopatch-edge.md)
                              • [Microsoft Teams end user experience](../manage/windows-autopatch-teams.md#end-user-experience)
                              | :heavy_check_mark: | :x: | +| Educate users on the Windows Autopatch end user update experience
                              • [Windows quality update end user experience](../manage/windows-autopatch-windows-quality-update-end-user-exp.md)
                              • [Windows feature update end user experience](../manage/windows-autopatch-manage-windows-feature-update-releases.md)
                              • [Microsoft 365 Apps for enterprise end user experience](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#end-user-experience)
                              • [Microsoft Edge end user experience](../manage/windows-autopatch-edge.md)
                              • [Microsoft Teams end user experience](../manage/windows-autopatch-teams.md#end-user-experience)
                              | :heavy_check_mark: | :x: | | Review network optimization
                              • [Prepare your network](../prepare/windows-autopatch-configure-network.md)
                              • [Delivery Optimization](../prepare/windows-autopatch-configure-network.md#delivery-optimization) | :heavy_check_mark: | :x: | | Review existing configurations
                                • Remove your devices from existing unsupported [Windows Update](../references/windows-autopatch-windows-update-unsupported-policies.md) and [Microsoft 365](../references/windows-autopatch-microsoft-365-policies.md) policies
                                • Consult [General considerations](../overview/windows-autopatch-deployment-guide.md#general-considerations)
                                | :heavy_check_mark: | :x: | -| Confirm your update service needs and configure your workloads
                                • [Turn on or off expedited Windows quality updates](../manage/windows-autopatch-windows-quality-update-overview.md#expedited-releases)
                                • [Allow or block Microsoft 365 Apps for enterprise updates](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#allow-or-block-microsoft-365-app-updates)
                                • [Manage driver and firmware updates](../manage/windows-autopatch-manage-driver-and-firmware-updates.md)
                                • [Customize Windows Update settings](../manage/windows-autopatch-windows-update.md)
                                • Decide your [Windows feature update versions(s)](../manage/windows-autopatch-windows-feature-update-overview.md)
                                | :heavy_check_mark: | :x: | +| Confirm your update service needs and configure your workloads
                                • [Turn on or off expedited Windows quality updates](../manage/windows-autopatch-windows-quality-update-overview.md#expedited-releases)
                                • [Allow or block Microsoft 365 Apps for enterprise updates](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#allow-or-block-microsoft-365-app-updates)
                                • [Manage driver and firmware updates](../manage/windows-autopatch-manage-driver-and-firmware-updates.md)
                                • [Customize Windows Update settings](../manage/windows-autopatch-customize-windows-update-settings.md)
                                • Decide your [Windows feature update versions(s)](../manage/windows-autopatch-windows-feature-update-overview.md)
                                | :heavy_check_mark: | :x: | | [Consider your Autopatch groups distribution](../deploy/windows-autopatch-groups-overview.md)
                                • [Default Autopatch group](../deploy/windows-autopatch-groups-overview.md#about-the-default-autopatch-group)
                                • [Custom Autopatch group](../deploy/windows-autopatch-groups-overview.md#about-custom-autopatch-groups)
                                | :heavy_check_mark: | :x: | | [Register devices](../deploy/windows-autopatch-register-devices.md)
                                • [Review your device registration options](../deploy/windows-autopatch-device-registration-overview.md)
                                • [Register your first devices](../deploy/windows-autopatch-register-devices.md) | :heavy_check_mark: | :x: | | [Run the pre-registration device readiness checks](../deploy/windows-autopatch-register-devices.md#about-the-registered-not-ready-and-not-registered-tabs) | :x: | :heavy_check_mark: | @@ -74,7 +74,7 @@ For more information and assistance with preparing for your Windows Autopatch de | Monitor [Windows update signals](../manage/windows-autopatch-windows-quality-update-signals.md) for safe update release
                                  • [Pre-release signals](../manage/windows-autopatch-windows-quality-update-signals.md#pre-release-signals)
                                  • [Early signals](../manage/windows-autopatch-windows-quality-update-signals.md#early-signals)
                                  • [Device reliability signals](../manage/windows-autopatch-windows-quality-update-signals.md#device-reliability-signals)
                                  | :x: | :heavy_check_mark: | | Test specific [business update scenarios](../manage/windows-autopatch-windows-quality-update-signals.md) | :heavy_check_mark: | :x: | | [Define and implement service default release schedule](../manage/windows-autopatch-windows-quality-update-overview.md) | :x: | :heavy_check_mark: | -| Maintain your workload configuration and custom release schedule
                                  • [Manage driver and firmware updates](../manage/windows-autopatch-manage-driver-and-firmware-updates.md)
                                  • [Customize Windows Update settings](../manage/windows-autopatch-windows-update.md)
                                  • [Decide your Windows feature update version(s)](../manage/windows-autopatch-windows-feature-update-overview.md)
                                  | :heavy_check_mark: | :x: | +| Maintain your workload configuration and custom release schedule
                                  • [Manage driver and firmware updates](../manage/windows-autopatch-manage-driver-and-firmware-updates.md)
                                  • [Customize Windows Update settings](../manage/windows-autopatch-customize-windows-update-settings.md)
                                  • [Decide your Windows feature update version(s)](../manage/windows-autopatch-windows-feature-update-overview.md)
                                  | :heavy_check_mark: | :x: | | Communicate the update [release schedule](../manage/windows-autopatch-windows-quality-update-communications.md) to IT admins | :x: | :heavy_check_mark: | | Release updates (as scheduled)
                                  • [Windows quality updates](../manage/windows-autopatch-windows-quality-update-overview.md#release-management)
                                  • [Windows feature updates](../manage/windows-autopatch-windows-feature-update-overview.md)
                                  • [Microsoft 365 Apps for enterprise](../manage/windows-autopatch-microsoft-365-apps-enterprise.md#update-release-schedule)
                                  • [Microsoft Edge](../manage/windows-autopatch-edge.md#update-release-schedule)
                                  • [Microsoft Teams](../manage/windows-autopatch-teams.md#update-release-schedule)
                                    • | :x: | :heavy_check_mark: | | [Release updates (expedited)](../manage/windows-autopatch-windows-quality-update-overview.md#expedited-releases) | :x: | :heavy_check_mark: | @@ -87,7 +87,7 @@ For more information and assistance with preparing for your Windows Autopatch de | [Pause updates (initiated by you)](../manage/windows-autopatch-windows-quality-update-overview.md#pause-and-resume-a-release) | :heavy_check_mark: | :x: | | Run [on-going post-registration device readiness checks](../deploy/windows-autopatch-post-reg-readiness-checks.md) | :x: | :heavy_check_mark: | | Maintain existing configurations
                                      • Remove your devices from existing and unsupported [Windows update](../references/windows-autopatch-windows-update-unsupported-policies.md) and [Microsoft 365](../references/windows-autopatch-microsoft-365-policies.md) policies
                                      • Consult [General considerations](../overview/windows-autopatch-deployment-guide.md#general-considerations)
                                      | :heavy_check_mark: | :x: | -| Understand the health of [Up to date](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#up-to-date-devices) devices and investigate devices that are
                                      • [Not up to date](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#not-up-to-date-devices)
                                      • [Not ready](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#not-ready-devices)
                                      • have [Device alerts](../monitor/windows-autopatch-device-alerts.md)
                                      • have [conflicting configurations](../references/windows-autopatch-conflicting-configurations.md)
                                      +| Understand the health of [Up to date](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#up-to-date-devices) devices and investigate devices that are
                                      • [Not up to date](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#not-up-to-date-devices)
                                      • [Not ready](../monitor/windows-autopatch-windows-quality-and-feature-update-reports-overview.md#not-ready-devices)
                                      • have [Device alerts](../monitor/windows-autopatch-device-alerts.md)
                                      • have [conflicting configurations](../references/windows-autopatch-conflicting-configurations.md)
                                      | | | | [Raise, manage and resolve a service incident if an update management area isn't meeting the service level objective](windows-autopatch-overview.md#update-management) | :x: | :heavy_check_mark: | | [Exclude a device](../manage/windows-autopatch-exclude-device.md) | :heavy_check_mark: | :x: | | [Register a device that was previously excluded](../manage/windows-autopatch-exclude-device.md#restore-a-device-or-multiple-devices-previously-excluded) | :heavy_check_mark: | :x: | @@ -95,7 +95,7 @@ For more information and assistance with preparing for your Windows Autopatch de | [Remove Windows Autopatch data from the service and exclude devices](../manage/windows-autopatch-unenroll-tenant.md#microsofts-responsibilities-during-unenrollment) | :x: | :heavy_check_mark: | | [Maintain update configuration & update devices post unenrollment from Windows Autopatch](../manage/windows-autopatch-unenroll-tenant.md#your-responsibilities-after-unenrolling-your-tenant) | :heavy_check_mark: | :x: | | Review and respond to Message Center and Service Health Dashboard notifications
                                      • [Windows quality update communications](../manage/windows-autopatch-windows-quality-update-communications.md)
                                      • [Add and verify admin contacts](../deploy/windows-autopatch-admin-contacts.md)
                                      | :heavy_check_mark: | :x: | -| Highlight Windows Autopatch management alerts that require customer action
                                      • [Tenant management alerts](../manage/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                                      • [Policy health and remediation](../manage/windows-autopatch-policy-health-and-remediation.md)
                                      | :x: | :heavy_check_mark: | +| Highlight Windows Autopatch management alerts that require customer action
                                      • [Tenant management alerts](../monitor/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                                      • [Policy health and remediation](../monitor/windows-autopatch-policy-health-and-remediation.md)
                                      | :x: | :heavy_check_mark: | | Review and respond to Windows Autopatch management alerts
                                      • [Tenant management alerts](../monitor/windows-autopatch-maintain-environment.md#windows-autopatch-tenant-actions)
                                      • [Policy health and remediation](../monitor/windows-autopatch-policy-health-and-remediation.md)
                                      | :heavy_check_mark: | :x: | | [Raise and respond to support requests](../manage/windows-autopatch-support-request.md) | :heavy_check_mark: | :x: | | [Manage and respond to support requests](../manage/windows-autopatch-support-request.md#manage-an-active-support-request) | :x: | :heavy_check_mark: | From bffe17ff1332356ca2901896f2fd4b4f7237d73e Mon Sep 17 00:00:00 2001 From: tiaraquan Date: Mon, 5 Aug 2024 13:55:50 -0700 Subject: [PATCH 350/354] Blah --- .../overview/windows-autopatch-roles-responsibilities.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md index 434b20db73..215fef87ca 100644 --- a/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md +++ b/windows/deployment/windows-autopatch/overview/windows-autopatch-roles-responsibilities.md @@ -15,7 +15,7 @@ ms.collection: - tier1 --- -# Roles and responsibilities +# Roles and responsibilities This article outlines your responsibilities and Windows Autopatch's responsibilities when: From c43bec1a24f0ee1fa1d62f8861d10e7f1b41fcb9 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 6 Aug 2024 08:33:33 -0700 Subject: [PATCH 351/354] Update waas-delivery-optimization-faq.yml remove extra spaces --- windows/deployment/do/waas-delivery-optimization-faq.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-faq.yml b/windows/deployment/do/waas-delivery-optimization-faq.yml index 3faf4f916d..074b20e8f0 100644 --- a/windows/deployment/do/waas-delivery-optimization-faq.yml +++ b/windows/deployment/do/waas-delivery-optimization-faq.yml @@ -73,8 +73,8 @@ sections: > [!NOTE] > Disabling Delivery Optimization won't prevent content from downloading to your devices. If you're looking to pause updates, you need to set policies for the relevant components such as Windows Update, Windows Store or Microsoft Edge browser. If you're looking to reduce the load on your network, look into using Delivery Optimization Peer-to-Peer, Microsoft Connected Cache or apply the [network throttling policies](waas-delivery-optimization-reference.md#maximum-download-bandwidth) available for Delivery Optimization. - - question: My download is failing with error code 0x80d03002, how do I fix it? - answer: | + - question: My download is failing with error code 0x80d03002, how do I fix it? + answer: | If you set the DownloadMode policy to '100' (Bypass) some content downloads that require Delivery Optimization may fail with error code 0x80d03002. If you intend to disable peer-to-peer capabilities of Delivery Optimization, change the Delivery Optimization [Download mode](waas-delivery-optimization-reference.md#download-mode) setting to '0', which will disable peer-to-peer and provide hash checks. [Download mode](waas-delivery-optimization-reference.md#download-mode) set to '99' should only be used when the device is offline and doesn't have internet access. Don't set **Download mode** to '100' (Bypass), which can cause some content to fail to download. Starting in Windows 11, Download mode '100' is deprecated. From 3b581480ea123fcf05fa3c9e34abd7ba7c2e7a6f Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 6 Aug 2024 09:19:06 -0700 Subject: [PATCH 352/354] add question link to list at top --- windows/deployment/do/waas-delivery-optimization-faq.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/do/waas-delivery-optimization-faq.yml b/windows/deployment/do/waas-delivery-optimization-faq.yml index 074b20e8f0..4831cd8ca1 100644 --- a/windows/deployment/do/waas-delivery-optimization-faq.yml +++ b/windows/deployment/do/waas-delivery-optimization-faq.yml @@ -29,6 +29,7 @@ summary: | - [How are downloads initiated by Delivery Optimization?](#how-are-downloads-initiated-by-delivery-optimization) - [Delivery Optimization is downloading Windows content on my devices directly from an IP Address, is it expected?](#delivery-optimization-is-downloading-windows-content-on-my-devices-directly-from-an-ip-address--is-it-expected) - [How do I turn off Delivery Optimization?](#how-do-i-turn-off-delivery-optimization) + - [My download is failing with error code 0x80d03002, how do I fix it?](#my-download-is-failing-with-error-code-0x80d03002--how-do-i-fix-it] **Network related configuration questions**: From 95e7c5687823e4b56445e446e243b39f1668e8ab Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:06:47 -0700 Subject: [PATCH 353/354] fix do faq link --- windows/deployment/do/waas-delivery-optimization-faq.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-faq.yml b/windows/deployment/do/waas-delivery-optimization-faq.yml index 4831cd8ca1..4ccc887ab2 100644 --- a/windows/deployment/do/waas-delivery-optimization-faq.yml +++ b/windows/deployment/do/waas-delivery-optimization-faq.yml @@ -17,7 +17,7 @@ metadata: - ✅ Windows 10 - ✅ Windows Server 2019, and later - ✅ Delivery Optimization - ms.date: 05/23/2024 + ms.date: 08/06/2024 title: Frequently Asked Questions about Delivery Optimization summary: | This article answers frequently asked questions about Delivery Optimization. @@ -29,7 +29,7 @@ summary: | - [How are downloads initiated by Delivery Optimization?](#how-are-downloads-initiated-by-delivery-optimization) - [Delivery Optimization is downloading Windows content on my devices directly from an IP Address, is it expected?](#delivery-optimization-is-downloading-windows-content-on-my-devices-directly-from-an-ip-address--is-it-expected) - [How do I turn off Delivery Optimization?](#how-do-i-turn-off-delivery-optimization) - - [My download is failing with error code 0x80d03002, how do I fix it?](#my-download-is-failing-with-error-code-0x80d03002--how-do-i-fix-it] + - [My download is failing with error code 0x80d03002, how do I fix it?](#my-download-is-failing-with-error-code-0x80d03002--how-do-i-fix-it) **Network related configuration questions**: From b3344abf61bb960176e595549907527ed0d5dc08 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 6 Aug 2024 14:56:08 -0700 Subject: [PATCH 354/354] update sync your settings date for rev --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 3fa684a4f8..2b973540f6 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -104,7 +104,7 @@ The features in this article are no longer being actively developed, and might b |IIS Digest Authentication | We recommend that users use alternative authentication methods.| 1709 | |RSA/AES Encryption for IIS | We recommend that users use CNG encryption provider. | 1709 | |Screen saver functionality in Themes | Disabled in Themes. Screen saver functionality in Group Policies, Control Panel, and Sysprep continues to be functional. Lock screen features and policies are preferred. | 1709 | -|Sync your settings (updated: August 17, 2017) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. As part of this change, we will stop supporting the Device Syncing Settings and App Data report. All other **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:
                                      - Windows 11
                                      - Windows 10, version 21H2, or later | 1709 | +|Sync your settings (updated: July, 30, 2024) | Back-end changes: In future releases, the back-end storage for the current sync process will change. A single cloud storage system will be used for Enterprise State Roaming and all other users. As part of this change, we will stop supporting the Device Syncing Settings and App Data report. All other **Sync your settings** options and the Enterprise State Roaming feature will continue to work provided your clients are running an up-to-date version of:
                                      - Windows 11
                                      - Windows 10, version 21H2, or later | 1709 | |System Image Backup (SIB) Solution|This feature is also known as the **Backup and Restore (Windows 7)** legacy control panel. For full-disk backup solutions, look for a third-party product from another software publisher. You can also use [OneDrive](/onedrive/) to sync data files with Microsoft 365.| 1709 | |TLS RC4 Ciphers |To be disabled by default. For more information, see [TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016](/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server)| 1709 | |Trusted Platform Module (TPM) Owner Password Management |This functionality within TPM.msc will be migrated to a new user interface.| 1709 |
  22. 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 Jmfy9B_Wk26C@WTlgEki93s3wW!-~l7>^C_P@ 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 literal 0 HcmV?d00001 diff --git a/windows/deployment/do/waas-delivery-optimization-configure.md b/windows/deployment/do/waas-delivery-optimization-configure.md new file mode 100644 index 0000000000..97ad1a3077 --- /dev/null +++ b/windows/deployment/do/waas-delivery-optimization-configure.md @@ -0,0 +1,237 @@ +--- +title: Configure Delivery Optimization for Windows +description: In this article, learn how to set up Delivery Optimization for use by Windows clients in your organization. +ms.service: windows-client +ms.subservice: itpro-updates +ms.topic: how-to +author: cmknox +ms.author: carmenf +ms.reviewer: mstewart +manager: aaroncz +ms.collection: + - tier3 + - essentials-get-started +ms.localizationpriority: medium +appliesto: +- ✅ Windows 11 +- ✅ Windows 10 +- ✅ Delivery Optimization +ms.date: 07/01/2024 +--- + +# Configure Delivery Optimization for Windows + +## Delivery Optimization set up considerations checklist + +* Allow Delivery Optimization communication +* Find Delivery Optimization +* Network topology +* Device count +* System resources +* Improve efficiencies +* Connected Cache + +:::image type="content" source="images/do-setup-full.png" alt-text="Screenshot of the various Delivery Optimization configurations that should be considered to maximize efficiency." lightbox="images/do-setup-full.png"::: + +## Allow DO communication + +:::image type="content" source="images/do-setup-allow-communication.png" alt-text="Screenshot of the considerations to allow Delivery Optimization communication." lightbox="images/do-setup-allow-communication.png"::: + +Learn more about Firewall, Proxy, and Port requirements for Delivery Optimization communication. + +### Firewall + +There are some host names that you need to permit through your Firewall for Delivery Optimization to communicate. Check the [full list](waas-delivery-optimization-faq.yml#what-hostnames-should-i-allow-through-my-firewall-to-support-delivery-optimization) of host names to permit. + +### Local proxy + +When using a proxy, you’ll want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com), as any altering of the public IP address will prevent peering from working properly. For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It’s important to know, Delivery Optimization uses byte range requests, so you’ll want to make sure your proxy allows this capability.. [Learn more](delivery-optimization-proxy.md) about Delivery Optimization with a proxy server. + +### Cloud proxy + +If you are using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. + +### Ports + +Delivery Optimization requires the use of certain ports to deliver content. Make sure you have opened all the [required ports](/waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) to make Delivery Optimization work seamlessly. + +## DO presence + +:::image type="content" source="images/do-setup-presence.png" alt-text="Screenshot of different product areas where you'll find Delivery Optimization." lightbox="images/do-setup-presence.png"::: + +Use Group Policy or MDM Policies to locate Delivery Optimization settings. + +**Group Policies:** Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. +**MDM Policies:** You can use an MDM solution like Intune to configure Delivery Optimization. + +Delivery Optimization is increasingly found throughout Microsoft products. Learn more about the areas where there is integration to see how you can optimize the results in your environment. + +* [Microsoft Endpoint Manager (MEM)](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) +* [Microsoft Endpoint Configuration Manager (MECM)](https://learn.microsoft.com/en-us/mem/intune/configuration/delivery-optimization-windows) +* [Autopilot](https://learn.microsoft.com/en-us/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/en-us/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies will be applied. + +## Network topology + +:::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: + +Peer groups can be defined in Delivery Optimization using a combination of settings such as [‘DODownloadMode’](waas-delivery-optimization-reference.md#download-mode), [‘DOGroupID’](waas-delivery-optimization-reference.md#group-id), [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [‘DORestrictPeerSelection’](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings you use will depend on your desired peer group(s) and your network topology.* + +### Peer-to-peer setup + +#### Define peer groups + +##### Local area network (LAN) + +To limit a peer group to your LAN, choose [‘DODownloadMode’](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This will include any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. + +##### Wide area network (WAN) + +To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use Download Mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or leverage existing “boundaries” in your enterprise with the [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. + +##### GroupIDSource default behavior + +There are several options for identifying your Group ID using the [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [‘DOGroupID’](waas-delivery-optimization-reference.md#group-id) or [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies are not set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). More information on all [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting options available. + +> [!NOTE] +> If your peer group spans across NATs, the Teredo service will be used on port 3544. + +##### Restrict peer selection + +If your environment requires a more granular approach, you can use the Restrict Peer Discovery setting alongside the Download Mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [‘DODownloadMode’](waas-delivery-optimization-reference.md#download-mode) (1) and [‘DORestrictPeerSelection’](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)(Subnet). This setting can be used in conjunction with any of the peer-related Download Modes (1’, 2’, or ‘3’). + +### Non-peering options + +There are two valid Download Modes that do not leverage the peer-to-peer functionality to deliver content; Download Modes (0) and (99). Download Mode (0) provides hash checks of the requested content and allows for quick detection and recovery of corrupted data due to the use of piece level hash checks. Download Mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no additional checks. + +### Peering with VPN + +By default, if Delivery Optimization detects a VPN, peering will not be used. To enable this behavior, use the [‘DOAllowVPNPeerCaching’](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification use the [‘DOVpnKeywords’](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. Also related, there is a [‘DODisallowCacheServerDownloadsOnVPN*’](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) policy to prevent downloads from a cache server while on a VPN connection. + +## Device counts + +:::image type="content" source="images/do-setup-device-counts.png" alt-text="Screenshot of Delivery Optimization device count considerations." lightbox="images/do-setup-device-counts.png"::: + +Delivery Optimization is designed to perform best in a large-scale environment with many devices. Depending on the size of the environment, you should evaluate the value of the [‘DOMinFileSizeToCache’](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to optimize peering. + +### Cache file size + +Content peering has a limited number of slots available at any given time. By default, only content files that are 50MB or larger can be used for peering. In an environment with more than 30 devices, change the [‘DOMinFileSizeToCache’](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to a lower value (10MB), to have more content available for peering, which can be distributed among many devices. For an even larger number of devices (>100) you can raise this setting to (1MB). + +### Mobile devices + +By default, peer-to-peer capabilities are not enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [‘DOMinBatteryPercentageAllowedToUpload’](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. + +## System resources + +:::image type="content" source="images/do-setup-system-resources.png" alt-text="Screenshot of Delivery Optimization system resources considerations." lightbox="images/do-setup-system-resources.png"::: + +There are some Delivery Optimization configurations that can make an impact when ample system resources are available. + +### Disk size + +Alter the minimum disk size a device must have to use peering with the [‘DOMinDiskSizeAllowedToPeer’](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [‘DOMaxCacheSize’](waas-delivery-optimization-reference.md#max-cache-size)/[’DOAbsoluteMaxCacheSize’](waas-delivery-optimization-reference.md#absolute-max-cache-size). + +### RAM size + +Control the minimum amount of RAM (inclusive) allowed to use peer caching, [‘DOMinRAMAllowedToPeer’](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). + +### Large # of devices with healthy system resources + +In a lab situation, you typically have set number of devices that are plugged in and have a lot of free disk space. By increasing the content expiration interval of [‘DOMaxCacheAge’](waas-delivery-optimization-reference.md#max-cache-age) to 7 or more (up to 30 days), you can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. + +## Improve efficiencies + +:::image type="content" source="images/do-setup-improve-efficiencies.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiencies.png"::: + +Looking to improve efficiency? Some of the most powerful settings you can change that could have a big impact within your environment include: + +* Help optimize peer connection over HTTP connections using the [‘DOMinBackgroundQoS’](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for this is something lower than the average download speed seen in your network. For example, if your average speed is 1000KB/s, set this policy to 500KB/s. +* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of policies include: [‘DODelayBackgroundDownloadFromHttp’](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [‘DODelayForegroundDownloadFromHttp’](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs), [‘DelayCacheServerFallbackBackground*’](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs), [‘DelayCacheServerFallbackForeground*’](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs). For applicable scenarios (improving efficiency from peers or cache server) a good starting point is ’60 - 90’ seconds for the background settings and ’30 – 60’ for foreground settings. +* Reduce any disruptions and help to manage the timing of network usage by utilizing the business hours policies, [‘DOSetHoursToLimitForegroundDownloadBandwidth’](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth) and [‘DOSetHoursToLimitBackgroundDownloadBandwidth’](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth). +* Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [‘DOPercentageMaxForegroundBandwidth’](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[’DOPercentageMaxBackgroundBandwidth’](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [‘DOMaxBackgroundDownloadBandwidth’](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [‘DOMaxForegroundDownloadBandwidth’](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). + +> [!NOTE] +> Not all content types are not eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. + +## Connected cache + +:::image type="content" source="images/do-setup-connected-cache.png" alt-text="Screenshot of Delivery Optimization options when using Connected Cache." lightbox="images/do-setup-connected-cache.png"::: + +> [!NOTE] +> When using the Connected Cache dedicated cache solution for your environment there are a handful of policies you should be aware of, some of which have been mentioned throughout this page (denoted with *). + +* [‘DOCacheHost’](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cachehost server names, separated with commas. Delivery Optimization client will connect to the listed Microsoft Connected Cache servers in the order as they are listed. +* [‘DOCacheHostSource’](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cachehost servers on the network, using DHCP. +* [‘DelayCacheServerFallbackBackground’](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [‘DelayCacheServerFallbackForeground’](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cachehost servers. (See recommended values in ‘Improving Efficiencies’ section). +* [‘DODisallowCacheServerDownloadsOnVPN’](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cachehost server to supply content, when device is on a VPN connection. + +# Monitor Delivery Optimization and Troubleshooting + +Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you'll want to track the outcomes to see how they improve your efficiency. [Learn more](hwaas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. + +## Troubleshooting + +### DO Troubleshooter + +[Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: + +* -HealthCheck: Provides an overall check of the device setup to ensure Delivery Optimization communication is possible on the device. +* -P2P: Provides output specific to P2P settings, efficiency, and errors. +* -MCC: Provides output specific to MCC settings and verifies the client can access the cache server. + +### Testing Delivery Optimization + +[Learn more](delivery-optimization-test.md) for guidance on basic testing scenarios to see how Delivery Optimization works. + +### Common problems and solutions + +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 [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, download mode should be 1, 2, or 3. +3. If the download mode 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 **\*.prod.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 **[DODownloadMode](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 nonzero. +4. If the number of peers is zero and **[DODownloadMode](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 aren't reporting the same public IP address, configure **[DODownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[DOGroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**. + +> [!NOTE] +> Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of potential peers per file, including which peers are successfully connected and the total bytes sent or received from each peer. + +#### 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're 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'll 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 From 5a8fbd8872ba62fb6f843e11340d579f632b3d30 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Thu, 27 Jun 2024 16:31:04 -0600 Subject: [PATCH 156/354] Acrolinx fixes --- .../do/waas-delivery-optimization-configure.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-configure.md b/windows/deployment/do/waas-delivery-optimization-configure.md index 97ad1a3077..f3a5cb4b36 100644 --- a/windows/deployment/do/waas-delivery-optimization-configure.md +++ b/windows/deployment/do/waas-delivery-optimization-configure.md @@ -53,7 +53,7 @@ If you are using a cloud proxy, you should configure it to allow Delivery Optimi ### Ports -Delivery Optimization requires the use of certain ports to deliver content. Make sure you have opened all the [required ports](/waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) to make Delivery Optimization work seamlessly. +Delivery Optimization requires the use of certain ports to deliver content. Make sure you have opened all the [required ports](waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) to make Delivery Optimization work seamlessly. ## DO presence @@ -66,9 +66,9 @@ Use Group Policy or MDM Policies to locate Delivery Optimization settings. Delivery Optimization is increasingly found throughout Microsoft products. Learn more about the areas where there is integration to see how you can optimize the results in your environment. -* [Microsoft Endpoint Manager (MEM)](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) -* [Microsoft Endpoint Configuration Manager (MECM)](https://learn.microsoft.com/en-us/mem/intune/configuration/delivery-optimization-windows) -* [Autopilot](https://learn.microsoft.com/en-us/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/en-us/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies will be applied. +* [Microsoft Endpoint Manager (MEM)](https://learn.microsoft.com/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) +* [Microsoft Endpoint Configuration Manager (MECM)](https://learn.microsoft.com/mem/intune/configuration/delivery-optimization-windows) +* [Autopilot](https://learn.microsoft.com/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies will be applied. ## Network topology @@ -167,7 +167,7 @@ Looking to improve efficiency? Some of the most powerful settings you can change # Monitor Delivery Optimization and Troubleshooting -Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you'll want to track the outcomes to see how they improve your efficiency. [Learn more](hwaas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. +Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you'll want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. ## Troubleshooting From 27352b1258e4c2a8ba57d5657618d6624e7db361 Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Thu, 27 Jun 2024 16:35:50 -0600 Subject: [PATCH 157/354] Fix warning --- windows/deployment/do/waas-delivery-optimization-configure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/waas-delivery-optimization-configure.md b/windows/deployment/do/waas-delivery-optimization-configure.md index f3a5cb4b36..e655cf641b 100644 --- a/windows/deployment/do/waas-delivery-optimization-configure.md +++ b/windows/deployment/do/waas-delivery-optimization-configure.md @@ -165,7 +165,7 @@ Looking to improve efficiency? Some of the most powerful settings you can change * [‘DelayCacheServerFallbackBackground’](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [‘DelayCacheServerFallbackForeground’](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cachehost servers. (See recommended values in ‘Improving Efficiencies’ section). * [‘DODisallowCacheServerDownloadsOnVPN’](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cachehost server to supply content, when device is on a VPN connection. -# Monitor Delivery Optimization and Troubleshooting +## Monitor Delivery Optimization and Troubleshooting Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you'll want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. From 21d7658e8da792e6a4fa6f96a6a292619a625b2b Mon Sep 17 00:00:00 2001 From: "[cmknox]" <[cmknox@gmail.com]> Date: Thu, 27 Jun 2024 17:20:43 -0600 Subject: [PATCH 158/354] More acrolinx fixes --- .../waas-delivery-optimization-configure.md | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/windows/deployment/do/waas-delivery-optimization-configure.md b/windows/deployment/do/waas-delivery-optimization-configure.md index e655cf641b..9a93014d9a 100644 --- a/windows/deployment/do/waas-delivery-optimization-configure.md +++ b/windows/deployment/do/waas-delivery-optimization-configure.md @@ -45,81 +45,81 @@ There are some host names that you need to permit through your Firewall for Deli ### Local proxy -When using a proxy, you’ll want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com), as any altering of the public IP address will prevent peering from working properly. For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It’s important to know, Delivery Optimization uses byte range requests, so you’ll want to make sure your proxy allows this capability.. [Learn more](delivery-optimization-proxy.md) about Delivery Optimization with a proxy server. +When using a proxy, you want to bypass calls from the Delivery Optimization service (*.prod.do.dsp.mp.microsoft.com), as any altering of the public IP address prevents peering from working properly. For downloads from HTTP sources, Delivery Optimization can use the automatic proxy discovery capability of WinHttp to handle communication with the proxy server. It’s important to know, Delivery Optimization uses byte range requests, so you’ll want to make sure your proxy allows this capability. [Learn more](delivery-optimization-proxy.md) about Delivery Optimization with a proxy server. ### Cloud proxy -If you are using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. +If you're using a cloud proxy, you should configure it to allow Delivery Optimization traffic to [bypass the proxy](waas-delivery-optimization-faq.yml#what-is-the-recommended-configuration-for-delivery-optimization-used-with-cloud-proxies). Otherwise, you may experience reduced performance and increased bandwidth consumption. ### Ports -Delivery Optimization requires the use of certain ports to deliver content. Make sure you have opened all the [required ports](waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) to make Delivery Optimization work seamlessly. +Delivery Optimization requires the use of certain ports to deliver content. Make sure all the [required ports](waas-delivery-optimization-faq.yml#which-ports-does-delivery-optimization-use) are open to make Delivery Optimization work seamlessly. ## DO presence -:::image type="content" source="images/do-setup-presence.png" alt-text="Screenshot of different product areas where you'll find Delivery Optimization." lightbox="images/do-setup-presence.png"::: +:::image type="content" source="images/do-setup-presence.png" alt-text="Screenshot of different product areas where you find Delivery Optimization." lightbox="images/do-setup-presence.png"::: Use Group Policy or MDM Policies to locate Delivery Optimization settings. **Group Policies:** Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization. **MDM Policies:** You can use an MDM solution like Intune to configure Delivery Optimization. -Delivery Optimization is increasingly found throughout Microsoft products. Learn more about the areas where there is integration to see how you can optimize the results in your environment. +Delivery Optimization is increasingly found throughout Microsoft products. Learn more about the areas where there's integration to see how you can optimize the results in your environment. * [Microsoft Endpoint Manager (MEM)](https://learn.microsoft.com/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery) * [Microsoft Endpoint Configuration Manager (MECM)](https://learn.microsoft.com/mem/intune/configuration/delivery-optimization-windows) -* [Autopilot](https://learn.microsoft.com/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies will be applied. +* [Autopilot](https://learn.microsoft.com/windows/deployment/windows-deployment-scenarios#modern-deployment-methods)/[Autopatch](https://learn.microsoft.com/windows/deployment/windows-autopatch/overview/windows-autopatch-overview) – there are no specific settings that should be configured for Autopilot or Autopatch devices. However, it’s important to remember that once the device is connected to the corporate network, Delivery Optimization policies are applied. ## Network topology :::image type="content" source="images/do-setup-network-topology.png" alt-text="Screenshot of Delivery Optimization network topology considerations." lightbox="images/do-setup-network-topology.png"::: -Peer groups can be defined in Delivery Optimization using a combination of settings such as [‘DODownloadMode’](waas-delivery-optimization-reference.md#download-mode), [‘DOGroupID’](waas-delivery-optimization-reference.md#group-id), [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [‘DORestrictPeerSelection’](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings you use will depend on your desired peer group(s) and your network topology.* +Peer groups can be defined in Delivery Optimization using a combination of settings such as [DODownloadMode](waas-delivery-optimization-reference.md#download-mode), [DOGroupID](waas-delivery-optimization-reference.md#group-id), [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids), and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection). *The combination of settings in use will depend on your desired peer group(s) and your network topology.* -### Peer-to-peer setup +### Peering setup #### Define peer groups ##### Local area network (LAN) -To limit a peer group to your LAN, choose [‘DODownloadMode’](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This will include any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. +To limit a peer group to your LAN, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1), LAN-mode. This Download Mode setting includes any devices that share the same public IP address when they connect to the Internet (behind the same NAT) in a single peer group. ##### Wide area network (WAN) -To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use Download Mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or leverage existing “boundaries” in your enterprise with the [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. +To achieve peer groups across NATs within the same site, over the WAN, or to have more control in your local environment, use Download Mode ‘2’, Group-mode. Group download mode allows you to define a unique GUID Group ID or use existing “boundaries” in your enterprise with the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting to identify a peer group. ##### GroupIDSource default behavior -There are several options for identifying your Group ID using the [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [‘DOGroupID’](waas-delivery-optimization-reference.md#group-id) or [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies are not set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). More information on all [‘DOGroupIDSource’](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting options available. +There are several options for identifying your Group ID using the [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids). The default behavior, when the [DOGroupID](waas-delivery-optimization-reference.md#group-id) or [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) policies aren't set, is to determine the Group ID using AD Site (1), Authenticated domain SID (2), or Microsoft Entra tenant ID (5). More information on all [DOGroupIDSource](waas-delivery-optimization-reference.md#select-the-source-of-group-ids) setting options available. > [!NOTE] > If your peer group spans across NATs, the Teredo service will be used on port 3544. ##### Restrict peer selection -If your environment requires a more granular approach, you can use the Restrict Peer Discovery setting alongside the Download Mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [‘DODownloadMode’](waas-delivery-optimization-reference.md#download-mode) (1) and [‘DORestrictPeerSelection’](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)(Subnet). This setting can be used in conjunction with any of the peer-related Download Modes (1’, 2’, or ‘3’). +If your environment requires a more granular approach, you can use the Restrict Peer Discovery setting alongside the Download Mode to achieve more control. For example, if you have several different subnets behind the same NAT but want to limit your peer groups to a single subnet, choose [DODownloadMode](waas-delivery-optimization-reference.md#download-mode) (1) and [DORestrictPeerSelection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection)(Subnet). This setting can be used with any of the peer-related Download Modes (1, 2, or 3). ### Non-peering options -There are two valid Download Modes that do not leverage the peer-to-peer functionality to deliver content; Download Modes (0) and (99). Download Mode (0) provides hash checks of the requested content and allows for quick detection and recovery of corrupted data due to the use of piece level hash checks. Download Mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no additional checks. +There are two valid Download Modes that don't use the peer-to-peer functionality to deliver content; Download Modes (0) and (99). Download Mode (0) provides hash checks of the requested content and allows for quick detection and recovery of corrupted data due to the use of piece level hash checks. Download Mode (99) will provide a reliable download experience over HTTP from the download's original source or Microsoft, with no other checks. ### Peering with VPN -By default, if Delivery Optimization detects a VPN, peering will not be used. To enable this behavior, use the [‘DOAllowVPNPeerCaching’](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification use the [‘DOVpnKeywords’](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. Also related, there is a [‘DODisallowCacheServerDownloadsOnVPN*’](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) policy to prevent downloads from a cache server while on a VPN connection. +By default, if Delivery Optimization detects a VPN, peering is not used. To enable this behavior, use the [DOAllowVPNPeerCaching](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy. The Delivery Optimization Client looks in the network adapter’s ‘Description’ and ‘FriendlyName’ strings to determine VPN usage. To allow greater flexibility for VPN identification, use the [DOVpnKeywords](waas-delivery-optimization-reference.md#vpn-keywords) to add descriptors for a particular VPN. Also related, there's a [DODisallowCacheServerDownloadsOnVPN*](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) policy to prevent downloads from a cache server while on a VPN connection. ## Device counts :::image type="content" source="images/do-setup-device-counts.png" alt-text="Screenshot of Delivery Optimization device count considerations." lightbox="images/do-setup-device-counts.png"::: -Delivery Optimization is designed to perform best in a large-scale environment with many devices. Depending on the size of the environment, you should evaluate the value of the [‘DOMinFileSizeToCache’](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to optimize peering. +Delivery Optimization is designed to perform best in a large-scale environment with many devices. Depending on the size of the environment, you should evaluate the value of the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to optimize peering. ### Cache file size -Content peering has a limited number of slots available at any given time. By default, only content files that are 50MB or larger can be used for peering. In an environment with more than 30 devices, change the [‘DOMinFileSizeToCache’](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to a lower value (10MB), to have more content available for peering, which can be distributed among many devices. For an even larger number of devices (>100) you can raise this setting to (1MB). +Content peering has a limited number of slots available at any given time. By default, only content files that are 50 MB or larger can be used for peering. In an environment with more than 30 devices, change the [DOMinFileSizeToCache](waas-delivery-optimization-reference.md#minimum-peer-caching-content-file-size) to a lower value (10 MB), to have more content available for peering, which can be distributed among many devices. For an even larger number of devices (>100), you can raise this setting to (1 MB). ### Mobile devices -By default, peer-to-peer capabilities are not enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [‘DOMinBatteryPercentageAllowedToUpload’](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. +By default, peer-to-peer capabilities aren't enabled for devices using a battery. If there are many mobile devices in your environment, consider enabling the [DOMinBatteryPercentageAllowedToUpload](waas-delivery-optimization-reference.md#allow-uploads-while-the-device-is-on-battery-while-under-set-battery-level) policy to 60%, to use peering while on battery. ## System resources @@ -129,29 +129,29 @@ There are some Delivery Optimization configurations that can make an impact when ### Disk size -Alter the minimum disk size a device must have to use peering with the [‘DOMinDiskSizeAllowedToPeer’](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [‘DOMaxCacheSize’](waas-delivery-optimization-reference.md#max-cache-size)/[’DOAbsoluteMaxCacheSize’](waas-delivery-optimization-reference.md#absolute-max-cache-size). +Alter the minimum disk size a device must have to use peering with the [DOMinDiskSizeAllowedToPeer](waas-delivery-optimization-reference.md#minimum-disk-size-allowed-to-use-peer-caching) setting. You can also manage the amount of space the Delivery Optimization cache uses with the following settings: [DOMaxCacheSize](waas-delivery-optimization-reference.md#max-cache-size)/[DOAbsoluteMaxCacheSize](waas-delivery-optimization-reference.md#absolute-max-cache-size). ### RAM size -Control the minimum amount of RAM (inclusive) allowed to use peer caching, [‘DOMinRAMAllowedToPeer’](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). +Control the minimum amount of RAM (inclusive) allowed to use peer caching, [DOMinRAMAllowedToPeer](waas-delivery-optimization-reference.md#minimum-ram-inclusive-allowed-to-use-peer-caching). ### Large # of devices with healthy system resources -In a lab situation, you typically have set number of devices that are plugged in and have a lot of free disk space. By increasing the content expiration interval of [‘DOMaxCacheAge’](waas-delivery-optimization-reference.md#max-cache-age) to 7 or more (up to 30 days), you can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. +In a lab situation, there's typically a set number of devices that are plugged in and have ample free disk space. By increasing the content expiration interval of [DOMaxCacheAge](waas-delivery-optimization-reference.md#max-cache-age) to 7 or more (up to 30 days), you can take advantage of these devices, using them as excellent upload sources to upload more content over a longer period. ## Improve efficiencies :::image type="content" source="images/do-setup-improve-efficiencies.png" alt-text="Screenshot of Delivery Optimization improve efficiency considerations." lightbox="images/do-setup-improve-efficiencies.png"::: -Looking to improve efficiency? Some of the most powerful settings you can change that could have a big impact within your environment include: +Looking to improve efficiency? Some of the most powerful settings you can change that could have a significant impact within your environment include: -* Help optimize peer connection over HTTP connections using the [‘DOMinBackgroundQoS’](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for this is something lower than the average download speed seen in your network. For example, if your average speed is 1000KB/s, set this policy to 500KB/s. -* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of policies include: [‘DODelayBackgroundDownloadFromHttp’](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [‘DODelayForegroundDownloadFromHttp’](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs), [‘DelayCacheServerFallbackBackground*’](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs), [‘DelayCacheServerFallbackForeground*’](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs). For applicable scenarios (improving efficiency from peers or cache server) a good starting point is ’60 - 90’ seconds for the background settings and ’30 – 60’ for foreground settings. -* Reduce any disruptions and help to manage the timing of network usage by utilizing the business hours policies, [‘DOSetHoursToLimitForegroundDownloadBandwidth’](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth) and [‘DOSetHoursToLimitBackgroundDownloadBandwidth’](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth). -* Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [‘DOPercentageMaxForegroundBandwidth’](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[’DOPercentageMaxBackgroundBandwidth’](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [‘DOMaxBackgroundDownloadBandwidth’](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [‘DOMaxForegroundDownloadBandwidth’](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). +* Help optimize peer connection over HTTP connections using the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy. A good value for the [DOMinBackgroundQoS](waas-delivery-optimization-reference.md#minimum-background-qos) policy is something lower than the average download speed seen in your network. For example, if your average speed is 1000 KB/s, set this policy to 500 KB/s. +* Improve chances of downloading from peers and/or cache server by delaying the time DO attempts to make connections before falling back to the HTTP source. The set of policies include: [DODelayBackgroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-background-download-from-http-in-secs), [DODelayForegroundDownloadFromHttp](waas-delivery-optimization-reference.md#delay-foreground-download-from-http-in-secs), [DelayCacheServerFallbackBackground*](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs), [DelayCacheServerFallbackForeground*](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs). For applicable scenarios (improving efficiency from peers or cache server) a good starting point is ’60 - 90’ seconds for the background settings and ’30 – 60’ for foreground settings. +* Reduce any disruptions and help to manage the timing of network usage by utilizing the business hours policies, [DOSetHoursToLimitForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-foreground-download-bandwidth) and [DOSetHoursToLimitBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#set-business-hours-to-limit-background-download-bandwidth). +* Manage network usage as a percentage or absolute value (Note: The absolute policies are recommended in low bandwidth environments). These policies include: [DOPercentageMaxForegroundBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth)/[DOPercentageMaxBackgroundBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth), [DOMaxBackgroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-background-download-bandwidth-in-kbs), and [DOMaxForegroundDownloadBandwidth](waas-delivery-optimization-reference.md#maximum-foreground-download-bandwidth-in-kbs). > [!NOTE] -> Not all content types are not eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. +> Not all content types aren't eligible for P2P. Refer the [complete list](waas-delivery-optimization.md#types-of-download-content-supported-by-delivery-optimization) to learn more. ## Connected cache @@ -160,18 +160,18 @@ Looking to improve efficiency? Some of the most powerful settings you can change > [!NOTE] > When using the Connected Cache dedicated cache solution for your environment there are a handful of policies you should be aware of, some of which have been mentioned throughout this page (denoted with *). -* [‘DOCacheHost’](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cachehost server names, separated with commas. Delivery Optimization client will connect to the listed Microsoft Connected Cache servers in the order as they are listed. -* [‘DOCacheHostSource’](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cachehost servers on the network, using DHCP. -* [‘DelayCacheServerFallbackBackground’](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [‘DelayCacheServerFallbackForeground’](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cachehost servers. (See recommended values in ‘Improving Efficiencies’ section). -* [‘DODisallowCacheServerDownloadsOnVPN’](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cachehost server to supply content, when device is on a VPN connection. +* [DOCacheHost](waas-delivery-optimization-reference.md#cache-server-hostname) is the list of cache host server names, separated with commas. Delivery Optimization client connects to the listed Microsoft Connected Cache servers in the order as they're listed. +* [DOCacheHostSource](waas-delivery-optimization-reference.md#cache-server-hostname-source) can be used to dynamically discover cache host servers on the network, using DHCP. +* [DelayCacheServerFallbackBackground](waas-delivery-optimization-reference.md#delay-background-download-cache-server-fallback-in-secs) and [DelayCacheServerFallbackForeground](waas-delivery-optimization-reference.md#delay-foreground-download-cache-server-fallback-in-secs) are the delay policies to help improve chances of pulling content from the network cache host servers. (See recommended values in ‘Improving Efficiencies’ section). +* [DODisallowCacheServerDownloadsOnVPN](waas-delivery-optimization-reference.md#disallow-cache-server-downloads-on-vpn) allows control of the cache host server to supply content, when device is on a VPN connection. ## Monitor Delivery Optimization and Troubleshooting -Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you'll want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. +Whether you opt for the default Delivery Optimization configurations or tailor them to suit your environment, you will want to track the outcomes to see how they improve your efficiency. [Learn more](waas-delivery-optimization-monitor.md) about the monitoring options for Delivery Optimization. -## Troubleshooting +### Troubleshooting -### DO Troubleshooter +#### DO Troubleshooter [Check out](https://aka.ms/do-fix) the new Delivery Optimization Troubleshooter. This tool provides a device health check to verify the device is set up properly to use Delivery Optimization. To scope the output more specifically, use one of the available switches: @@ -221,7 +221,7 @@ Try these steps: 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're 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'll either see a connection error or a blinking cursor like this /_. The blinking cursor means success. +2. Run the test. For example, if you're on device with IP 192.168.8.12 and you're trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. When you 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. From b76dbc51a73a54df31e437d173713aa55829f121 Mon Sep 17 00:00:00 2001 From: Deepak-EDU <140197022+Deepak-EDU@users.noreply.github.com> Date: Thu, 27 Jun 2024 16:59:07 -0700 Subject: [PATCH 159/354] Update windows-11-se-overview.md --- education/windows/windows-11-se-overview.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/education/windows/windows-11-se-overview.md b/education/windows/windows-11-se-overview.md index 56477ff62e..30e70da005 100644 --- a/education/windows/windows-11-se-overview.md +++ b/education/windows/windows-11-se-overview.md @@ -103,7 +103,7 @@ The following applications can also run on Windows 11 SE, and can be deployed us | `DigiExam` | 14.1.0 | `Win32` | `Digiexam` | | `Digital Secure testing browser` | 15.0.0 | `Win32` | `Digiexam` | | `Dolphin Guide Connect` | 1.27 | `Win32` | `Dolphin Guide Connect` | -| `Dragon Professional Individual` | 15.00.100 | `Win32` | `Nuance Communications` | +| `Dragon Professional Individual` | 16.00.200.121 | `Win32` | `Nuance Communications` | | `DRC INSIGHT Online Assessments` | 14.0.0.0 | `Store` | `Data recognition Corporation` | | `Duo from Cisco` | 6.3.0 | `Win32` | `Cisco` | | `Dyknow` | 7.9.13.7 | `Win32` | `Dyknow` | @@ -114,7 +114,7 @@ The following applications can also run on Windows 11 SE, and can be deployed us | `ESET Endpoint Security` | 10.1.2046.0 | `Win32` | `ESET` | | `ESET Remote Administrator Agent` | 10.0.1126.0 | `Win32` | `ESET` | | `eTests` | 4.0.25 | `Win32` | `CASAS` | -| `Exam Writepad` | 23.12.10.1200 | `Win32` | `Sheldnet` | +| `Exam Writepad` | 24.4.1.1200 | `Win32` | `Sheldnet` | | `FirstVoices Keyboard` | 15.0.270 | `Win32` | `SIL International` | | `FortiClient` | 7.2.0.4034+ | `Win32` | `Fortinet` | | `Free NaturalReader` | 16.1.2 | `Win32` | `Natural Soft` | @@ -170,7 +170,7 @@ The following applications can also run on Windows 11 SE, and can be deployed us | `Remote Help` | 5.0.1311.0 | `Win32` | `Microsoft` | | `Respondus Lockdown Browser` | 2.1.1.05 | `Win32` | `Respondus` | | `Safe Exam Browser` | 3.5.0.544 | `Win32` | `Safe Exam Browser` | -|`SchoolYear` | 3.5.4 | `Win32` |`SchoolYear` | +|`SchoolYear` | 3.7.10 | `Win32` |`SchoolYear` | |`School Manager` | 3.6.10-1149 | `Win32` |`Linewize` | |`Schoolnet Secure Tester` | 2.1.0 | `Win32` |`School Net` | |`Scratch` | 3.0 | `Win32` |`MIT` | @@ -188,8 +188,8 @@ The following applications can also run on Windows 11 SE, and can be deployed us | `Windows SEB` | 3.4.0 | `Win32` | `Illinois Stateboard of Education` | | `Windows Notepad` | 12.0.78 | `Store` | `Microsoft Corporation` | | `Zoom` | 5.12.8 (10232) | `Win32` | `Zoom` | -| `ZoomText Fusion` | 2024.2310.13.400 | `Win32` | `Freedom Scientific` | -| `ZoomText Magnifier/Reader` | 2024.2312.26.400 | `Win32` | `Freedom Scientific` | +| `ZoomText Fusion` | 2024.2403.1.400 | `Win32` | `Freedom Scientific` | +| `ZoomText Magnifier/Reader` | 2024.2402.66.400 | `Win32` | `Freedom Scientific` | ## Add your own applications From e6176ae98d42d5dfcf0eb51a036aaaa09b8e8092 Mon Sep 17 00:00:00 2001 From: Deepak-EDU <140197022+Deepak-EDU@users.noreply.github.com> Date: Fri, 28 Jun 2024 11:15:21 -0700 Subject: [PATCH 160/354] Update windows-11-se-overview.md --- education/windows/windows-11-se-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/education/windows/windows-11-se-overview.md b/education/windows/windows-11-se-overview.md index 30e70da005..e5fd11df2b 100644 --- a/education/windows/windows-11-se-overview.md +++ b/education/windows/windows-11-se-overview.md @@ -128,7 +128,7 @@ The following applications can also run on Windows 11 SE, and can be deployed us | `IMT Lazarus` | 2.86.0 | `Win32` | `IMTLazarus` | | `Inprint` | 3.7.6 | `Win32` | `Inprint` | | `Inspiration 10` | 10.11 | `Win32` | `TechEdology Ltd` | -| `Instashare` | 1.3.13.0 | `Win32` | `Instashare` | +| `Instashare 2` | 1.3.13.0 | `Win32` | `BenQ` | | `JAWS for Windows` | 2024.2312.53 | `Win32` | `Freedom Scientific` | | `Kite Student Portal` | 9.0.0.0 | `Win32` | `Dynamic Learning Maps` | | `Keyman` | 16.0.142 | `Win32` | `SIL International` | From c515fadbe28f66a28a4d104baf514e9e3a0895c8 Mon Sep 17 00:00:00 2001 From: "Vinay Pamnani (from Dev Box)" Date: Fri, 28 Jun 2024 12:52:37 -0600 Subject: [PATCH 161/354] June 2024 CSP Updates --- .../mdm/activesync-ddf-file.md | 4 +- .../mdm/applicationcontrol-csp-ddf.md | 4 +- .../mdm/applocker-ddf-file.md | 4 +- .../mdm/assignedaccess-ddf.md | 4 +- .../mdm/bitlocker-ddf-file.md | 4 +- .../mdm/certificatestore-ddf-file.md | 4 +- .../mdm/clientcertificateinstall-ddf-file.md | 6 +- .../mdm/clouddesktop-ddf-file.md | 6 +- .../mdm/declaredconfiguration-ddf-file.md | 4 +- windows/client-management/mdm/defender-ddf.md | 4 +- .../mdm/devdetail-ddf-file.md | 4 +- .../mdm/devicemanageability-ddf.md | 4 +- .../mdm/devicepreparation-ddf-file.md | 4 +- .../client-management/mdm/devicestatus-ddf.md | 4 +- .../client-management/mdm/devinfo-ddf-file.md | 4 +- .../mdm/diagnosticlog-ddf.md | 4 +- .../client-management/mdm/dmacc-ddf-file.md | 4 +- windows/client-management/mdm/dmclient-csp.md | 6 +- .../mdm/dmclient-ddf-file.md | 10 +- .../client-management/mdm/email2-ddf-file.md | 4 +- ...enterprisedesktopappmanagement-ddf-file.md | 6 +- .../mdm/enterprisemodernappmanagement-ddf.md | 6 +- .../client-management/mdm/euiccs-ddf-file.md | 4 +- .../mdm/firewall-ddf-file.md | 4 +- .../mdm/healthattestation-ddf.md | 4 +- .../mdm/language-pack-management-ddf-file.md | 4 +- .../client-management/mdm/laps-ddf-file.md | 4 +- .../client-management/mdm/networkproxy-ddf.md | 4 +- .../mdm/networkqospolicy-ddf.md | 4 +- .../mdm/nodecache-ddf-file.md | 6 +- windows/client-management/mdm/office-ddf.md | 6 +- .../mdm/passportforwork-ddf.md | 8 +- .../mdm/personaldataencryption-ddf-file.md | 4 +- .../mdm/personalization-ddf.md | 4 +- .../mdm/policies-in-policy-csp-admx-backed.md | 5 +- ...in-policy-csp-supported-by-group-policy.md | 7 +- .../mdm/policy-csp-admx-terminalserver.md | 52 +---- .../mdm/policy-csp-admx-windowsexplorer.md | 52 ++++- .../mdm/policy-csp-defender.md | 8 +- .../mdm/policy-csp-privacy.md | 203 +++++++++++++++++- .../mdm/policy-csp-remotedesktopservices.md | 56 ++++- .../mdm/policy-csp-windowsai.md | 74 +------ .../mdm/printerprovisioning-ddf-file.md | 4 +- .../client-management/mdm/reboot-ddf-file.md | 4 +- .../mdm/rootcacertificates-ddf-file.md | 6 +- .../mdm/secureassessment-ddf-file.md | 4 +- .../mdm/sharedpc-ddf-file.md | 4 +- .../client-management/mdm/supl-ddf-file.md | 4 +- .../client-management/mdm/vpnv2-ddf-file.md | 6 +- .../client-management/mdm/wifi-ddf-file.md | 6 +- ...indowsdefenderapplicationguard-ddf-file.md | 4 +- .../mdm/windowslicensing-ddf-file.md | 4 +- .../mdm/wirednetwork-ddf-file.md | 6 +- 53 files changed, 429 insertions(+), 240 deletions(-) diff --git a/windows/client-management/mdm/activesync-ddf-file.md b/windows/client-management/mdm/activesync-ddf-file.md index e3debc8c7e..99038f75e0 100644 --- a/windows/client-management/mdm/activesync-ddf-file.md +++ b/windows/client-management/mdm/activesync-ddf-file.md @@ -1,7 +1,7 @@ --- title: ActiveSync DDF file description: View the XML file containing the device description framework (DDF) for the ActiveSync configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/applicationcontrol-csp-ddf.md b/windows/client-management/mdm/applicationcontrol-csp-ddf.md index e701a8b0ec..8b27862509 100644 --- a/windows/client-management/mdm/applicationcontrol-csp-ddf.md +++ b/windows/client-management/mdm/applicationcontrol-csp-ddf.md @@ -1,7 +1,7 @@ --- title: ApplicationControl DDF file description: View the XML file containing the device description framework (DDF) for the ApplicationControl configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.18362 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/applocker-ddf-file.md b/windows/client-management/mdm/applocker-ddf-file.md index c8d03d6d27..9d1ededd2a 100644 --- a/windows/client-management/mdm/applocker-ddf-file.md +++ b/windows/client-management/mdm/applocker-ddf-file.md @@ -1,7 +1,7 @@ --- title: AppLocker DDF file description: View the XML file containing the device description framework (DDF) for the AppLocker configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/assignedaccess-ddf.md b/windows/client-management/mdm/assignedaccess-ddf.md index 8bc008e978..81d21dbfab 100644 --- a/windows/client-management/mdm/assignedaccess-ddf.md +++ b/windows/client-management/mdm/assignedaccess-ddf.md @@ -1,7 +1,7 @@ --- title: AssignedAccess DDF file description: View the XML file containing the device description framework (DDF) for the AssignedAccess configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the A 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/bitlocker-ddf-file.md b/windows/client-management/mdm/bitlocker-ddf-file.md index 6015905cf3..51e2260bba 100644 --- a/windows/client-management/mdm/bitlocker-ddf-file.md +++ b/windows/client-management/mdm/bitlocker-ddf-file.md @@ -1,7 +1,7 @@ --- title: BitLocker DDF file description: View the XML file containing the device description framework (DDF) for the BitLocker configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the B 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/certificatestore-ddf-file.md b/windows/client-management/mdm/certificatestore-ddf-file.md index 8ab2380099..b552ae24ad 100644 --- a/windows/client-management/mdm/certificatestore-ddf-file.md +++ b/windows/client-management/mdm/certificatestore-ddf-file.md @@ -1,7 +1,7 @@ --- title: CertificateStore DDF file description: View the XML file containing the device description framework (DDF) for the CertificateStore configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the C 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/clientcertificateinstall-ddf-file.md b/windows/client-management/mdm/clientcertificateinstall-ddf-file.md index c77ddb1695..20bf836b45 100644 --- a/windows/client-management/mdm/clientcertificateinstall-ddf-file.md +++ b/windows/client-management/mdm/clientcertificateinstall-ddf-file.md @@ -1,7 +1,7 @@ --- title: ClientCertificateInstall DDF file description: View the XML file containing the device description framework (DDF) for the ClientCertificateInstall configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the C 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -1162,7 +1162,7 @@ Valid values are: 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/clouddesktop-ddf-file.md b/windows/client-management/mdm/clouddesktop-ddf-file.md index 6efe3ed695..776f55aac6 100644 --- a/windows/client-management/mdm/clouddesktop-ddf-file.md +++ b/windows/client-management/mdm/clouddesktop-ddf-file.md @@ -1,7 +1,7 @@ --- title: CloudDesktop DDF file description: View the XML file containing the device description framework (DDF) for the CloudDesktop configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the C 99.9.99999 2.0 - 0x4;0x30;0x31;0x7E;0x87;0x88;0x88*;0xA1;0xA2;0xA4;0xA5;0xB4;0xBC;0xBD;0xBF; + 0x4;0x30;0x31;0x7E;0x88;0xA1;0xA2;0xA4;0xA5;0xBC;0xBF;0xCD; @@ -103,7 +103,7 @@ The following XML file contains the device description framework (DDF) for the C 10.0.22621.3235 1.0 - 0x4;0x30;0x31;0x7E;0x87;0x88;0x88*;0xA1;0xA2;0xA4;0xA5;0xB4;0xBC;0xBD;0xBF; + 0x4;0x30;0x31;0x7E;0x88;0xA1;0xA2;0xA4;0xA5;0xBC;0xBF;0xCD; diff --git a/windows/client-management/mdm/declaredconfiguration-ddf-file.md b/windows/client-management/mdm/declaredconfiguration-ddf-file.md index 031be873a8..07e2e406e6 100644 --- a/windows/client-management/mdm/declaredconfiguration-ddf-file.md +++ b/windows/client-management/mdm/declaredconfiguration-ddf-file.md @@ -1,7 +1,7 @@ --- title: DeclaredConfiguration DDF file description: View the XML file containing the device description framework (DDF) for the DeclaredConfiguration configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 99.9.99999 9.9 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/defender-ddf.md b/windows/client-management/mdm/defender-ddf.md index e5da0f2590..f286ba947c 100644 --- a/windows/client-management/mdm/defender-ddf.md +++ b/windows/client-management/mdm/defender-ddf.md @@ -1,7 +1,7 @@ --- title: Defender DDF file description: View the XML file containing the device description framework (DDF) for the Defender configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/devdetail-ddf-file.md b/windows/client-management/mdm/devdetail-ddf-file.md index 8e200f88b4..c7b1a08470 100644 --- a/windows/client-management/mdm/devdetail-ddf-file.md +++ b/windows/client-management/mdm/devdetail-ddf-file.md @@ -1,7 +1,7 @@ --- title: DevDetail DDF file description: View the XML file containing the device description framework (DDF) for the DevDetail configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/devicemanageability-ddf.md b/windows/client-management/mdm/devicemanageability-ddf.md index 59cd0e48a0..4769870f2a 100644 --- a/windows/client-management/mdm/devicemanageability-ddf.md +++ b/windows/client-management/mdm/devicemanageability-ddf.md @@ -1,7 +1,7 @@ --- title: DeviceManageability DDF file description: View the XML file containing the device description framework (DDF) for the DeviceManageability configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.14393 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/devicepreparation-ddf-file.md b/windows/client-management/mdm/devicepreparation-ddf-file.md index be9a944b76..903c08866d 100644 --- a/windows/client-management/mdm/devicepreparation-ddf-file.md +++ b/windows/client-management/mdm/devicepreparation-ddf-file.md @@ -1,7 +1,7 @@ --- title: DevicePreparation DDF file description: View the XML file containing the device description framework (DDF) for the DevicePreparation configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 99.9.99999 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/devicestatus-ddf.md b/windows/client-management/mdm/devicestatus-ddf.md index ae20b8e258..0e02205007 100644 --- a/windows/client-management/mdm/devicestatus-ddf.md +++ b/windows/client-management/mdm/devicestatus-ddf.md @@ -1,7 +1,7 @@ --- title: DeviceStatus DDF file description: View the XML file containing the device description framework (DDF) for the DeviceStatus configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/devinfo-ddf-file.md b/windows/client-management/mdm/devinfo-ddf-file.md index b2d6f8ed7f..a57636514a 100644 --- a/windows/client-management/mdm/devinfo-ddf-file.md +++ b/windows/client-management/mdm/devinfo-ddf-file.md @@ -1,7 +1,7 @@ --- title: DevInfo DDF file description: View the XML file containing the device description framework (DDF) for the DevInfo configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -41,7 +41,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/diagnosticlog-ddf.md b/windows/client-management/mdm/diagnosticlog-ddf.md index eef6af498d..03887d47c3 100644 --- a/windows/client-management/mdm/diagnosticlog-ddf.md +++ b/windows/client-management/mdm/diagnosticlog-ddf.md @@ -1,7 +1,7 @@ --- title: DiagnosticLog DDF file description: View the XML file containing the device description framework (DDF) for the DiagnosticLog configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.2 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/dmacc-ddf-file.md b/windows/client-management/mdm/dmacc-ddf-file.md index a0fee28b12..15fc5f3231 100644 --- a/windows/client-management/mdm/dmacc-ddf-file.md +++ b/windows/client-management/mdm/dmacc-ddf-file.md @@ -1,7 +1,7 @@ --- title: DMAcc DDF file description: View the XML file containing the device description framework (DDF) for the DMAcc configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/dmclient-csp.md b/windows/client-management/mdm/dmclient-csp.md index dec09993f5..6011d8d162 100644 --- a/windows/client-management/mdm/dmclient-csp.md +++ b/windows/client-management/mdm/dmclient-csp.md @@ -1,7 +1,7 @@ --- title: DMClient CSP description: Learn more about the DMClient CSP. -ms.date: 04/10/2024 +ms.date: 06/28/2024 --- @@ -745,8 +745,8 @@ This node determines whether or not a periodic settings refresh for MDM policies | Value | Description | |:--|:--| -| true | ConfigRefresh is enabled. | -| false (Default) | ConfigRefresh is disabled. | +| true | Enabled. | +| false (Default) | Disabled. | diff --git a/windows/client-management/mdm/dmclient-ddf-file.md b/windows/client-management/mdm/dmclient-ddf-file.md index c30288ba23..b82d0fe21b 100644 --- a/windows/client-management/mdm/dmclient-ddf-file.md +++ b/windows/client-management/mdm/dmclient-ddf-file.md @@ -1,7 +1,7 @@ --- title: DMClient DDF file description: View the XML file containing the device description framework (DDF) for the DMClient configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -477,7 +477,7 @@ The following XML file contains the device description framework (DDF) for the D 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -2988,11 +2988,11 @@ The following XML file contains the device description framework (DDF) for the D true - ConfigRefresh is enabled. + Enabled false - ConfigRefresh is disabled. + Disabled LastWrite diff --git a/windows/client-management/mdm/email2-ddf-file.md b/windows/client-management/mdm/email2-ddf-file.md index a770191467..144f69b17d 100644 --- a/windows/client-management/mdm/email2-ddf-file.md +++ b/windows/client-management/mdm/email2-ddf-file.md @@ -1,7 +1,7 @@ --- title: EMAIL2 DDF file description: View the XML file containing the device description framework (DDF) for the EMAIL2 configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md b/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md index c3304851f0..ba537d72e7 100644 --- a/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md +++ b/windows/client-management/mdm/enterprisedesktopappmanagement-ddf-file.md @@ -1,7 +1,7 @@ --- title: EnterpriseDesktopAppManagement DDF file description: View the XML file containing the device description framework (DDF) for the EnterpriseDesktopAppManagement configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; @@ -401,7 +401,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md b/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md index 5b6b0433ae..e3199dc618 100644 --- a/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md +++ b/windows/client-management/mdm/enterprisemodernappmanagement-ddf.md @@ -1,7 +1,7 @@ --- title: EnterpriseModernAppManagement DDF file description: View the XML file containing the device description framework (DDF) for the EnterpriseModernAppManagement configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; @@ -2587,7 +2587,7 @@ The following XML file contains the device description framework (DDF) for the E 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/euiccs-ddf-file.md b/windows/client-management/mdm/euiccs-ddf-file.md index 09e6e5f725..6a148a8d22 100644 --- a/windows/client-management/mdm/euiccs-ddf-file.md +++ b/windows/client-management/mdm/euiccs-ddf-file.md @@ -1,7 +1,7 @@ --- title: eUICCs DDF file description: View the XML file containing the device description framework (DDF) for the eUICCs configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -43,7 +43,7 @@ The following XML file contains the device description framework (DDF) for the e 10.0.16299 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/firewall-ddf-file.md b/windows/client-management/mdm/firewall-ddf-file.md index 2fd47c663c..e48568b2b5 100644 --- a/windows/client-management/mdm/firewall-ddf-file.md +++ b/windows/client-management/mdm/firewall-ddf-file.md @@ -1,7 +1,7 @@ --- title: Firewall DDF file description: View the XML file containing the device description framework (DDF) for the Firewall configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the F 10.0.16299 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/healthattestation-ddf.md b/windows/client-management/mdm/healthattestation-ddf.md index 3b2c4265ae..0c9d382872 100644 --- a/windows/client-management/mdm/healthattestation-ddf.md +++ b/windows/client-management/mdm/healthattestation-ddf.md @@ -1,7 +1,7 @@ --- title: HealthAttestation DDF file description: View the XML file containing the device description framework (DDF) for the HealthAttestation configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the H 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/language-pack-management-ddf-file.md b/windows/client-management/mdm/language-pack-management-ddf-file.md index 0d5661484f..3739f4f142 100644 --- a/windows/client-management/mdm/language-pack-management-ddf-file.md +++ b/windows/client-management/mdm/language-pack-management-ddf-file.md @@ -1,7 +1,7 @@ --- title: LanguagePackManagement DDF file description: View the XML file containing the device description framework (DDF) for the LanguagePackManagement configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the L 99.9.9999 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/laps-ddf-file.md b/windows/client-management/mdm/laps-ddf-file.md index 075ff51663..5d06e470a6 100644 --- a/windows/client-management/mdm/laps-ddf-file.md +++ b/windows/client-management/mdm/laps-ddf-file.md @@ -1,7 +1,7 @@ --- title: LAPS DDF file description: View the XML file containing the device description framework (DDF) for the LAPS configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the L 10.0.25145, 10.0.22621.1480, 10.0.22000.1754, 10.0.20348.1663, 10.0.19041.2784, 10.0.17763.4244 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/networkproxy-ddf.md b/windows/client-management/mdm/networkproxy-ddf.md index 41f2ea80ba..4448901798 100644 --- a/windows/client-management/mdm/networkproxy-ddf.md +++ b/windows/client-management/mdm/networkproxy-ddf.md @@ -1,7 +1,7 @@ --- title: NetworkProxy DDF file description: View the XML file containing the device description framework (DDF) for the NetworkProxy configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/networkqospolicy-ddf.md b/windows/client-management/mdm/networkqospolicy-ddf.md index abcaba4547..04b4528ac6 100644 --- a/windows/client-management/mdm/networkqospolicy-ddf.md +++ b/windows/client-management/mdm/networkqospolicy-ddf.md @@ -1,7 +1,7 @@ --- title: NetworkQoSPolicy DDF file description: View the XML file containing the device description framework (DDF) for the NetworkQoSPolicy configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.19042 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/nodecache-ddf-file.md b/windows/client-management/mdm/nodecache-ddf-file.md index 996cc4512c..4d442904e4 100644 --- a/windows/client-management/mdm/nodecache-ddf-file.md +++ b/windows/client-management/mdm/nodecache-ddf-file.md @@ -1,7 +1,7 @@ --- title: NodeCache DDF file description: View the XML file containing the device description framework (DDF) for the NodeCache configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.15063 1.1 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -294,7 +294,7 @@ The following XML file contains the device description framework (DDF) for the N 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/office-ddf.md b/windows/client-management/mdm/office-ddf.md index d9dd3ecaa7..e36405ce71 100644 --- a/windows/client-management/mdm/office-ddf.md +++ b/windows/client-management/mdm/office-ddf.md @@ -1,7 +1,7 @@ --- title: Office DDF file description: View the XML file containing the device description framework (DDF) for the Office configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the O 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; @@ -211,7 +211,7 @@ The following XML file contains the device description framework (DDF) for the O 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/passportforwork-ddf.md b/windows/client-management/mdm/passportforwork-ddf.md index d80b42baec..c94b22aed5 100644 --- a/windows/client-management/mdm/passportforwork-ddf.md +++ b/windows/client-management/mdm/passportforwork-ddf.md @@ -1,7 +1,7 @@ --- title: PassportForWork DDF file description: View the XML file containing the device description framework (DDF) for the PassportForWork configuration service provider. -ms.date: 06/21/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.10586 1.2 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -565,7 +565,7 @@ If you do not configure this policy setting, Windows Hello for Business requires 10.0.10586 1.2 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -895,7 +895,7 @@ If you disable or do not configure this policy setting, the PIN recovery secret False - Windows Hello for Business can use certificates to authenticate to on-premise resources. + Windows Hello for Business can use certificates to authenticate to on-premise resources. If you enable this policy setting, Windows Hello for Business will wait until the device has received a certificate payload from the mobile device management server before provisioning a PIN. diff --git a/windows/client-management/mdm/personaldataencryption-ddf-file.md b/windows/client-management/mdm/personaldataencryption-ddf-file.md index 5b3b1d0111..165f97507c 100644 --- a/windows/client-management/mdm/personaldataencryption-ddf-file.md +++ b/windows/client-management/mdm/personaldataencryption-ddf-file.md @@ -1,7 +1,7 @@ --- title: PDE DDF file description: View the XML file containing the device description framework (DDF) for the PDE configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.22621 1.0 - 0x4;0x1B;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF; + 0x4;0x1B;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0xAB;0xAC;0xBC;0xBF;0xCD;0xCF; diff --git a/windows/client-management/mdm/personalization-ddf.md b/windows/client-management/mdm/personalization-ddf.md index 5f6b982951..5a52a16784 100644 --- a/windows/client-management/mdm/personalization-ddf.md +++ b/windows/client-management/mdm/personalization-ddf.md @@ -1,7 +1,7 @@ --- title: Personalization DDF file description: View the XML file containing the device description framework (DDF) for the Personalization configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.16299 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md b/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md index 773526f0c6..3c0d28e2e6 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md +++ b/windows/client-management/mdm/policies-in-policy-csp-admx-backed.md @@ -1,7 +1,7 @@ --- title: ADMX-backed policies in Policy CSP description: Learn about the ADMX-backed policies in Policy CSP. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -1663,7 +1663,6 @@ This article lists the ADMX-backed policies in Policy CSP. - [TS_NoSecurityMenu](policy-csp-admx-terminalserver.md) - [TS_START_PROGRAM_2](policy-csp-admx-terminalserver.md) - [TS_SERVER_ADVANCED_REMOTEFX_REMOTEAPP](policy-csp-admx-terminalserver.md) -- [TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME](policy-csp-admx-terminalserver.md) - [TS_DX_USE_FULL_HWGPU](policy-csp-admx-terminalserver.md) - [TS_SERVER_WDDM_GRAPHICS_DRIVER](policy-csp-admx-terminalserver.md) - [TS_TSCC_PERMISSIONS_POLICY](policy-csp-admx-terminalserver.md) @@ -1944,6 +1943,7 @@ This article lists the ADMX-backed policies in Policy CSP. - [IZ_Policy_OpenSearchQuery_Trusted](policy-csp-admx-windowsexplorer.md) - [IZ_Policy_OpenSearchPreview_Trusted](policy-csp-admx-windowsexplorer.md) - [EnableShellShortcutIconRemotePath](policy-csp-admx-windowsexplorer.md) +- [DisableMotWOnInsecurePathCopy](policy-csp-admx-windowsexplorer.md) - [EnableSmartScreen](policy-csp-admx-windowsexplorer.md) - [NoNewAppAlert](policy-csp-admx-windowsexplorer.md) - [ShowHibernateOption](policy-csp-admx-windowsexplorer.md) @@ -2539,6 +2539,7 @@ This article lists the ADMX-backed policies in Policy CSP. - [DoNotAllowWebAuthnRedirection](policy-csp-remotedesktopservices.md) - [DisconnectOnLockLegacyAuthn](policy-csp-remotedesktopservices.md) - [DisconnectOnLockMicrosoftIdentityAuthn](policy-csp-remotedesktopservices.md) +- [TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME](policy-csp-remotedesktopservices.md) ## RemoteManagement diff --git a/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md b/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md index 74c2d24c74..a9bd1aa0ed 100644 --- a/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md +++ b/windows/client-management/mdm/policies-in-policy-csp-supported-by-group-policy.md @@ -1,7 +1,7 @@ --- title: Policies in Policy CSP supported by Group Policy description: Learn about the policies in Policy CSP supported by Group Policy. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -530,6 +530,10 @@ This article lists the policies in Policy CSP that have a group policy mapping. - [LetAppsAccessEmail_ForceAllowTheseApps](policy-csp-privacy.md) - [LetAppsAccessEmail_ForceDenyTheseApps](policy-csp-privacy.md) - [LetAppsAccessEmail_UserInControlOfTheseApps](policy-csp-privacy.md) +- [LetAppsAccessGenerativeAI](policy-csp-privacy.md) +- [LetAppsAccessGenerativeAI_ForceAllowTheseApps](policy-csp-privacy.md) +- [LetAppsAccessGenerativeAI_ForceDenyTheseApps](policy-csp-privacy.md) +- [LetAppsAccessGenerativeAI_UserInControlOfTheseApps](policy-csp-privacy.md) - [LetAppsAccessGraphicsCaptureProgrammatic](policy-csp-privacy.md) - [LetAppsAccessGraphicsCaptureProgrammatic_ForceAllowTheseApps](policy-csp-privacy.md) - [LetAppsAccessGraphicsCaptureProgrammatic_ForceDenyTheseApps](policy-csp-privacy.md) @@ -873,7 +877,6 @@ This article lists the policies in Policy CSP that have a group policy mapping. - [TurnOffWindowsCopilot](policy-csp-windowsai.md) - [DisableAIDataAnalysis](policy-csp-windowsai.md) -- [AllowImageCreator](policy-csp-windowsai.md) ## WindowsDefenderSecurityCenter diff --git a/windows/client-management/mdm/policy-csp-admx-terminalserver.md b/windows/client-management/mdm/policy-csp-admx-terminalserver.md index 9209e4e647..42757e235e 100644 --- a/windows/client-management/mdm/policy-csp-admx-terminalserver.md +++ b/windows/client-management/mdm/policy-csp-admx-terminalserver.md @@ -1,7 +1,7 @@ --- title: ADMX_TerminalServer Policy CSP description: Learn more about the ADMX_TerminalServer Area in Policy CSP. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -4109,56 +4109,6 @@ This policy setting allows the administrator to configure the RemoteFX experienc - -## TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME - - -| Scope | Editions | Applicable OS | -|:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | - - - -```Device -./Device/Vendor/MSFT/Policy/Config/ADMX_TerminalServer/TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME -``` - - - - - - - - - - - -**Description framework properties**: - -| Property name | Property value | -|:--|:--| -| Format | `chr` (string) | -| Access Type | Add, Delete, Get, Replace | - - - - -[!INCLUDE [ADMX-backed policy note](includes/mdm-admx-policy-note.md)] - -**ADMX mapping**: - -| Name | Value | -|:--|:--| -| Name | TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME | -| ADMX File Name | TerminalServer.admx | - - - - - - - - ## TS_SERVER_VISEXP diff --git a/windows/client-management/mdm/policy-csp-admx-windowsexplorer.md b/windows/client-management/mdm/policy-csp-admx-windowsexplorer.md index 7fe9bd9679..aa8dc35733 100644 --- a/windows/client-management/mdm/policy-csp-admx-windowsexplorer.md +++ b/windows/client-management/mdm/policy-csp-admx-windowsexplorer.md @@ -1,7 +1,7 @@ --- title: ADMX_WindowsExplorer Policy CSP description: Learn more about the ADMX_WindowsExplorer Area in Policy CSP. -ms.date: 01/18/2024 +ms.date: 06/28/2024 --- @@ -456,6 +456,56 @@ You can specify a known folder using its known folder id or using its canonical + +## DisableMotWOnInsecurePathCopy + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 10, version 2004 [10.0.19041.1202] and later
    ✅ Windows 10, version 2009 [10.0.19042.1202] and later
    ✅ Windows 10, version 21H1 [10.0.19043.1202] and later
    ✅ Windows 11, version 21H2 [10.0.22000] and later | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/ADMX_WindowsExplorer/DisableMotWOnInsecurePathCopy +``` + + + + + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | + + + + +[!INCLUDE [ADMX-backed policy note](includes/mdm-admx-policy-note.md)] + +**ADMX mapping**: + +| Name | Value | +|:--|:--| +| Name | DisableMotWOnInsecurePathCopy | +| ADMX File Name | WindowsExplorer.admx | + + + + + + + + ## DisableSearchBoxSuggestions diff --git a/windows/client-management/mdm/policy-csp-defender.md b/windows/client-management/mdm/policy-csp-defender.md index ba4d3d7bde..a790f24a26 100644 --- a/windows/client-management/mdm/policy-csp-defender.md +++ b/windows/client-management/mdm/policy-csp-defender.md @@ -1,7 +1,7 @@ --- title: Defender Policy CSP description: Learn more about the Defender Area in Policy CSP. -ms.date: 01/18/2024 +ms.date: 06/28/2024 --- @@ -402,7 +402,7 @@ This policy setting allows you to manage whether or not to scan for malicious so |:--|:--| | Format | `int` | | Access Type | Add, Delete, Get, Replace | -| Default Value | 1 | +| Default Value | 0 | @@ -410,8 +410,8 @@ This policy setting allows you to manage whether or not to scan for malicious so | Value | Description | |:--|:--| -| 0 | Not allowed. Turns off scanning on removable drives. | -| 1 (Default) | Allowed. Scans removable drives. | +| 0 (Default) | Not allowed. Turns off scanning on removable drives. | +| 1 | Allowed. Scans removable drives. | diff --git a/windows/client-management/mdm/policy-csp-privacy.md b/windows/client-management/mdm/policy-csp-privacy.md index 4713b9e21b..ade6bf6cb1 100644 --- a/windows/client-management/mdm/policy-csp-privacy.md +++ b/windows/client-management/mdm/policy-csp-privacy.md @@ -1,7 +1,7 @@ --- title: Privacy Policy CSP description: Learn more about the Privacy Area in Policy CSP. -ms.date: 06/21/2024 +ms.date: 06/28/2024 --- @@ -2398,6 +2398,207 @@ List of semi-colon delimited Package Family Names of Windows Store Apps. The use + +## LetAppsAccessGenerativeAI + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 21H2 [10.0.22000] and later | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/Privacy/LetAppsAccessGenerativeAI +``` + + + + +This policy setting specifies whether Windows apps can use generative AI features of Windows. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `int` | +| Access Type | Add, Delete, Get, Replace | +| Allowed Values | Range: `[0-2]` | +| Default Value | 0 | + + + +**Group policy mapping**: + +| Name | Value | +|:--|:--| +| Name | LetAppsAccessGenerativeAI | +| Path | AppPrivacy > AT > WindowsComponents > AppPrivacy | +| Element Name | LetAppsAccessGenerativeAI_Enum | + + + + + + + + + +## LetAppsAccessGenerativeAI_ForceAllowTheseApps + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 21H2 [10.0.22000] and later | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/Privacy/LetAppsAccessGenerativeAI_ForceAllowTheseApps +``` + + + + +List of semi-colon delimited Package Family Names of Microsoft Store Apps. Listed apps are allowed to use generative AI features of Windows. This setting overrides the default LetAppsAccessGenerativeAI policy setting for the specified apps. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | +| Allowed Values | List (Delimiter: `;`) | + + + +**Group policy mapping**: + +| Name | Value | +|:--|:--| +| Name | LetAppsAccessGenerativeAI | +| Path | AppPrivacy > AT > WindowsComponents > AppPrivacy | +| Element Name | LetAppsAccessGenerativeAI_ForceAllowTheseApps_List | + + + + + + + + + +## LetAppsAccessGenerativeAI_ForceDenyTheseApps + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 21H2 [10.0.22000] and later | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/Privacy/LetAppsAccessGenerativeAI_ForceDenyTheseApps +``` + + + + +List of semi-colon delimited Package Family Names of Microsoft Store Apps. Listed apps are denied the use generative AI features of Windows. This setting overrides the default LetAppsAccessGenerativeAI policy setting for the specified apps. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | +| Allowed Values | List (Delimiter: `;`) | + + + +**Group policy mapping**: + +| Name | Value | +|:--|:--| +| Name | LetAppsAccessGenerativeAI | +| Path | AppPrivacy > AT > WindowsComponents > AppPrivacy | +| Element Name | LetAppsAccessGenerativeAI_ForceDenyTheseApps_List | + + + + + + + + + +## LetAppsAccessGenerativeAI_UserInControlOfTheseApps + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows 11, version 21H2 [10.0.22000] and later | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/Privacy/LetAppsAccessGenerativeAI_UserInControlOfTheseApps +``` + + + + +List of semi-colon delimited Package Family Names of Microsoft Store Apps. The user is able to control the generative AI setting for the listed apps. This setting overrides the default LetAppsAccessGenerativeAI policy setting for the specified apps. + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | +| Allowed Values | List (Delimiter: `;`) | + + + +**Group policy mapping**: + +| Name | Value | +|:--|:--| +| Name | LetAppsAccessGenerativeAI | +| Path | AppPrivacy > AT > WindowsComponents > AppPrivacy | +| Element Name | LetAppsAccessGenerativeAI_UserInControlOfTheseApps_List | + + + + + + + + ## LetAppsAccessGraphicsCaptureProgrammatic diff --git a/windows/client-management/mdm/policy-csp-remotedesktopservices.md b/windows/client-management/mdm/policy-csp-remotedesktopservices.md index 6a06309613..4e865bd15f 100644 --- a/windows/client-management/mdm/policy-csp-remotedesktopservices.md +++ b/windows/client-management/mdm/policy-csp-remotedesktopservices.md @@ -1,7 +1,7 @@ --- title: RemoteDesktopServices Policy CSP description: Learn more about the RemoteDesktopServices Area in Policy CSP. -ms.date: 06/21/2024 +ms.date: 06/28/2024 --- @@ -439,7 +439,7 @@ By default, Remote Desktop allows redirection of WebAuthn requests. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ [10.0.25398.827] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2523] and later
    ✅ [10.0.25398.946] and later
    ✅ Windows 11, version 21H2 [10.0.22000.3014] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3672] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3672] and later
    ✅ Windows Insider Preview | @@ -493,7 +493,7 @@ By default, Remote Desktop allows redirection of WebAuthn requests. | Scope | Editions | Applicable OS | |:--|:--|:--| -| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ [10.0.25398.827] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | +| ✅ Device
    ✅ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2523] and later
    ✅ [10.0.25398.946] and later
    ✅ Windows 11, version 21H2 [10.0.22000.3014] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3672] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3672] and later
    ✅ Windows Insider Preview | @@ -672,6 +672,56 @@ If the status is set to Not Configured, unsecured communication is allowed. + +## TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME + + +| Scope | Editions | Applicable OS | +|:--|:--|:--| +| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ [10.0.20348.2400] and later
    ✅ [10.0.25398.827] and later
    ✅ Windows 11, version 21H2 [10.0.22000.2898] and later
    ✅ Windows 11, version 22H2 [10.0.22621.3374] and later
    ✅ Windows 11, version 23H2 [10.0.22631.3374] and later
    ✅ Windows Insider Preview | + + + +```Device +./Device/Vendor/MSFT/Policy/Config/RemoteDesktopServices/TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME +``` + + + + + + + + + + + +**Description framework properties**: + +| Property name | Property value | +|:--|:--| +| Format | `chr` (string) | +| Access Type | Add, Delete, Get, Replace | + + + + +[!INCLUDE [ADMX-backed policy note](includes/mdm-admx-policy-note.md)] + +**ADMX mapping**: + +| Name | Value | +|:--|:--| +| Name | TS_SERVER_REMOTEAPP_USE_SHELLAPPRUNTIME | +| ADMX File Name | TerminalServer.admx | + + + + + + + + diff --git a/windows/client-management/mdm/policy-csp-windowsai.md b/windows/client-management/mdm/policy-csp-windowsai.md index 8f672a114e..c971a471a8 100644 --- a/windows/client-management/mdm/policy-csp-windowsai.md +++ b/windows/client-management/mdm/policy-csp-windowsai.md @@ -1,7 +1,7 @@ --- title: WindowsAI Policy CSP description: Learn more about the WindowsAI Area in Policy CSP. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -15,68 +15,6 @@ ms.date: 06/19/2024 - -## AllowImageCreator - - -| Scope | Editions | Applicable OS | -|:--|:--|:--| -| ✅ Device
    ❌ User | ✅ Pro
    ✅ Enterprise
    ✅ Education
    ✅ Windows SE
    ✅ IoT Enterprise / IoT Enterprise LTSC | ✅ Windows Insider Preview | - - - -```Device -./Device/Vendor/MSFT/Policy/Config/WindowsAI/AllowImageCreator -``` - - - - -This policy setting allows you to control whether Image Creator functionality is available in the Windows Paint app. - -- If you disable this policy setting, Image Creator functionality won't be accessible in the Windows Paint app. - -- If you enable or don't configure this policy setting, users will be able to access Image Creator functionality. - - - - - - - -**Description framework properties**: - -| Property name | Property value | -|:--|:--| -| Format | `int` | -| Access Type | Add, Delete, Get, Replace | -| Default Value | 1 | - - - -**Allowed values**: - -| Value | Description | -|:--|:--| -| 0 | Disabled. | -| 1 (Default) | Enabled. | - - - -**Group policy mapping**: - -| Name | Value | -|:--|:--| -| Name | AllowImageCreator | -| Path | WindowsAI > AT > WindowsComponents > Paint | - - - - - - - - ## DisableAIDataAnalysis @@ -94,11 +32,7 @@ This policy setting allows you to control whether Image Creator functionality is -This policy setting allows you to control whether Windows saves snapshots of the screen and analyzes the user's activity on their device. - -- If you enable this policy setting, Windows won't be able to save snapshots and users won't be able to search for or browse through their historical device activity using Recall. - -- If you disable or don't configure this policy setting, Windows will save snapshots of the screen and users will be able to search for or browse through a timeline of their past activities using Recall. +This policy setting allows you to determine whether end users have the option to allow snapshots to be saved on their PCs. If disabled, end users will have a choice to save snapshots of their screen on their PC and then use Recall to find things they've seen. If the policy is enabled, end users won't be able to save snapshots on their PC. If the policy isn't configured, end users may or may not be able to save snapshots on their PC-depending on other policy configurations. @@ -120,8 +54,8 @@ This policy setting allows you to control whether Windows saves snapshots of the | Value | Description | |:--|:--| -| 0 (Default) | Enable saving Snapshots for Windows. | -| 1 | Disable saving Snapshots for Windows. | +| 0 (Default) | Enable Saving Snapshots for Windows. | +| 1 | Disable Saving Snapshots for Windows. | diff --git a/windows/client-management/mdm/printerprovisioning-ddf-file.md b/windows/client-management/mdm/printerprovisioning-ddf-file.md index 4aa2087423..e4db037ecb 100644 --- a/windows/client-management/mdm/printerprovisioning-ddf-file.md +++ b/windows/client-management/mdm/printerprovisioning-ddf-file.md @@ -1,7 +1,7 @@ --- title: PrinterProvisioning DDF file description: View the XML file containing the device description framework (DDF) for the PrinterProvisioning configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the P 10.0.22000, 10.0.19044.1806, 10.0.19043.1806, 10.0.19042.1806 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/reboot-ddf-file.md b/windows/client-management/mdm/reboot-ddf-file.md index 3bca6f69a4..ab06e22815 100644 --- a/windows/client-management/mdm/reboot-ddf-file.md +++ b/windows/client-management/mdm/reboot-ddf-file.md @@ -1,7 +1,7 @@ --- title: Reboot DDF file description: View the XML file containing the device description framework (DDF) for the Reboot configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the R 10.0.14393 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/rootcacertificates-ddf-file.md b/windows/client-management/mdm/rootcacertificates-ddf-file.md index 2a8292e9f6..5479190d60 100644 --- a/windows/client-management/mdm/rootcacertificates-ddf-file.md +++ b/windows/client-management/mdm/rootcacertificates-ddf-file.md @@ -1,7 +1,7 @@ --- title: RootCATrustedCertificates DDF file description: View the XML file containing the device description framework (DDF) for the RootCATrustedCertificates configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the R 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -1067,7 +1067,7 @@ The following XML file contains the device description framework (DDF) for the R 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/secureassessment-ddf-file.md b/windows/client-management/mdm/secureassessment-ddf-file.md index d45d5f6b92..7d49cb3604 100644 --- a/windows/client-management/mdm/secureassessment-ddf-file.md +++ b/windows/client-management/mdm/secureassessment-ddf-file.md @@ -1,7 +1,7 @@ --- title: SecureAssessment DDF file description: View the XML file containing the device description framework (DDF) for the SecureAssessment configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the S 10.0.15063 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/sharedpc-ddf-file.md b/windows/client-management/mdm/sharedpc-ddf-file.md index 0baa724281..4412297df6 100644 --- a/windows/client-management/mdm/sharedpc-ddf-file.md +++ b/windows/client-management/mdm/sharedpc-ddf-file.md @@ -1,7 +1,7 @@ --- title: SharedPC DDF file description: View the XML file containing the device description framework (DDF) for the SharedPC configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the S 10.0.14393 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/supl-ddf-file.md b/windows/client-management/mdm/supl-ddf-file.md index fed441c564..0797c3447b 100644 --- a/windows/client-management/mdm/supl-ddf-file.md +++ b/windows/client-management/mdm/supl-ddf-file.md @@ -1,7 +1,7 @@ --- title: SUPL DDF file description: View the XML file containing the device description framework (DDF) for the SUPL configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -42,7 +42,7 @@ The following XML file contains the device description framework (DDF) for the S 10.0.10240 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/vpnv2-ddf-file.md b/windows/client-management/mdm/vpnv2-ddf-file.md index 7454dd4105..abe39e405a 100644 --- a/windows/client-management/mdm/vpnv2-ddf-file.md +++ b/windows/client-management/mdm/vpnv2-ddf-file.md @@ -1,7 +1,7 @@ --- title: VPNv2 DDF file description: View the XML file containing the device description framework (DDF) for the VPNv2 configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the V 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -3265,7 +3265,7 @@ The following XML file contains the device description framework (DDF) for the V 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/wifi-ddf-file.md b/windows/client-management/mdm/wifi-ddf-file.md index d1e6f1f167..a2a8cf4407 100644 --- a/windows/client-management/mdm/wifi-ddf-file.md +++ b/windows/client-management/mdm/wifi-ddf-file.md @@ -1,7 +1,7 @@ --- title: WiFi DDF file description: View the XML file containing the device description framework (DDF) for the WiFi configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -322,7 +322,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x88;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md b/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md index b4460e2d71..06f96f2518 100644 --- a/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md +++ b/windows/client-management/mdm/windowsdefenderapplicationguard-ddf-file.md @@ -1,7 +1,7 @@ --- title: WindowsDefenderApplicationGuard DDF file description: View the XML file containing the device description framework (DDF) for the WindowsDefenderApplicationGuard configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.16299 1.1 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xAF;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF; diff --git a/windows/client-management/mdm/windowslicensing-ddf-file.md b/windows/client-management/mdm/windowslicensing-ddf-file.md index 571ba992b0..d2abdc9fc4 100644 --- a/windows/client-management/mdm/windowslicensing-ddf-file.md +++ b/windows/client-management/mdm/windowslicensing-ddf-file.md @@ -1,7 +1,7 @@ --- title: WindowsLicensing DDF file description: View the XML file containing the device description framework (DDF) for the WindowsLicensing configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -40,7 +40,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.10586 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x87;0x88*;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCD;0xCF;0xD2; diff --git a/windows/client-management/mdm/wirednetwork-ddf-file.md b/windows/client-management/mdm/wirednetwork-ddf-file.md index c3aebaeba0..178bba80f3 100644 --- a/windows/client-management/mdm/wirednetwork-ddf-file.md +++ b/windows/client-management/mdm/wirednetwork-ddf-file.md @@ -1,7 +1,7 @@ --- title: WiredNetwork DDF file description: View the XML file containing the device description framework (DDF) for the WiredNetwork configuration service provider. -ms.date: 06/19/2024 +ms.date: 06/28/2024 --- @@ -39,7 +39,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.17763 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; @@ -118,7 +118,7 @@ The following XML file contains the device description framework (DDF) for the W 10.0.17763 1.0 - 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x77;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xB4;0xBC;0xBD;0xBF;0xCA;0xCB; + 0x4;0x1B;0x30;0x31;0x48;0x54;0x62;0x63;0x64;0x65;0x79;0x7A;0x7D;0x7E;0x81;0x82;0x8A;0x8B;0xA1;0xA2;0xA4;0xA5;0xAB;0xAC;0xBC;0xBF;0xCA;0xCB;0xCD;0xCF;0xD2; From 01b1db7da6d80da388e9bc6dd7b56feec0f1def2 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 28 Jun 2024 13:44:50 -0700 Subject: [PATCH 162/354] cleanup app-v links --- windows/application-management/index.yml | 21 +- .../overview-windows-apps.md | 6 +- windows/application-management/toc.yml | 266 +----------------- .../windows-enterprise-e3-overview.md | 8 +- .../ltsc/whats-new-windows-10-2016.md | 12 +- .../ltsc/whats-new-windows-10-2019.md | 8 +- 6 files changed, 32 insertions(+), 289 deletions(-) diff --git a/windows/application-management/index.yml b/windows/application-management/index.yml index 7a3b8812e1..ae406114d7 100644 --- a/windows/application-management/index.yml +++ b/windows/application-management/index.yml @@ -9,7 +9,7 @@ metadata: author: aczechowski ms.author: aaroncz manager: aaroncz - ms.date: 08/18/2023 + ms.date: 06/28/2024 ms.topic: landing-page ms.service: windows-client ms.subservice: itpro-apps @@ -40,22 +40,3 @@ landingContent: url: per-user-services-in-windows.md - text: Changes to Service Host grouping in Windows 10 url: svchost-service-refactoring.md - - - title: Application Virtualization (App-V) - linkLists: - - linkListType: overview - links: - - text: App-V overview - url: /microsoft-desktop-optimization-pack/app-v/appv-for-windows - - text: Getting started with App-V - url: /microsoft-desktop-optimization-pack/app-v/appv-getting-started - - text: Planning for App-V - url: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-appv - - text: Deploying App-V - url: /microsoft-desktop-optimization-pack/app-v/appv-deploying-appv - - text: Operations for App-V - url: /microsoft-desktop-optimization-pack/app-v/appv-operations - - text: Troubleshooting App-V - url: /microsoft-desktop-optimization-pack/app-v/appv-troubleshooting - - text: Technical Reference for App-V - url: /microsoft-desktop-optimization-pack/app-v/appv-technical-reference diff --git a/windows/application-management/overview-windows-apps.md b/windows/application-management/overview-windows-apps.md index ab58f88f99..7188ebe6e0 100644 --- a/windows/application-management/overview-windows-apps.md +++ b/windows/application-management/overview-windows-apps.md @@ -4,7 +4,7 @@ description: Learn about the different types of apps that run on Windows. For ex author: aczechowski ms.author: aaroncz manager: aaroncz -ms.date: 08/28/2023 +ms.date: 06/28/2024 ms.topic: overview ms.service: windows-client ms.subservice: itpro-apps @@ -31,7 +31,7 @@ For more information on deploying Microsoft 365 apps, see the [Deployment guide ### Power Apps -These apps are custom, low-code apps to connect to business data, modernize processes, and solve unique challenges. Power Apps are available online and on-premises, can run in a web browser, and on mobile devices. They can be created by business analysts and professional developers. +These apps are custom, low-code apps to connect to business data, modernize processes, and solve unique challenges. Power Apps are available online and on-premises, can run in a web browser, and on mobile devices. They can be created by business analysts and professional developers. For more information, see [What is Power Apps?](/power-apps/powerapps-overview). @@ -182,7 +182,7 @@ App-V allows Win32 apps to be used as virtual apps. On an on-premises server, you install and configure the App-V server components, and then install your Win32 apps. On Windows Enterprise client devices, you use the App-V client components to run the virtualized apps. They allow users to open the virtual apps using the icons and file names they're familiar with. Users use the apps as if they're installed locally. -The benefit is to deliver virtual apps in real time, and as-needed. For more information, see [Application Virtualization (App-V) for Windows overview](./app-v/appv-for-windows.md). +The benefit is to deliver virtual apps in real time, and as-needed. For more information, see [Application Virtualization (App-V) for Windows overview](/microsoft-desktop-optimization-pack/app-v/appv-for-windows). ## Manage apps diff --git a/windows/application-management/toc.yml b/windows/application-management/toc.yml index 7e86c36a76..eaea302b9c 100644 --- a/windows/application-management/toc.yml +++ b/windows/application-management/toc.yml @@ -1,255 +1,17 @@ items: - name: Manage Windows applications href: index.yml -- name: Application management - items: - - name: Overview of apps in Windows - href: overview-windows-apps.md - - name: Sideload line of business (LOB) apps - href: sideload-apps-in-windows.md - - name: Private app repo on Windows 11 - href: private-app-repository-mdm-company-portal-windows-11.md - - name: Remove background task resource restrictions - href: enterprise-background-activity-controls.md - - name: Service host grouping in Windows 10 - href: svchost-service-refactoring.md - - name: Per-user services in Windows - href: per-user-services-in-windows.md - - name: Keep removed apps from returning during an update - href: remove-provisioned-apps-during-update.md -- name: Application Virtualization (App-V) - items: - - name: App-V for Windows overview - href: /microsoft-desktop-optimization-pack/app-v/appv-for-windows - - name: Getting Started - items: - - name: Getting Started with App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-getting-started - - name: What's new - items: - - name: What's new in App-V for Windows 10, version 1703 and earlier - href: /microsoft-desktop-optimization-pack/app-v/appv-about-appv - - name: Release Notes for App-V for Windows 10, version 1607 - href: /microsoft-desktop-optimization-pack/app-v/appv-release-notes-for-appv-for-windows - - name: Release Notes for App-V for Windows 10, version 1703 - href: /microsoft-desktop-optimization-pack/app-v/appv-release-notes-for-appv-for-windows-1703 - - name: Evaluating App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-evaluating-appv - - name: High Level Architecture for App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-high-level-architecture - - name: Planning - items: - - name: Planning for App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-appv - - name: Preparing your environment - items: - - name: Preparing your environment for App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-preparing-your-environment - - name: App-V Prerequisites - href: /microsoft-desktop-optimization-pack/app-v/appv-prerequisites - - name: App-V security considerations - href: /microsoft-desktop-optimization-pack/app-v/appv-security-considerations - - name: Planning to deploy - items: - - name: Planning to Deploy App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-to-deploy-appv - - name: App-V Supported Configurations - href: /microsoft-desktop-optimization-pack/app-v/appv-supported-configurations - - name: App-V Capacity Planning - href: /microsoft-desktop-optimization-pack/app-v/appv-capacity-planning - - name: Planning for High Availability with App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-high-availability-with-appv - - name: Planning to Deploy App-V with an Electronic Software Distribution System - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-to-deploy-appv-with-electronic-software-distribution-solutions - - name: Planning for the App-V Server Deployment - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-appv-server-deployment - - name: Planning for the App-V Sequencer and Client Deployment - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-sequencer-and-client-deployment - - name: Planning for Using App-V with Office - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-for-using-appv-with-office - - name: Planning to Use Folder Redirection with App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-folder-redirection-with-appv - - name: App-V Planning Checklist - href: /microsoft-desktop-optimization-pack/app-v/appv-planning-checklist - - name: Deploying - items: - - name: Deploying App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-appv - - name: App-V sequencer and client configuration - items: - - name: Deploying the App-V Sequencer and Configuring the Client - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-the-appv-sequencer-and-client - - name: About Client Configuration Settings - href: /microsoft-desktop-optimization-pack/app-v/appv-client-configuration-settings - - name: Enable the App-V desktop client - href: /microsoft-desktop-optimization-pack/app-v/appv-enable-the-app-v-desktop-client - - name: How to Install the Sequencer - href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-sequencer - - name: App-V server deployment - items: - - name: Deploying the App-V Server - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-the-appv-server - - name: How to Deploy the App-V Server - href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-the-appv-server - - name: How to Deploy the App-V Server Using a Script - href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-the-appv-server-with-a-script - - name: How to Deploy the App-V Databases by Using SQL Scripts - href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-appv-databases-with-sql-scripts - - name: How to Install the Publishing Server on a Remote Computer - href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-publishing-server-on-a-remote-computer - - name: How to Install the Management and Reporting Databases on Separate Computers from the Management and Reporting Services - href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-management-and-reporting-databases-on-separate-computers - - name: How to install the Management Server on a Standalone Computer and Connect it to the Database - href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-management-server-on-a-standalone-computer - - name: About App-V Reporting - href: /microsoft-desktop-optimization-pack/app-v/appv-reporting - - name: How to install the Reporting Server on a Standalone Computer and Connect it to the Database - href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-reporting-server-on-a-standalone-computer - - name: App-V Deployment Checklist - href: /microsoft-desktop-optimization-pack/app-v/appv-deployment-checklist - - name: Deploying Microsoft Office 2016 by Using App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-microsoft-office-2016-with-appv - - name: Deploying Microsoft Office 2013 by Using App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-microsoft-office-2013-with-appv - - name: Deploying Microsoft Office 2010 by Using App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-microsoft-office-2010-wth-appv - - name: Operations - items: - - name: Operations for App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-operations - - name: Creating and managing virtualized applications - items: - - name: Creating and Managing App-V Virtualized Applications - href: /microsoft-desktop-optimization-pack/app-v/appv-creating-and-managing-virtualized-applications - - name: Automatically provision your sequencing environment using Microsoft Application Virtualization Sequencer (App-V Sequencer) - href: /microsoft-desktop-optimization-pack/app-v/appv-auto-provision-a-vm - - name: Automatically sequence multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer) - href: /microsoft-desktop-optimization-pack/app-v/appv-auto-batch-sequencing - - name: Automatically update multiple apps at the same time using Microsoft Application Virtualization Sequencer (App-V Sequencer) - href: /microsoft-desktop-optimization-pack/app-v/appv-auto-batch-updating - - name: Manually sequence a new app using Microsoft Application Virtualization Sequencer (App-V Sequencer) - href: /microsoft-desktop-optimization-pack/app-v/appv-sequence-a-new-application - - name: How to Modify an Existing Virtual Application Package - href: /microsoft-desktop-optimization-pack/app-v/appv-modify-an-existing-virtual-application-package - - name: How to Create and Use a Project Template - href: /microsoft-desktop-optimization-pack/app-v/appv-create-and-use-a-project-template - - name: How to Create a Package Accelerator - href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-package-accelerator - - name: How to Create a Virtual Application Package Using an App-V Package Accelerator - href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-virtual-application-package-package-accelerator - - name: Administering App-V - items: - - name: Administering App-V Virtual Applications by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-administering-virtual-applications-with-the-management-console - - name: About App-V Dynamic Configuration - href: /microsoft-desktop-optimization-pack/app-v/appv-dynamic-configuration - - name: How to Connect to the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-connect-to-the-management-console - - name: How to Add or Upgrade Packages by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-add-or-upgrade-packages-with-the-management-console - - name: How to Configure Access to Packages by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-configure-access-to-packages-with-the-management-console - - name: How to Publish a Package by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-publish-a-packages-with-the-management-console - - name: How to Delete a Package in the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-delete-a-package-with-the-management-console - - name: How to Add or Remove an Administrator by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-add-or-remove-an-administrator-with-the-management-console - - name: How to Register and Unregister a Publishing Server by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-register-and-unregister-a-publishing-server-with-the-management-console - - name: How to Create a Custom Configuration File by Using the App-V Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-custom-configuration-file-with-the-management-console - - name: How to Transfer Access and Configurations to Another Version of a Package by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-transfer-access-and-configurations-to-another-version-of-a-package-with-the-management-console - - name: How to Customize Virtual Applications Extensions for a Specific AD Group by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-customize-virtual-application-extensions-with-the-management-console - - name: How to View and Configure Applications and Default Virtual Application Extensions by Using the Management Console - href: /microsoft-desktop-optimization-pack/app-v/appv-view-and-configure-applications-and-default-virtual-application-extensions-with-the-management-console - - name: Connection groups - items: - - name: Managing Connection Groups - href: /microsoft-desktop-optimization-pack/app-v/appv-managing-connection-groups - - name: About the Connection Group Virtual Environment - href: /microsoft-desktop-optimization-pack/app-v/appv-connection-group-virtual-environment - - name: About the Connection Group File - href: /microsoft-desktop-optimization-pack/app-v/appv-connection-group-file - - name: How to Create a Connection Group - href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-connection-group - - name: How to Create a Connection Group with User-Published and Globally Published Packages - href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-connection-group-with-user-published-and-globally-published-packages - - name: How to Delete a Connection Group - href: /microsoft-desktop-optimization-pack/app-v/appv-delete-a-connection-group - - name: How to Publish a Connection Group - href: /microsoft-desktop-optimization-pack/app-v/appv-publish-a-connection-group - - name: How to Make a Connection Group Ignore the Package Version - href: /microsoft-desktop-optimization-pack/app-v/appv-configure-connection-groups-to-ignore-the-package-version - - name: How to Allow Only Administrators to Enable Connection Groups - href: /microsoft-desktop-optimization-pack/app-v/appv-allow-administrators-to-enable-connection-groups - - name: Deploying App-V packages with ESD - items: - - name: Deploying App-V Packages by Using Electronic Software Distribution (ESD) - href: /microsoft-desktop-optimization-pack/app-v/appv-deploying-packages-with-electronic-software-distribution-solutions - - name: How to deploy App-V Packages Using Electronic Software Distribution - href: /microsoft-desktop-optimization-pack/app-v/appv-deploy-appv-packages-with-electronic-software-distribution-solutions - - name: How to Enable Only Administrators to Publish Packages by Using an ESD - href: /microsoft-desktop-optimization-pack/app-v/appv-enable-administrators-to-publish-packages-with-electronic-software-distribution-solutions - - name: Using the management console - items: - - name: Using the App-V client management console - href: /microsoft-desktop-optimization-pack/app-v/appv-using-the-client-management-console - - name: Automatically clean up unpublished packages on the App-V client - href: /microsoft-desktop-optimization-pack/app-v/appv-auto-clean-unpublished-packages - - name: Migrating - items: - - name: Migrating to App-V from a previous version - href: /microsoft-desktop-optimization-pack/app-v/appv-migrating-to-appv-from-a-previous-version - - name: How to convert a package created in a previous version of App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-convert-a-package-created-in-a-previous-version-of-appv - - name: Maintenance - items: - - name: Maintaining App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-maintaining-appv - - name: How to Move the App-V Server to Another Computer - href: /microsoft-desktop-optimization-pack/app-v/appv-move-the-appv-server-to-another-computer - - name: Administering App-V with Windows PowerShell - items: - - name: Administering App-V by using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-administering-appv-with-powershell - - name: How to Load the Windows PowerShell Cmdlets for App-V and Get Cmdlet Help - href: /microsoft-desktop-optimization-pack/app-v/appv-load-the-powershell-cmdlets-and-get-cmdlet-help - - name: How to Manage App-V Packages Running on a Stand-Alone Computer by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-manage-appv-packages-running-on-a-stand-alone-computer-with-powershell - - name: How to Manage Connection Groups on a Stand-alone Computer by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-manage-connection-groups-on-a-stand-alone-computer-with-powershell - - name: How to Modify Client Configuration by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-modify-client-configuration-with-powershell - - name: How to Configure the Client to Receive Package and Connection Groups Updates From the Publishing Server - href: /microsoft-desktop-optimization-pack/app-v/appv-configure-the-client-to-receive-updates-from-the-publishing-server - - name: How to Apply the User Configuration File by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-apply-the-user-configuration-file-with-powershell - - name: How to Apply the Deployment Configuration File by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-apply-the-deployment-configuration-file-with-powershell - - name: How to Sequence a Package by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-sequence-a-package-with-powershell - - name: How to Create a Package Accelerator by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-create-a-package-accelerator-with-powershell - - name: How to Enable Reporting on the App-V Client by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-enable-reporting-on-the-appv-client-with-powershell - - name: How to Install the App-V Databases and Convert the Associated Security Identifiers by Using Windows PowerShell - href: /microsoft-desktop-optimization-pack/app-v/appv-install-the-appv-databases-and-convert-the-associated-security-identifiers-with-powershell - - name: Troubleshooting App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-troubleshooting - - name: Technical Reference - items: - - name: Technical Reference for App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-technical-reference - - name: Available Mobile Device Management (MDM) settings for App-V - href: /microsoft-desktop-optimization-pack/app-v/appv-available-mdm-settings - - name: Performance Guidance for Application Virtualization - href: /microsoft-desktop-optimization-pack/app-v/appv-performance-guidance - - name: Application Publishing and Client Interaction - href: /microsoft-desktop-optimization-pack/app-v/appv-application-publishing-and-client-interaction - - name: Viewing App-V Server Publishing Metadata - href: /microsoft-desktop-optimization-pack/app-v/appv-viewing-appv-server-publishing-metadata - - name: Running a Locally Installed Application Inside a Virtual Environment with Virtualized Applications - href: /microsoft-desktop-optimization-pack/app-v/appv-running-locally-installed-applications-inside-a-virtual-environment +- name: Overview of apps in Windows + href: overview-windows-apps.md +- name: Sideload line of business (LOB) apps + href: sideload-apps-in-windows.md +- name: Private app repo on Windows 11 + href: private-app-repository-mdm-company-portal-windows-11.md +- name: Remove background task resource restrictions + href: enterprise-background-activity-controls.md +- name: Service host grouping in Windows 10 + href: svchost-service-refactoring.md +- name: Per-user services in Windows + href: per-user-services-in-windows.md +- name: Keep removed apps from returning during an update + href: remove-provisioned-apps-during-update.md diff --git a/windows/deployment/windows-enterprise-e3-overview.md b/windows/deployment/windows-enterprise-e3-overview.md index d92d11b9fc..292858c4fb 100644 --- a/windows/deployment/windows-enterprise-e3-overview.md +++ b/windows/deployment/windows-enterprise-e3-overview.md @@ -67,7 +67,7 @@ Windows Enterprise edition has many features that are unavailable in Windows Pro |Credential Guard|Credential Guard uses virtualization-based security to help protect security secrets so that only privileged system software can access them. Examples of security secrets that can be protected include NTLM password hashes and Kerberos Ticket Granting Tickets. This protection helps prevent Pass-the-Hash or Pass-the-Ticket attacks.

    Credential Guard has the following features:

    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 F|34;Yu0H?( From ee977cd5ee1315d2166a73a64e882b39a200c42d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:22:33 -0400 Subject: [PATCH 104/354] fixed capitalization --- .../credential-guard/considerations-known-issues.md | 2 +- windows/security/identity-protection/credential-guard/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/considerations-known-issues.md b/windows/security/identity-protection/credential-guard/considerations-known-issues.md index 8faf5d3977..ac6539336e 100644 --- a/windows/security/identity-protection/credential-guard/considerations-known-issues.md +++ b/windows/security/identity-protection/credential-guard/considerations-known-issues.md @@ -130,7 +130,7 @@ Devices that use CredSSP-based Delegation might no longer be able to use [Live M ||Description| |-|-| -| **Affected devices**|Any server with Credential Guard enabled might encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that aren't Domain Controllers. Default enablement of Credential Guard can be [preemptively blocked](configure.md#default-enablement) before upgrade.| +| **Affected devices**|Any server with Credential Guard enabled might encounter this issue. Starting in Windows Server 2025 (preview), [Credential Guard is enabled by default](index.md#default-enablement-on-windows-server) on all domain-joined servers that aren't domain controllers. Default enablement of Credential Guard can be [preemptively blocked](configure.md#default-enablement) before upgrade.| | **Cause of the issue**|Live Migration with Hyper-V, and applications and services that rely on it, are affected by the issue if one or both ends of a given connection try to use CredSSP with Credential Guard enabled. With Credential Guard enabled, CredSSP can only utilize supplied credentials, not saved or SSO credentials.

    If the source machine of a Live Migration uses CredSSP for delegation with Credential Guard enabled, the Live Migration fails. In most cases, Credential Guard's enablement state on the destination machine won't impact Live Migration. Live Migration also fails in cluster scenarios (for example, SCVMM), since any device might act as a source machine.| | **Resolution**|Instead of CredSSP Delegation, [Kerberos Constrained Delegation and Resource-Based Kerberos Constrained Delegation](/windows-server/security/kerberos/kerberos-constrained-delegation-overview) are recommended. These forms of delegation provide greater credential protections, in addition to being compatible with Credential Guard. Administrators of Hyper-V can [configure these types of delegation](/windows-server/virtualization/hyper-v/deploy/set-up-hosts-for-live-migration-without-failover-clustering#BKMK_Step1) manually or with the help of automated scripts.| diff --git a/windows/security/identity-protection/credential-guard/index.md b/windows/security/identity-protection/credential-guard/index.md index 9024cd7fab..49a794950b 100644 --- a/windows/security/identity-protection/credential-guard/index.md +++ b/windows/security/identity-protection/credential-guard/index.md @@ -55,7 +55,7 @@ Devices running Windows Server 2025 (preview) or later have Credential Guard ena - Meet the [hardware and software requirements](#system-requirements) - Aren't [explicitly configured to disable Credential Guard](configure.md#default-enablement) - Are joined to a domain -- Aren't a Domain Controller +- Aren't a domain controller > [!IMPORTANT] > For information about known issues related to default enablement, see [Credential Guard: known issues](considerations-known-issues.md#known-issues). From b25b6e4984372a41b0f7e468fe7a27224aeab8c0 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:32:07 -0400 Subject: [PATCH 105/354] Conversion of intro to table --- .../credential-guard/how-it-works.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/how-it-works.md b/windows/security/identity-protection/credential-guard/how-it-works.md index f506df21ac..beedce6046 100644 --- a/windows/security/identity-protection/credential-guard/how-it-works.md +++ b/windows/security/identity-protection/credential-guard/how-it-works.md @@ -7,13 +7,18 @@ ms.topic: concept-article # How Credential Guard works -Kerberos, NTLM, and Credential Manager isolate secrets by using Virtualization-based security (VBS). Previous versions of Windows stored secrets in its process memory, in the Local Security Authority (LSA) process `lsass.exe`. With Credential Guard enabled, the LSA process in the operating system talks to a component called the *isolated LSA process* that stores and protects those secrets, `LSAIso.exe`. Data stored by the isolated LSA process is protected using VBS and isn't accessible to the rest of the operating system. LSA uses remote procedure calls to communicate with the isolated LSA process. +Kerberos, NTLM, and Credential Manager isolate secrets by using Virtualization-based security (VBS). Previous versions of Windows stored secrets in its process memory, in the Local Security Authority (LSA) process `lsass.exe`. -For security reasons, the isolated LSA process doesn't host any device drivers. Instead, it only hosts a small subset of operating system binaries that are needed for security and nothing else. All the binaries are signed with a certificate that VBS trusts, and the signatures are validated before launching the file in the protected environment. +:::row::: + :::column span="2"::: + With Credential Guard enabled, the LSA process in the operating system talks to a component called the *isolated LSA process* that stores and protects those secrets, `LSAIso.exe`. Data stored by the isolated LSA process is protected using VBS and isn't accessible to the rest of the operating system. LSA uses remote procedure calls to communicate with the isolated LSA process. -Here's a high-level overview on how the LSA is isolated by using Virtualization-based security: - -:::image type="content" source="images/credential-guard-architecture.png" alt-text="Diagram of the Credential Guard architecture."::: + For security reasons, the isolated LSA process doesn't host any device drivers. Instead, it only hosts a small subset of operating system binaries that are needed for security and nothing else. All the binaries are signed with a certificate that VBS trusts, and the signatures are validated before launching the file in the protected environment. + :::column-end::: + :::column span="2"::: + :::image type="content" source="images/credential-guard-architecture.png" alt-text="Diagram of the Credential Guard architecture." lightbox="images/credential-guard-architecture.png" border="false"::: + :::column-end::: +:::row-end::: ## Credential Guard protection limits From 1b6b92b8778c6b02f1f0c8231f1183813fdce6c2 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:40:22 -0400 Subject: [PATCH 106/354] png fix --- .../images/credential-guard-architecture.png | Bin 588385 -> 588770 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/security/identity-protection/credential-guard/images/credential-guard-architecture.png b/windows/security/identity-protection/credential-guard/images/credential-guard-architecture.png index f65b8ef6aa816b5479adbb6b0714ae41ebd961bb..4d1ad988f89e2bff2d4c5edd8fe0763df7142914 100644 GIT binary patch delta 477960 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