From 708928095c6dd98fbfde6b72fd6d37f73c85ebd4 Mon Sep 17 00:00:00 2001 From: mesharma-msft <69322487+mesharma-msft@users.noreply.github.com> Date: Wed, 12 Aug 2020 17:02:16 -0700 Subject: [PATCH 01/23] Update update-compliance-feature-update-status.md 1. Changed the term "compatibility hold" to "safeguard hold" since this is the terminology we are going to use going forward as approved by the Comms team. 2. Added the "Queries for Safeguard holds" section. Unable to upload the UC_workspace_safeguard_queries.png file in images folder, so will email the image to Jaime to upload. --- .../update-compliance-feature-update-status.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/update-compliance-feature-update-status.md b/windows/deployment/update/update-compliance-feature-update-status.md index 5953fcc349..64c4b2a028 100644 --- a/windows/deployment/update/update-compliance-feature-update-status.md +++ b/windows/deployment/update/update-compliance-feature-update-status.md @@ -35,14 +35,22 @@ Refer to the following list for what each state means: * Devices that have failed the given feature update installation are counted as **Update failed**. * If a device should be, in some way, progressing toward this security update, but its status cannot be inferred, it will count as **Status Unknown**. Devices not using Windows Update are the most likely devices to fall into this category. -## Compatibility holds +## Safeguard holds Microsoft uses diagnostic data to determine whether devices that use Windows Update are ready for a feature update in order to ensure a smooth experience. When Microsoft determines a device is not ready to update due to a known issue, a *compatibility hold* is generated to delay the device's upgrade and safeguard the end-user experience. Holds are released over time as diagnostic data is analyzed and fixes are addressed. Details are provided on some, but not all compatibility holds on the Windows 10 release information page for any given release. -### Opting out of compatibility hold +## Queries for Safeguard holds -Microsoft will release a device from a compatibility hold when it has determined it can safely and smoothly install a feature update, but you are ultimately in control of your devices and can opt out if desired. To opt out, set the registry key **HKLM\Software\Microsoft\Windows NT\CurrentVersion\502505fe-762c-4e80-911e-0c3fa4c63fb0** to a name of **DataRequireGatedScanForFeatureUpdates** and a value of **0**. +With Update Compliance reporting, there are now two available queries to help you retrieve data related to Safeguard Holds. The first query shows the device data for all devices that are impacted by safeguard holds. The second query shows data specific to target build distribution of devices. + +![Safeguard hold queries](images/UC_workspace_safeguard_queries.png) + +Update Compliance reporting will surface the Safeguard IDs for known issues impacting a device in the ‘DeploymentErrorCode’ column. Safeguard IDs for publicly discussed known issues will also be included in the Windows Release Health Dashboard, enabling easy lookup of information related to publicly available safeguards. + +### Opting out of safeguard hold + +Microsoft will release a device from a safeguard hold when it has determined it can safely and smoothly install a feature update, but you are ultimately in control of your devices and can opt out if desired. To opt out, set the registry key **HKLM\Software\Microsoft\Windows NT\CurrentVersion\502505fe-762c-4e80-911e-0c3fa4c63fb0** to a name of **DataRequireGatedScanForFeatureUpdates** and a value of **0**. -Setting this registry key to **0** will force the device to opt out from *all* compatibility holds. Any other value, or deleting the key, will resume compatibility protection on the device. +Setting this registry key to **0** will force the device to opt out from *all* safeguard holds. Any other value, or deleting the key, will resume compatibility protection on the device. From 68e7fe75cfa4d3f0e3fbafab3c2d5f467792a6c4 Mon Sep 17 00:00:00 2001 From: Jaime Ondrusek Date: Thu, 13 Aug 2020 09:03:55 -0700 Subject: [PATCH 02/23] Update update-compliance-feature-update-status.md Fixing some style issues. --- .../update-compliance-feature-update-status.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/deployment/update/update-compliance-feature-update-status.md b/windows/deployment/update/update-compliance-feature-update-status.md index 64c4b2a028..0fa0b2283e 100644 --- a/windows/deployment/update/update-compliance-feature-update-status.md +++ b/windows/deployment/update/update-compliance-feature-update-status.md @@ -37,19 +37,19 @@ Refer to the following list for what each state means: ## Safeguard holds -Microsoft uses diagnostic data to determine whether devices that use Windows Update are ready for a feature update in order to ensure a smooth experience. When Microsoft determines a device is not ready to update due to a known issue, a *compatibility hold* is generated to delay the device's upgrade and safeguard the end-user experience. Holds are released over time as diagnostic data is analyzed and fixes are addressed. Details are provided on some, but not all compatibility holds on the Windows 10 release information page for any given release. +Microsoft uses diagnostic data to determine whether devices that use Windows Update are ready for a feature update in order to ensure a smooth experience. When Microsoft determines a device is not ready to update due to a known issue, a *safeguard hold* is generated to delay the device's upgrade and protect the end-user experience. Holds are released over time as diagnostic data is analyzed and fixes are addressed. Details are provided on some, but not all safeguard holds on the Windows 10 release information page for any given release. -## Queries for Safeguard holds +## Queries for safeguard holds -With Update Compliance reporting, there are now two available queries to help you retrieve data related to Safeguard Holds. The first query shows the device data for all devices that are impacted by safeguard holds. The second query shows data specific to target build distribution of devices. +Update Compliance reporting offers two queries to help you retrieve data related to safeguard holds. The first query shows the device data for all devices that are affected by safeguard holds. The second query shows data specific to devices running the target build. -![Safeguard hold queries](images/UC_workspace_safeguard_queries.png) +![Left pane showing Need Attention, Security update status, feature update status, and Windows Defender AV status, with Need Attention selected. Right pane shows the list of queries relevant to the Need Attention status, with "Devices with a safeguard hold" and "Target build distribution of devices with a safeguard hold" queries highlighted](images/UC_workspace_safeguard_queries.png) -Update Compliance reporting will surface the Safeguard IDs for known issues impacting a device in the ‘DeploymentErrorCode’ column. Safeguard IDs for publicly discussed known issues will also be included in the Windows Release Health Dashboard, enabling easy lookup of information related to publicly available safeguards. +Update Compliance reporting will display the Safeguard IDs for known issues affecting a device in the **DeploymentErrorCode** column. Safeguard IDs for publicly discussed known issues are also included in the Windows Release Health dashboard, where you can easily find information related to publicly available safeguards. ### Opting out of safeguard hold -Microsoft will release a device from a safeguard hold when it has determined it can safely and smoothly install a feature update, but you are ultimately in control of your devices and can opt out if desired. To opt out, set the registry key **HKLM\Software\Microsoft\Windows NT\CurrentVersion\502505fe-762c-4e80-911e-0c3fa4c63fb0** to a name of **DataRequireGatedScanForFeatureUpdates** and a value of **0**. +Microsoft will release a device from a safeguard hold when it has determined it can safely and smoothly install a feature update, but you are ultimately in control of your devices and can opt out. To opt out, set the registry key **HKLM\Software\Microsoft\Windows NT\CurrentVersion\502505fe-762c-4e80-911e-0c3fa4c63fb0** to a name of **DataRequireGatedScanForFeatureUpdates** and a value of **0**. Setting this registry key to **0** will force the device to opt out from *all* safeguard holds. Any other value, or deleting the key, will resume compatibility protection on the device. From 117983395717e838b2f7ce7e475d7cc74b5dab1f Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Wed, 26 Aug 2020 22:07:03 +0530 Subject: [PATCH 03/23] Update enroll-a-windows-10-device-automatically-using-group-policy.md as per the user report #8149, so i added admx templates links for windows 10 v1909 and v2004. Also, I adjusted the style format. --- ...-10-device-automatically-using-group-policy.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md b/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md index 349687ed6c..7a91385e10 100644 --- a/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md +++ b/windows/client-management/mdm/enroll-a-windows-10-device-automatically-using-group-policy.md @@ -170,11 +170,16 @@ Requirements: 1. Download: - - 1803 -->[Administrative Templates (.admx) for Windows 10 April 2018 Update (1803)](https://www.microsoft.com/download/details.aspx?id=56880) + - 1803 --> [Administrative Templates (.admx) for Windows 10 April 2018 Update (1803)](https://www.microsoft.com/download/details.aspx?id=56880) - - 1809 --> [Administrative Templates for Windows 10 October 2018 Update (1809)](https://www.microsoft.com/download/details.aspx?id=57576) + - 1809 --> [Administrative Templates (.admx) for Windows 10 October 2018 Update (1809)](https://www.microsoft.com/download/details.aspx?id=57576) - - 1903 --> [Administrative Templates (.admx) for Windows 10 May 2019 Update (1903)](https://www.microsoft.com/download/details.aspx?id=58495&WT.mc_id=rss_alldownloads_all) + - 1903 --> [Administrative Templates (.admx) for Windows 10 May 2019 Update (1903)](https://www.microsoft.com/download/details.aspx?id=58495) + + - 1909 --> [Administrative Templates (.admx) for Windows 10 November 2019 Update (1909)]( +https://www.microsoft.com/download/confirmation.aspx?id=1005915) + + - 2004 --> [Administrative Templates (.admx) for Windows 10 May 2020 Update (2004)](https://www.microsoft.com/download/confirmation.aspx?id=101445) 2. Install the package on the Domain Controller. @@ -185,6 +190,10 @@ Requirements: - 1809 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 October 2018 Update (1809) v2** - 1903 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 May 2019 Update (1903) v3** + + - 1909 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 November 2019 Update (1909)** + + - 2004 --> **C:\Program Files (x86)\Microsoft Group Policy\Windows 10 May 2020 Update (2004)** 4. Rename the extracted Policy Definitions folder to **PolicyDefinitions**. From 75c37c926f72bb2652c66400bdaf1eec6f967055 Mon Sep 17 00:00:00 2001 From: Lovina Saldanha <69782111+Lovina-Saldanha@users.noreply.github.com> Date: Thu, 27 Aug 2020 12:35:26 +0530 Subject: [PATCH 04/23] Github-PUA-update-to-policyCSPdefender-4254702 Added a note on PUA under "Defender/PUAProtection". --- windows/client-management/mdm/policy-csp-defender.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/client-management/mdm/policy-csp-defender.md b/windows/client-management/mdm/policy-csp-defender.md index 79fe896cdf..dcea40a888 100644 --- a/windows/client-management/mdm/policy-csp-defender.md +++ b/windows/client-management/mdm/policy-csp-defender.md @@ -2313,6 +2313,9 @@ ADMX Info: Added in Windows 10, version 1607. Specifies the level of detection for potentially unwanted applications (PUAs). Windows Defender alerts you when potentially unwanted software is being downloaded or attempts to install itself on your computer. +> [!NOTE] +> Potentially unwanted applications (PUA) are a category of software that can cause your machine to run slowly, display unexpected ads, or at worst, install other software which might be unexpected or unwanted. By default in Windows 10 (version 2004 and later), Microsoft Defender Antivirus blocks apps that are considered PUA, for Enterprise (E5) devices. For more information about PUA, see [Detect and block potentially unwanted applications](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-antivirus/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus). + The following list shows the supported values: From 895fbbb1ad31df397da1f7d2e23fadc25681decc Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 15:52:07 +0500 Subject: [PATCH 05/23] Update configure-cloud-block-timeout-period-microsoft-defender-antivirus.md --- ...e-cloud-block-timeout-period-microsoft-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/configure-cloud-block-timeout-period-microsoft-defender-antivirus.md b/windows/security/threat-protection/microsoft-defender-antivirus/configure-cloud-block-timeout-period-microsoft-defender-antivirus.md index 3d86286bb7..9ef91f163b 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/configure-cloud-block-timeout-period-microsoft-defender-antivirus.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/configure-cloud-block-timeout-period-microsoft-defender-antivirus.md @@ -20,7 +20,7 @@ manager: dansimp **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) +- Microsoft Defender Antivirus When Microsoft Defender Antivirus finds a suspicious file, it can prevent the file from running while it queries the [Microsoft Defender Antivirus cloud service](utilize-microsoft-cloud-protection-microsoft-defender-antivirus.md). From 3d6c50509406199aa5ddfe814befa9158e54044e Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 15:55:57 +0500 Subject: [PATCH 06/23] Update configure-block-at-first-sight-microsoft-defender-antivirus.md --- ...nfigure-block-at-first-sight-microsoft-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/configure-block-at-first-sight-microsoft-defender-antivirus.md b/windows/security/threat-protection/microsoft-defender-antivirus/configure-block-at-first-sight-microsoft-defender-antivirus.md index f11dc35650..057535efc0 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/configure-block-at-first-sight-microsoft-defender-antivirus.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/configure-block-at-first-sight-microsoft-defender-antivirus.md @@ -19,7 +19,7 @@ ms.date: 08/26/2020 **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) +- Microsoft Defender Antivirus Block at first sight provides a way to detect and block new malware within seconds. This protection is enabled by default when certain prerequisite settings are also enabled. In most cases, these prerequisite settings are also enabled by default, so the feature is running without any intervention. From 283bb2a3b9d734cc8df6a3846b466cc00804fb84 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 16:06:59 +0500 Subject: [PATCH 07/23] Update configure-network-connections-microsoft-defender-antivirus.md --- ...onfigure-network-connections-microsoft-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/configure-network-connections-microsoft-defender-antivirus.md b/windows/security/threat-protection/microsoft-defender-antivirus/configure-network-connections-microsoft-defender-antivirus.md index 1901905edb..53f708d925 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/configure-network-connections-microsoft-defender-antivirus.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/configure-network-connections-microsoft-defender-antivirus.md @@ -20,7 +20,7 @@ manager: dansimp **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) +- Microsoft Defender Antivirus To ensure Microsoft Defender Antivirus cloud-delivered protection works properly, you need to configure your network to allow connections between your endpoints and certain Microsoft servers. From 8dbb0185935617a72f1a0fc29db1c8012e72d27e Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 16:19:31 +0500 Subject: [PATCH 08/23] Update specify-cloud-protection-level-microsoft-defender-antivirus.md --- ...ecify-cloud-protection-level-microsoft-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/specify-cloud-protection-level-microsoft-defender-antivirus.md b/windows/security/threat-protection/microsoft-defender-antivirus/specify-cloud-protection-level-microsoft-defender-antivirus.md index 07f45f646e..28e47fe3f3 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/specify-cloud-protection-level-microsoft-defender-antivirus.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/specify-cloud-protection-level-microsoft-defender-antivirus.md @@ -20,7 +20,7 @@ ms.custom: nextgen **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) +- Microsoft Defender Antivirus You can specify the level of cloud-protection offered by Microsoft Defender Antivirus with Group Policy and Microsoft Endpoint Configuration Manager. From de607bdcd020f009d08c320c20dccb70812094d6 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 16:20:30 +0500 Subject: [PATCH 09/23] Update enable-cloud-protection-microsoft-defender-antivirus.md --- .../enable-cloud-protection-microsoft-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/enable-cloud-protection-microsoft-defender-antivirus.md b/windows/security/threat-protection/microsoft-defender-antivirus/enable-cloud-protection-microsoft-defender-antivirus.md index dbd8db2df4..b7bbdb27fb 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/enable-cloud-protection-microsoft-defender-antivirus.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/enable-cloud-protection-microsoft-defender-antivirus.md @@ -18,7 +18,7 @@ ms.custom: nextgen **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) +- Microsoft Defender Antivirus > [!NOTE] > The Microsoft Defender Antivirus cloud service is a mechanism for delivering updated protection to your network and endpoints. Although it is called a cloud service, it is not simply protection for files stored in the cloud; rather, it uses distributed resources and machine learning to deliver protection to your endpoints at a rate that is far faster than traditional Security intelligence updates. From fc4c95648a28246c1f69c94460a8d518da2c8727 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 16:22:32 +0500 Subject: [PATCH 10/23] Update utilize-microsoft-cloud-protection-microsoft-defender-antivirus.md --- ...e-microsoft-cloud-protection-microsoft-defender-antivirus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/utilize-microsoft-cloud-protection-microsoft-defender-antivirus.md b/windows/security/threat-protection/microsoft-defender-antivirus/utilize-microsoft-cloud-protection-microsoft-defender-antivirus.md index 9eb816975e..82c32b2956 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/utilize-microsoft-cloud-protection-microsoft-defender-antivirus.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/utilize-microsoft-cloud-protection-microsoft-defender-antivirus.md @@ -18,7 +18,7 @@ ms.custom: nextgen **Applies to:** -- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) +- Microsoft Defender Antivirus Microsoft next-generation technologies in Microsoft Defender Antivirus provide near-instant, automated protection against new and emerging threats. To dynamically identify new threats, these technologies work with large sets of interconnected data in the Microsoft Intelligent Security Graph and powerful artificial intelligence (AI) systems driven by advanced machine learning models. From 139a8c67f0a8406402cb38e4208d9a20db6feb30 Mon Sep 17 00:00:00 2001 From: MaratMussabekov <48041687+MaratMussabekov@users.noreply.github.com> Date: Sun, 30 Aug 2020 16:35:13 +0500 Subject: [PATCH 11/23] Add files via upload --- .../images/turnontamperprotect-MEM.png | Bin 0 -> 85225 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-antivirus/images/turnontamperprotect-MEM.png diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/images/turnontamperprotect-MEM.png b/windows/security/threat-protection/microsoft-defender-antivirus/images/turnontamperprotect-MEM.png new file mode 100644 index 0000000000000000000000000000000000000000..0b0516183a44b41e553ba9536ca5ab5b43919c42 GIT binary patch literal 85225 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 Date: Sun, 30 Aug 2020 16:35:27 +0500 Subject: [PATCH 12/23] Update prevent-changes-to-security-settings-with-tamper-protection.md --- ...es-to-security-settings-with-tamper-protection.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md b/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md index 52690f977b..ffe16a1e76 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md @@ -80,24 +80,20 @@ If you are a home user, or you are not subject to settings managed by a security ## Turn tamper protection on (or off) for your organization using Intune -If you are part of your organization's security team, and your subscription includes [Intune](https://docs.microsoft.com/intune/fundamentals/what-is-intune), you can turn tamper protection on (or off) for your organization in the Microsoft 365 Device Management portal ([https://aka.ms/intuneportal](https://aka.ms/intuneportal)). - -> [!NOTE] -> The ability to manage tamper protection in Intune is rolling out now; if you don't have it yet, you should very soon, assuming your organization has [Microsoft Defender Advanced Threat Protection](../microsoft-defender-atp/whats-new-in-microsoft-defender-atp.md) (Microsoft Defender ATP) and that you meet the prerequisites listed below. +If you are part of your organization's security team, and your subscription includes [Intune](https://docs.microsoft.com/intune/fundamentals/what-is-intune), you can turn tamper protection on (or off) for your organization in the [Microsoft Endpoint Manager admin center](https://endpoint.microsoft.com) portal. You must have appropriate [permissions](../microsoft-defender-atp/assign-portal-access.md), such as global admin, security admin, or security operations, to perform the following task. 1. Make sure your organization meets all of the following requirements to manage tamper protection using Intune: - - Your organization must have [Microsoft Defender ATP E5](https://www.microsoft.com/microsoft-365/windows/microsoft-defender-atp) (this is included in [Microsoft 365 E5](https://docs.microsoft.com/microsoft-365/enterprise/microsoft-365-overview)). - Your organization uses [Intune to manage devices](https://docs.microsoft.com/intune/fundamentals/what-is-device-management). ([Intune licenses](https://docs.microsoft.com/intune/fundamentals/licenses) are required; this is included in Microsoft 365 E5.) - Your Windows machines must be running Windows 10 OS [1709](https://docs.microsoft.com/windows/release-information/status-windows-10-1709), [1803](https://docs.microsoft.com/windows/release-information/status-windows-10-1803), [1809](https://docs.microsoft.com/windows/release-information/status-windows-10-1809-and-windows-server-2019) or later. (See [Windows 10 release information](https://docs.microsoft.com/windows/release-information/) for more details about releases.) - You must be using Windows security with [security intelligence](https://www.microsoft.com/wdsi/definitions) updated to version 1.287.60.0 (or above). - Your machines must be using anti-malware platform version 4.18.1906.3 (or above) and anti-malware engine version 1.1.15500.X (or above). ([Manage Microsoft Defender Antivirus updates and apply baselines](manage-updates-baselines-microsoft-defender-antivirus.md).) -2. Go to the Microsoft 365 Device Management portal ([https://devicemanagement.microsoft.com](https://devicemanagement.microsoft.com)) and sign in with your work or school account. +2. Go to the [Microsoft Endpoint Manager admin center](https://endpoint.microsoft.com) portal and sign in with your work or school account. -3. Select **Device configuration** > **Profiles**. +3. Select **Devices** > **Configuration Profiles**. 4. Create a profile as follows: @@ -109,7 +105,7 @@ You must have appropriate [permissions](../microsoft-defender-atp/assign-portal- - Tamper Protection: **Enabled** - ![Turn tamper protection on with Intune](images/turnontamperprotect-intune.png) + ![Turn tamper protection on with Intune](images/turnontamperprotect-MEM.png) 5. Assign the profile to one or more groups. From 55a6a890d86632339ed2571be21aabbdfe038de4 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 31 Aug 2020 14:19:54 -0700 Subject: [PATCH 13/23] Update required-windows-diagnostic-data-events-and-fields-2004.md --- ...-diagnostic-data-events-and-fields-2004.md | 6443 ++++++++++++++++- 1 file changed, 6340 insertions(+), 103 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 42ac740880..4bf85d6fab 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 @@ -13,7 +13,7 @@ manager: dansimp ms.collection: M365-security-compliance ms.topic: article audience: ITPro -ms.date: 03/27/2020 +ms.date: 08/31/2020 --- @@ -38,6 +38,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: +- [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) @@ -52,28 +53,290 @@ You can learn more about Windows functional and diagnostic data through these ar ### 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. +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 count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_19H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_20H1** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_20H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_21H1** The count of the number of this particular object type present on this device. - **DatasourceApplicationFile_21H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceApplicationFile_RS2** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceApplicationFile_RS3** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_RS4** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_RS5** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_TH1** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_TH2** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_19H1** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_19H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_20H1** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_20H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_21H1** The count of the number of this particular object type present on this device. - **DatasourceDevicePnp_21H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DatasourceDevicePnp_RS2** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS3** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS4** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS4Setup** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS5** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS5Setup** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_TH1** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_TH2** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_19H1** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_19H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_20H1** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_20H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_21H1** The count of the number of this particular object type present on this device. - **DatasourceDriverPackage_21H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DatasourceDriverPackage_RS2** The total DataSourceDriverPackage objects targeting Windows 10, version 1703 on this device. +- **DatasourceDriverPackage_RS3** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_RS4** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_RS4Setup** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_RS5** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_RS5Setup** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_TH1** The count of the number of this particular object type present on this device. +- **DatasourceDriverPackage_TH2** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_19H1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_19H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_20H1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_20H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_21H1** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoBlock_21H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoBlock_RS2** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_RS3** 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. +- **DataSourceMatchingInfoBlock_RS5** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_TH1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoBlock_TH2** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_19H1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_19H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_20H1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_20H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_21H1** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoPassive_21H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPassive_RS2** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_RS3** 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. +- **DataSourceMatchingInfoPassive_RS5** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_TH1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPassive_TH2** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_19H1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_19H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_20H1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_20H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_21H1** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoPostUpgrade_21H1Setup** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPostUpgrade_RS2** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 on this device. +- **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1709 on this device. +- **DataSourceMatchingInfoPostUpgrade_RS4** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS5** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_TH1** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_TH2** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_19H1** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_19H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_20H1** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_20H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_21H1** The count of the number of this particular object type present on this device. - **DatasourceSystemBios_21H1Setup** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. +- **DatasourceSystemBios_RS2** The total DatasourceSystemBios objects targeting Windows 10 version 1703 present on this device. +- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting Windows 10 version 1709 present on this device. +- **DatasourceSystemBios_RS4** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_RS4Setup** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_RS5** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_RS5Setup** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_TH1** The count of the number of this particular object type present on this device. +- **DatasourceSystemBios_TH2** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_19H1** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_19H1Setup** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_20H1** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_21H1** The count of the number of this particular object type present on this device. - **DecisionApplicationFile_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_RS1** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_RS2** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_RS3** 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. +- **DecisionApplicationFile_RS5** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_TH1** The count of the number of this particular object type present on this device. +- **DecisionApplicationFile_TH2** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_19H1** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_19H1Setup** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_20H1** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_21H1** The count of the number of this particular object type present on this device. - **DecisionDevicePnp_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DecisionDevicePnp_RS2** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_RS3** 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. +- **DecisionDevicePnp_RS4Setup** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_RS5** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_RS5Setup** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_TH1** The count of the number of this particular object type present on this device. +- **DecisionDevicePnp_TH2** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_19H1** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_19H1Setup** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_20H1** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_21H1** The count of the number of this particular object type present on this device. - **DecisionDriverPackage_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DecisionDriverPackage_RS2** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_RS3** 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. +- **DecisionDriverPackage_RS4Setup** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_RS5** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_RS5Setup** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_TH1** The count of the number of this particular object type present on this device. +- **DecisionDriverPackage_TH2** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_19H1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_19H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_20H1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_21H1** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoBlock_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. +- **DecisionMatchingInfoBlock_RS2** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. +- **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1709 present on this device. +- **DecisionMatchingInfoBlock_RS4** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_RS5** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_TH1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoBlock_TH2** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_19H1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_19H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_20H1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_21H1** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPassive_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPassive_RS2** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1703 on this device. +- **DecisionMatchingInfoPassive_RS3** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1803 on this device. +- **DecisionMatchingInfoPassive_RS4** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_RS5** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_TH1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPassive_TH2** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_19H1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_19H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_20H1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_21H1** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPostUpgrade_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPostUpgrade_RS2** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 on this device. +- **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1709 on this device. +- **DecisionMatchingInfoPostUpgrade_RS4** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_RS5** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_TH1** The count of the number of this particular object type present on this device. +- **DecisionMatchingInfoPostUpgrade_TH2** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_19H1** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_19H1Setup** The total DecisionMediaCenter objects targeting the next release of Windows on this device. +- **DecisionMediaCenter_20H1** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_21H1** The count of the number of this particular object type present on this device. - **DecisionMediaCenter_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. +- **DecisionMediaCenter_RS2** The total DecisionMediaCenter objects targeting Windows 10 version 1703 present on this device. +- **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting Windows 10 version 1709 present on this device. +- **DecisionMediaCenter_RS4** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_RS5** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_TH1** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_TH2** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_19H1** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_19H1Setup** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **DecisionSystemBios_20H1** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_21H1** The count of the number of this particular object type present on this device. - **DecisionSystemBios_21H1Setup** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. +- **DecisionSystemBios_RS2** The total DecisionSystemBios objects targeting Windows 10 version 1703 on this device. +- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting Windows 10 version 1709 on this device. +- **DecisionSystemBios_RS4** The total DecisionSystemBios objects targeting Windows 10 version, 1803 present on this device. +- **DecisionSystemBios_RS4Setup** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **DecisionSystemBios_RS5** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **DecisionSystemBios_RS5Setup** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_TH1** The count of the number of this particular object type present on this device. +- **DecisionSystemBios_TH2** The count of the number of this particular object type present on this device. +- **DecisionTest_20H1Setup** The count of the number of this particular object type present on this device. +- **DecisionTest_21H1** The count of the number of this particular object type present on this device. - **DecisionTest_21H1Setup** The count of the number of this particular object type present on this device. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **InventoryMediaCenter** The count of the number of this particular object type present on this device. +- **InventorySystemBios** The count of the number of this particular object type present on this device. +- **InventoryTest** The count of the number of this particular object type present on this device. +- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. - **PCFP** The count of the number of this particular object type present on this device. +- **SystemMemory** The count of the number of this particular object type present on this device. +- **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. +- **SystemProcessorLahfSahf** The count of the number of this particular object 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 count of the number of this particular object type present on this device. +- **SystemWim** The total number of objects of this type present on this device. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **SystemWlan** The total number of objects of this type present on this device. +- **Wmdrm_19H1** The count of the number of this particular object type present on this device. +- **Wmdrm_19H1Setup** The total Wmdrm objects targeting the next release of Windows on this device. +- **Wmdrm_20H1** The count of the number of this particular object type present on this device. +- **Wmdrm_20H1Setup** The total Wmdrm objects targeting the next release of Windows on this device. +- **Wmdrm_21H1** The count of the number of this particular object type present on this device. - **Wmdrm_21H1Setup** The count of the number of this particular object type present on this device. +- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **Wmdrm_RS2** An ID for the system, calculated by hashing hardware identifiers. +- **Wmdrm_RS3** An ID for the system, calculated by hashing hardware identifiers. +- **Wmdrm_RS4** The total Wmdrm objects targeting Windows 10, version 1803 present on this device. +- **Wmdrm_RS5** The count of the number of this particular object type present on this device. +- **Wmdrm_TH1** The count of the number of this particular object type present on this device. +- **Wmdrm_TH2** 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 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 @@ -85,27 +348,16 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **ActiveNetworkConnection** Indicates whether the device is an active network device. -- **CosDeviceRating** An enumeration that indicates if there is a driver on the target operating system. -- **CosDeviceSolution** An enumeration that indicates how a driver on the target operating system is available. -- **CosDeviceSolutionUrl** Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd . Empty string -- **CosPopulatedFromId** The expected uplevel driver matching ID based on driver coverage data. +- **AppraiserVersion** The version of the appraiser file generating the events. - **IsBootCritical** Indicates whether the device boot is critical. -- **UplevelInboxDriver** Indicates whether there is a driver uplevel for 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. - **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. -### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd +### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove -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). - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. +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). @@ -114,11 +366,1299 @@ 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.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.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? +- **DriverIsTroubleshooterBlocked** Indicates whether the driver package is blocked because of a troubleshooter 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.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.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.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. +- **BiosDate** The release date of the BIOS in UTC format. +- **biosName** The name field from Win32_BIOS. +- **BiosName** The name field from Win32_BIOS. +- **manufacturer** The manufacturer field from Win32_ComputerSystem. +- **Manufacturer** The manufacturer field from Win32_ComputerSystem. +- **model** The model field from Win32_ComputerSystem. +- **Model** The model field from Win32_ComputerSystem. + + +### 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. +- **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.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.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.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.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.SystemProcessorPrefetchWEndSync + +Deprecated in RS3. This event indicates that a full set of SystemProcessorPrefetchWAdd 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). + + + +### 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.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.SystemWimEndSync + +Deprecated in RS3. This event indicates that a full set of SystemWimAdd 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). + + + +### 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.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.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 + +### 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. +- **isAudioPostureSupported** Represents whether the device supports AudioPosture. +- **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. + + +### 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 +- **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 SCCM 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 SCCM 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. +- **DeviceForm** Indicates the form as per the device classification. +- **DeviceName** The device name that is set by the user. +- **DigitizerSupport** Is a digitizer supported? +- **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: + +- **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. +- **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. +- **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 education devices used as shared cart +- **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. +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: @@ -161,9 +1701,32 @@ The following fields are available: - **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** If the system has enabled protections needed to validate the speculation control vulnerability. + + ### Census.Security -This event provides information on about security settings used to help keep Windows up to date and secure. +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: @@ -176,6 +1739,7 @@ The following fields are available: - **IsWdagFeatureEnabled** Indicates whether Windows Defender Application Guard is enabled. - **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). @@ -183,6 +1747,194 @@ The following fields are available: - **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 uer'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. +- **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. +- **WifiData** Current state of the Wi-Fi data 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 WU 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 WU 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 @@ -355,25 +2107,174 @@ The following fields are available: - **xid** A list of base10-encoded XBOX User IDs. -## Common data fields +## Component-based servicing events -### Ms.Device.DeviceInventoryChange +### CbsServicingProvider.CbsCapabilityEnumeration -Describes the installation state for all hardware and software components available on a particular device. +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: -- **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. +- **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. + -## Component-based Servicing events ### Microsoft.Windows.CbsLite.CbsLiteResetBegin -This event is fired from Update OS when re-install of the OS begins. +This event is fired from Update OS when re-install of the OS begins. The data collected with this event is used to keep Windows performing properly. The following fields are available: @@ -381,31 +2282,273 @@ The following fields are available: - **resetFlags** A flag containing the detail of which reset scenarios was executed. - **wipeDuration** The time taken to purge the system volume and format data volume. + +## 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. +- **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. +- **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** Retrieves the last time the device lost free network. +- **NetworkState** The network state of the device. +- **NoNetworkTime** Retrieves the time spent with no network (since the last time) in seconds. +- **RestrictedNetworkTime** Retrieves the time spent on a metered (cost restricted) network in seconds. + + +### 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. + + ## 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 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.DISMUninstallLCU +### Microsoft.Windows.StartRepairCore.DISMPendingInstall -The DISM Uninstall LCU sends information to report result of uninstall attempt for found LCU. +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. +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: @@ -441,6 +2584,7 @@ The following fields are available: - **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. @@ -459,6 +2603,95 @@ The following fields are available: - **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 WU (Windows Update) 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. +- **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. +- **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. + + +## DXDiag events + +### Microsoft.Windows.DxDiag.DxDiagExeStopEvent + +This event collects information when the DirectX diagnostics provider stops. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **hResult** Numeric value indicating the result of the operation. + + +### Microsoft.Windows.DxDiag.DxDiagProviderErrorStatistics + +This event provides statistics of major error(s) occurred during data collection, when data has not been properly collected in some queries. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **AudioFailed** Number of failed queries. +- **AudioHr** Error code for the last failed query. +- **AudioTotal** Total number of queries for audio devices. +- **GpuFailed** Number of failed queries. +- **GpuHr** Error code for the last failed query. +- **GpuTotal** Total number of queries for GPUs. +- **IsDesktop** Desktop vs WCOS SKU. +- **VideoCaptureFailed** Number of failed queries. +- **VideoCaptureHr** Error code for the last failed query. +- **VideoCaptureTotal** Total number of queries for video capture devices. + + +### Microsoft.Windows.DxDiag.DxDiagProviderMinorErrors + +This event collects information when recoverable errors were encountered. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **DisplayInfo** A mask with errors occurred during collection GPU information. +- **SystemInfo** A mask with errors occurred during system information collection. + + +### Microsoft.Windows.DxDiag.DxDiagProviderStart + +This event collects information when the DirectX diagnostics provider starts. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **IsISV** Boolean value indicating that the provider is being used by a non-Microsoft application. + + ## DxgKernelTelemetry events ### DxgKrnlTelemetry.GPUAdapterInventoryV2 @@ -475,10 +2708,12 @@ The following fields are available: - **DDIInterfaceVersion** The device driver interface version. - **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. @@ -487,6 +2722,7 @@ The following fields are available: - **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. - **GPURevisionID** The GPU revision ID. - **GPUVendorID** The GPU vendor ID. +- **IddPairedRenderAdapterLuid** Identifier for the render adapter paired with this display adapter. - **InterfaceFuncPointersProvided1** Number of device driver interface function pointers provided. - **InterfaceFuncPointersProvided2** Number of device driver interface function pointers provided. - **InterfaceId** The GPU interface ID. @@ -506,6 +2742,7 @@ The following fields are available: - **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? +- **NumNonVidPnTargets** Number of display targets. - **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). @@ -517,19 +2754,148 @@ The following fields are available: - **WDDMVersion** The Windows Display Driver Model version. +## 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. +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. +## Feedback events + +### Microsoft.Windows.Fundamentals.UserInitiatedFeedback.SimilarFeedbackSelection + +This event measures the usage for Similar Feedback section in Feedback Hub. The data collected with this event is used to keep Windows performing properly. + +The following fields are available: + +- **ActivityDuration** Time it tool to make a selection. +- **HasDuplicateData** Indicates if duplicate data is available. +- **HasWorkItem** Indicates if a work item is associated. +- **IsCollection** Indicates if selection is collection. +- **IsNewFeedback** Indicates if selection is new feedback. +- **LetTeamTriage** Indicates if selection is for triage. +- **MakeBug** Indicates if selection is to create a bug. +- **MakeDuplicate** Indicates if selection is to create a duplicate bug. +- **ResultsFounds** Total results shown. +- **SearchExperiment** Experiment ID used. +- **SelectedPosition** Position of the selection. +- **SelectedScore** Search score of selection. +- **ServiceCallDuration** Time for service results. +- **Source** Method used to get results. + + +## 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.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. +- **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. + + +### Microsoft.Windows.Analog.Spectrum.TelemetryHolographicDeviceRemoved + +This event indicates Windows Mixed Reality device state. The data collected with this event is used to keep Windows and Windows Mixed Reality performing properly. + +The following fields are available: + +- **DeviceInterfaceId** Device Interface ID. + + +### 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. +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: @@ -539,49 +2905,92 @@ The following fields are available: - **PreviousExecutionState** Windows Mixed Reality Portal app prior execution state. - **wilActivity** Windows Mixed Reality Portal app wilActivity ID. See [wilActivity](#wilactivity). -### wilActivity - -This event provides a Windows Internal Library context used for Product and Service diagnostics. - -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. - ### Microsoft.Windows.Shell.HolographicFirstRun.AppLifecycleService_Resuming -This event indicates Windows Mixed Reality Portal app resuming. This event is also used to count WMR device. +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. + + + +### Microsoft.Windows.Shell.HolographicFirstRun.SomethingWentWrong + +This event is emitted when something went wrong error occurs. The data collected with this event is used to keep Windows and Windows Mixed Reality performing properly. + +The following fields are available: + +- **ErrorSource** Source of error, obsoleted always 0. +- **StartupContext** Start up state. +- **StatusCode** Error status code. +- **SubstatusCode** Error sub status code. + + +### TraceLoggingHoloLensSensorsProvider.OnDeviceAdd + +This event provides Windows Mixed Reality device state with new process that hosts the driver. The data collected with this event is used to keep Windows and Windows Mixed Reality performing properly. + +The following fields are available: + +- **Process** Process ID. +- **Thread** Thread ID. + + +### 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. +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. - **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 @@ -604,12 +3013,76 @@ The following fields are available: - **InventoryMiscellaneousOfficeVBARuleViolations** A count of office vba rule violations objects in cache - **InventoryMiscellaneousUUPInfo** A count of uup info 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. +- **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.InventoryApplicationFrameworkAdd -This event provides the basic metadata about the frameworks an application may depend on. +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). @@ -620,9 +3093,42 @@ The following fields are available: - **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) to help keep Windows up to date. +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). @@ -631,6 +3137,7 @@ 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? @@ -643,9 +3150,249 @@ The following fields are available: - **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: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **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.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** The strong name of the driver package +- **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 to help keep Windows up to date. +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). @@ -665,6 +3412,40 @@ The following fields are available: - **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.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. @@ -682,14 +3463,78 @@ The following fields are available: - **TypeDetails** Reports Non-volatile, etc. as a bit flag enumeration per DMTF SMBIOS standard version 3.3.0, section 7.18.3. -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousMemorySlotArrayInfoStartSync -Provides data on the Office identifiers. +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.InventoryMiscellaneousOfficeAddInAdd + +This event provides data on the installed Office add-ins. 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: +- **AddinCLSID** The class identifier key for the Microsoft Office add-in. +- **AddInCLSID** The class identifier key for the Microsoft Office add-in. +- **AddInId** The identifier for the Microsoft Office add-in. +- **AddinType** The type of the Microsoft Office add-in. +- **BinFileTimestamp** The timestamp of the Office add-in. +- **BinFileVersion** The version of the Microsoft Office add-in. +- **Description** Description of the Microsoft Office add-in. +- **FileId** The file identifier of the Microsoft Office add-in. +- **FileSize** The file size of the Microsoft Office add-in. +- **FriendlyName** The friendly name for the Microsoft Office add-in. +- **FullPath** The full path to the Microsoft Office add-in. +- **InventoryVersion** The version of the inventory binary generating the events. +- **LoadBehavior** Integer that describes the load behavior. +- **LoadTime** Load time for the Office add-in. +- **OfficeApplication** The Microsoft Office application associated with the add-in. +- **OfficeArchitecture** The architecture of the add-in. +- **OfficeVersion** The Microsoft Office version for this add-in. +- **OutlookCrashingAddin** Indicates whether crashes have been found for this add-in. +- **ProductCompany** The name of the company associated with the Office add-in. +- **ProductName** The product name associated with the Microsoft Office add-in. +- **ProductVersion** The version associated with the Office add-in. +- **ProgramId** The unique program identifier of the Microsoft Office add-in. +- **Provider** Name of the provider for this add-in. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove + +This event indicates that the 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInStartSync + +This event indicates that 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd + +This event provides data on the Office identifiers. 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 binary generating the events. - **OAudienceData** Sub-identifier for Microsoft Office release management, identifying the pilot group for a device - **OAudienceId** Microsoft Office identifier for Microsoft Office release management, identifying the pilot group for a device - **OMID** Identifier for the Office SQM Machine @@ -699,28 +3544,368 @@ The following fields are available: - **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync -Describes Office Products installed. +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). The following fields are available: +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsAdd + +This event provides data on Office-related Internet Explorer features. 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 binary generating the events. +- **OIeFeatureAddon** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_ADDON_MANAGEMENT feature lets applications hosting the WebBrowser Control to respect add-on management selections made using the Add-on Manager feature of Internet Explorer. Add-ons disabled by the user or by administrative group policy will also be disabled in applications that enable this feature. +- **OIeMachineLockdown** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_LOCALMACHINE_LOCKDOWN feature is enabled, Internet Explorer applies security restrictions on content loaded from the user's local machine, which helps prevent malicious behavior involving local files. +- **OIeMimeHandling** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_MIME_HANDLING feature control is enabled, Internet Explorer handles MIME types more securely. Only applies to Windows Internet Explorer 6 for Windows XP Service Pack 2 (SP2) +- **OIeMimeSniffing** Flag indicating which Microsoft Office products have this setting enabled. Determines a file's type by examining its bit signature. Windows Internet Explorer uses this information to determine how to render the file. The FEATURE_MIME_SNIFFING feature, when enabled, allows to be set differently for each security zone by using the URLACTION_FEATURE_MIME_SNIFFING URL action flag +- **OIeNoAxInstall** Flag indicating which Microsoft Office products have this setting enabled. When a webpage attempts to load or install an ActiveX control that isn't already installed, the FEATURE_RESTRICT_ACTIVEXINSTALL feature blocks the request. When a webpage tries to load or install an ActiveX control that isn't already installed, the FEATURE_RESTRICT_ACTIVEXINSTALL feature blocks the request +- **OIeNoDownload** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_RESTRICT_FILEDOWNLOAD feature blocks file download requests that navigate to a resource, that display a file download dialog box, or that are not initiated explicitly by a user action (for example, a mouse click or key press). Only applies to Windows Internet Explorer 6 for Windows XP Service Pack 2 (SP2) +- **OIeObjectCaching** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_OBJECT_CACHING feature prevents webpages from accessing or instantiating ActiveX controls cached from different domains or security contexts +- **OIePasswordDisable** Flag indicating which Microsoft Office products have this setting enabled. After Windows Internet Explorer 6 for Windows XP Service Pack 2 (SP2), Internet Explorer no longer allows usernames and passwords to be specified in URLs that use the HTTP or HTTPS protocols. URLs using other protocols, such as FTP, still allow usernames and passwords +- **OIeSafeBind** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_SAFE_BINDTOOBJECT feature performs additional safety checks when calling MonikerBindToObject to create and initialize Microsoft ActiveX controls. Specifically, prevent the control from being created if COMPAT_EVIL_DONT_LOAD is in the registry for the control +- **OIeSecurityBand** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_SECURITYBAND feature controls the display of the Internet Explorer Information bar. When enabled, the Information bar appears when file download or code installation is restricted +- **OIeUncSaveCheck** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_UNC_SAVEDFILECHECK feature enables the Mark of the Web (MOTW) for local files loaded from network locations that have been shared by using the Universal Naming Convention (UNC) +- **OIeValidateUrl** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_VALIDATE_NAVIGATE_URL feature control prevents Windows Internet Explorer from navigating to a badly formed URL +- **OIeWebOcPopup** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_WEBOC_POPUPMANAGEMENT feature allows applications hosting the WebBrowser Control to receive the default Internet Explorer pop-up window management behavior +- **OIeWinRestrict** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_WINDOW_RESTRICTIONS feature adds several restrictions to the size and behavior of popup windows +- **OIeZoneElevate** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_ZONE_ELEVATION feature prevents pages in one zone from navigating to pages in a higher security zone unless the navigation is generated by the user + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsStartSync + +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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsAdd + +This event provides insight data on the installed Office products. 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 binary generating the events. +- **OfficeApplication** The name of the Office application. +- **OfficeArchitecture** The bitness of the Office application. +- **OfficeVersion** The version of the Office application. +- **Value** The insights collected about this entity. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsRemove + +This event indicates that the 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsStartSync + +This diagnostic event indicates that 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd + +This event describes all installed Office products. 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 binary generating the events. - **OC2rApps** A GUID the describes the Office Click-To-Run apps - **OC2rSkus** Comma-delimited list (CSV) of Office Click-To-Run products installed on the device. For example, Office 2016 ProPlus - **OMsiApps** Comma-delimited list (CSV) of Office MSI products installed on the device. For example, Microsoft Word - **OProductCodes** A GUID that describes the Office MSI products +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsStartSync + +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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsAdd + +This event describes various Office settings. 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: + +- **BrowserFlags** Browser flags for Office-related products. +- **ExchangeProviderFlags** Provider policies for Office Exchange. +- **InventoryVersion** The version of the inventory binary generating the events. +- **SharedComputerLicensing** Office shared computer licensing policies. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync + +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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAAdd + +This event provides a summary rollup count of conditions encountered while performing a local scan of Office files, analyzing for known VBA programmability compatibility issues between legacy office version and ProPlus, and between 32 and 64-bit versions. 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: + +- **Design** Count of files with design issues found. +- **Design_x64** Count of files with 64 bit design issues found. +- **DuplicateVBA** Count of files with duplicate VBA code. +- **HasVBA** Count of files with VBA code. +- **Inaccessible** Count of files that were inaccessible for scanning. +- **InventoryVersion** The version of the inventory binary generating the events. +- **Issues** Count of files with issues detected. +- **Issues_x64** Count of files with 64-bit issues detected. +- **IssuesNone** Count of files with no issues detected. +- **IssuesNone_x64** Count of files with no 64-bit issues detected. +- **Locked** Count of files that were locked, preventing scanning. +- **NoVBA** Count of files with no VBA inside. +- **Protected** Count of files that were password protected, preventing scanning. +- **RemLimited** Count of files that require limited remediation changes. +- **RemLimited_x64** Count of files that require limited remediation changes for 64-bit issues. +- **RemSignificant** Count of files that require significant remediation changes. +- **RemSignificant_x64** Count of files that require significant remediation changes for 64-bit issues. +- **Score** Overall compatibility score calculated for scanned content. +- **Score_x64** Overall 64-bit compatibility score calculated for scanned content. +- **Total** Total number of files scanned. +- **Validation** Count of files that require additional manual validation. +- **Validation_x64** Count of files that require additional manual validation for 64-bit issues. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARemove + +This event indicates that the 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsAdd + +This event provides data on Microsoft Office VBA rule violations, including a rollup count per violation type, giving an indication of remediation requirements for an organization. The event identifier is a unique GUID, associated with the validation rule. 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: + +- **Count** Count of total Microsoft Office VBA rule violations +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsRemove + +This event indicates that the 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsStartSync + +This event indicates that 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAStartSync + +This diagnostic event indicates that 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). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### 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. +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.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 + +### 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. +- **RebootRequiredReason** Provides the reason why a reboot is required. +- **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.Windows.Kernel.Power.WinloadFatalError + +This event provides Winload fatal error information. The data collected with this event is used to keep Windows performing properly. + +The following fields are available: + +- **errorBootId** The first boot sequence this error code was encountered since the last successful boot. +- **errorCode** The code from OslFatalErrorEx. +- **errorStatus** The status from OslFatalErrorEx. +- **otherErrorCount** The number of times other error codes have been encountered on subsequent boot attempts. +- **repeatCount** The number of times this error code has been repeated on subsequent boot attempts. ## Microsoft Edge events @@ -758,6 +3943,7 @@ This config event sends basic device connectivity and configuration information 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). - **Channel** An integer indicating the channel of the installation (Canary or Dev). @@ -783,6 +3969,7 @@ This config event sends basic device connectivity and configuration information 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). @@ -832,7 +4019,7 @@ The following fields are available: ### Aria.af397ef28e484961ba48646a5d38cf54.Microsoft.WebBrowser.Installer.EdgeUpdate.Ping -The Ping event sends a detailed inventory of software and hardware information about the EdgeUpdate user's version, app usage, update usage, and hardware capabilities. This event contains Device Connectivity and Configuration, Product and Service Performance, Product and Service Usage, and Software Setup and Inventory data. One roll-up event is sent each time any installation, update, or uninstallation process, including an error, occurs in the EdgeUpdate service. Each Ping event can contain an arbitrary number of apps which have been modified, and each of these apps in turn can fire multiple event types. This event is used to measure the reliability, performance, and usage of the EdgeUpdate service. +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: @@ -851,11 +4038,15 @@ The following fields are available: - **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'. @@ -870,6 +4061,7 @@ The following fields are available: - **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. - **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'. @@ -893,6 +4085,7 @@ The following fields are available: - **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: ''. @@ -927,7 +4120,7 @@ The following fields are available: ### 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 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: @@ -997,6 +4190,43 @@ The following fields are available: - **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. + + ## MUI events ### MuiResourceLoaderTraceLogging.MapAndVerifyResourceFileFailure @@ -1023,16 +4253,153 @@ The following fields are available: - **ResourceFileName** DLL path and name which has a failing service checksum. -### NetworkTelemetry.AccessPointData +## OneDrive events -This event describes the wireless access point to which the Xbox is connected. Collected when a wireless network is joined. +### 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 -### NetworkTelemetry.FlightControllerInitialize +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. -This event is logged when the flight controller attempts to write the hosts file. +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.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.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: + +- **failedCheck** The error code returned by the operation. +- **winInetError** The HResult of the operation. + + +## ONNX runtime 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. + + +## Windows Admin Center events + +### Microsoft.ServerManagementExperience.Gateway.Service.GatewayStatus + +A periodic event that describes Windows Admin Center gateway app's version and other inventory and configuration parameters. + +The following fields are available: + +- **activeNodesByNodeId** A count of how many active nodes are on this gateway, deduplicated by Node ID. +- **activeNodesByUuid** A count of how many active nodes are on this gateway, deduplicated by UUID. +- **AvailableMemoryMByte** A snapshot of the available physical memory on the OS. +- **azureADAppRegistered** If the gateway is registered with an Azure Active Directory. +- **azureADAuthEnabled** If the gateway has enabled authentication using Azure Active Directory. +- **friendlyOsName** A user-friendly name describing the OS version. +- **gatewayCpuUtilizationPercent** A snapshot of CPU usage on the OS. +- **gatewayVersion** The version string for this currently running Gateway application. +- **gatewayWorkingSetMByte** A snapshot of the working set size of the gateway process. +- **installationType** Identifies if the gateway was installed as a VM extension. +- **installedDate** The date on which this gateway was installed. +- **logicalProcessorCount** A snapshot of the how many logical processors the machine running this gateway has. +- **otherProperties** This is an empty string, but may be used for another purpose in the future. +- **registeredNodesByNodeId** A count of how many nodes are registered with this gateway, deduplicated by Node ID. +- **registeredNodesByUuid** A count of how many nodes are registered with this gateway, deduplicated by UUID.. +- **totalCpuUtilizationPercent** A snapshot of the total CPU utilization of the machine running this gateway. + + +## 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 @@ -1051,8 +4418,47 @@ The following fields are available: - **Time** The system time at which the event occurred. +### Microsoft.Windows.Sediment.OSRSS.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. +- **LineNumber** The line number in the code file at which the error occurred. +- **ServiceVersionMajor** The Major version information of the component. +- **ServiceVersionMinor** The Minor version information of the component. +- **Time** The system time at which the event occurred. + + ## Setup events +### Microsoft.Windows.Setup.WinSetupBoot.BootBlockStart + +This event emits the start of the windows setup boot routine during upgrade. This routine determines the state of the upgrade and handles properly moving the upgrade forward or rolling back the device. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **Action** It indicates phase/stage of operation. +- **Detail** It indicates details about the phase/stage of the operation. +- **Rollback** It is blank as this event triggers in success scenario only. +- **Status** It indicates details about the status for getting the disk device object during boot. + + +### Microsoft.Windows.Setup.WinSetupBoot.BootBlockStop + +This event emits the stop of the windows setup boot routine during upgrade. This routine determines the state of the upgrade and handles properly moving the upgrade forward or rolling back the device. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **Action** It indicates phase/stage of operation. +- **Detail** It indicates details about the phase/stage of the operation. +- **Rollback** It is blank as this event triggers in success scenario only. +- **Status** It indicates details about the status for getting the disk device object during boot. + + ### SetupPlatformTel.SetupPlatformTelActivityEvent This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. @@ -1061,14 +4467,370 @@ 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. + + ## 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 +- **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 +- **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 +- **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). +- **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 WU-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. +- **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 +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **SyncType** Describes the type of scan the event was +- **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: + +- **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 +- **ClassificationId** Classification identifier of the update content. +- **DeploymentMutexId** Mutex identifier of the deployment operation. +- **DeploymentProviderHostModule** Name of the module which is hosting the Update Deployment Provider for deployment operation. +- **DeploymentProviderMode** The mode of operation of the update deployment provider. +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **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). +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **UpdateId** Identifier associated with the specific piece of content + + +### 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. +- **AppXScope** Indicates the scope of the app download. +- **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. +- **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 caller who initiated API calls into the software distribution client. +- **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. +- **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. +- **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. +- **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. +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HostName** The hostname URL the content is downloading from. +- **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. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the WU-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. +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." +- **PackageFullName** The package name of the content. +- **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. +- **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). +- **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). +- **TotalExpectedBytes** The total count of bytes that the download is expected to be. +- **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. +- **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: + +- **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** The name provided by the caller who initiated API calls into the software distribution client. +- **ClassificationId** Classification identifier of the update content. +- **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. +- **DeploymentMutexId** Mutex identifier of the deployment operation. +- **DeploymentProviderHostModule** Name of the module which is hosting the Update Deployment Provider for deployment operation. +- **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 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. +- **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. +- **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. +- **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. +- **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 WU-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. +- **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. +- **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.). +- **StatusCode** Indicates the result of an installation 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. +- **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. +- **ClassificationId** Classification identifier of the update content. +- **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. +- **DeploymentMutexId** Mutex identifier of the deployment operation. +- **DeploymentProviderHostModule** Name of the module which is hosting the Update Deployment Provider for deployment operation. +- **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 WU-for-Business dual scan is enabled on the device. +- **IsWUfBEnabled** Flag indicating whether WU-for-Business is enabled on the device. +- **IsWUfBTargetVersionEnabled** Flag that indicates if the WU-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 -Uninstall event for target update on Windows Update Client. See EventScenario field for specifics (for example, Started/Failed/Succeeded). +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: @@ -1115,11 +4877,667 @@ The following fields are available: - **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). +- **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.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. + + +## Update Assistant events + +### Microsoft.Windows.QUALauncher.Applicable + +This event sends basic information when AQUA launches and checks for any self 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. +- **DetectedCondition** Checks if device condition was met for running remediation. +- **FileVersion** Current file version. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this device. +- **IsHashMismatch** Checks if the hash of the payload matches the one specified in OneSettings. +- **IsSelfUpdateEnabledInOneSettings** Checks if self update is enabled. +- **IsSelfUpdateNeeded** Checks if self update is needed. All the conditions are satisfied. +- **PackageVersion** Current package version. +- **PluginName** Plugin name. +- **Result** Result. +- **SelfUpdatePackageVersion** Version of the updated package installed. +- **SelUpdatePackageVersion** Version of the new package. + + +### 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. +- **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.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.MitigationRejected + +This event is raised when a targeted mitigation is rejected by the device based on the device's preference, or if it has already been applied. This enables us to find out why an applicable mitigation was not executed by the device. Data from this event is used to measure the health of mitigations service stack 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: + +- **description** String describing why a mitigation was rejected. +- **mitigationId** GUID identifier for a mitigation. +- **mitigationVersion** Version of the mitigation. +- **SessionId** GUID identifier to link events to a single session/execution of the mitigation service. +- **subType** Integer value describing the reason type of why a mitigation was rejected. + + +### 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. + + +### 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. +- **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. +- **ExpediteUsoLastError** The last error returned by USO. +- **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.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. +- **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. +- **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. +- **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 + +This event sends telemetry that USO scan has been 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. +- **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** 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 SCCM managed. +- **UnifiedInstallerDeviceIsSccmManagedHresult** The result code from checking whether a device is SCCM managed. +- **UnifiedInstallerDeviceWufbManaged** Boolean indicating whether a device is Wufb managed. +- **UnifiedInstallerDeviceWufbManagedHresult** The result code from checking whether a device is Wufb managed. +- **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.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. +- **UpdateHealthToolsDeviceSccmManaged** Device is managed by SCCM. +- **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. +- **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. +- **UpdateHealthToolsPushCurrentStep** The current step for the push notification + + +### Microsoft.Windows.UpdateHealthTools.UpdateHealthToolsServiceBlockedByNoAADJoin + +This event indicates that the device is not AAD joined so service stops. 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. + + +### 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. +- **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. +- **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. +- **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. +- **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. + + +### 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. +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: @@ -1129,20 +5547,276 @@ The following fields are available: - **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. +- **SetupLaunchAttemptCount** Indicates the count of attempts to launch setup for the current Update Agent instance. +- **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: + +- **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 WU scenario, this will be the WU 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. @@ -1151,6 +5825,84 @@ The following fields are available: - **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. @@ -1158,6 +5910,7 @@ This event sends data indicating that the device has invoked the unexpected even 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 @@ -1172,11 +5925,506 @@ The following fields are available: - **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: + +- **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 Defender events + +### Microsoft.Windows.Sense.Client.PerformanceScript.OnboardingScript + +This event is triggered whenever WDATP onboarding script is run. The data collected with this event is used to keep Windows performing properly. + +The following fields are available: + +- **Message** Error message. + + +## 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 Hardware Error Architecture events + +### WheaProvider.WheaDriverErrorExternal + +This event is sent when a common platform hardware error is recorded by an external WHEA error source driver. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **creatorId** A GUID that identifies the entity that created the error record. +- **errorFlags** Flags set on the error record. +- **notifyType** A GUID that identifies the notification mechanism by which an error condition is reported to the operating system. +- **partitionId** A GUID that identifies the partition on which the hardware error occurred. +- **platformId** A GUID that identifies the platform on which the hardware error occurred. +- **record** A binary blob containing the full error record. Due to the nature of common platform error records we have no way of fully parsing this blob for any given record. +- **recordId** The identifier of the error record. This identifier is unique only on the system that created the error record. +- **sectionFlags** The flags for each section recorded in the error record. +- **sectionTypes** A GUID that represents the type of sections contained in the error record. +- **severityCount** The severity of each individual section. +- **timeStamp** Error time stamp as recorded in the error record. + + +### WheaProvider.WheaDriverErrorExternalNonCritical + +This event is sent when a common platform hardware error is recorded by an external WHEA error source driver. These records are for events that can happen at high rates. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **creatorId** A GUID that identifies the entity that created the error record. +- **errorFlags** Flags set on the error record. +- **notifyType** A GUID that identifies the notification mechanism by which an error condition is reported to the operating system. +- **partitionId** A GUID that identifies the partition on which the hardware error occurred. +- **platformId** A GUID that identifies the platform on which the hardware error occurred. +- **record** A binary blob containing the full error record. Due to the nature of common platform error records we have no way of fully parsing this blob for any given record. +- **recordId** The identifier of the error record. This identifier is unique only on the system that created the error record. +- **sectionFlags** The flags for each section recorded in the error record. +- **sectionTypes** A GUID that represents the type of sections contained in the error record. +- **severityCount** The severity of each individual section. +- **timeStamp** Error time stamp as recorded in the error record. + + +### WheaProvider.WheaDriverExternalLogginLimitReached + +This event indicates that WHEA has reached the logging limit for critical events from external drivers. The data collected with this event is used to help keep Windows up to date and performing properly. + +The following fields are available: + +- **timeStamp** Time at which the logging limit was reached. + + +### 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 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.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.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.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. +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: @@ -1190,6 +6438,240 @@ The following fields are available: - **wUfBConnected** Result of WUfB 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 WUfB 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.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 semi-annual channel. +- **wUfBConnected** Result of WUfB connection check. + + +## 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. +- **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. + + +### 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. +- **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. +- **groupConnectionCount** The total number of connections made to peers in the same group. +- **groupID** A GUID representing a custom group of devices. +- **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). + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadHungItself + +This event sends data describing a download that has become unexpectedly stuck to enable Delivery Optimization to understand and address problems regarding downloads. + +The following fields are available: + +- **background** Indicates if the download is happening in the background. +- **cdnIp** Indicates the IP Address of the source CDN. +- **cdnUrl** Represents the URL of the source CDN. +- **errorCode** Indicates the error code returned. +- **experimentId** Used to correlate client/services calls that are part of the same test during A/B testing. +- **fileID** Represents the ID of the file being downloaded. +- **isVpn** Indicates if the machine is connected to a Virtual Private Network. +- **jobID** Identifier for the Windows Update Job. +- **predefinedCallerName** Represents the name of the API Caller. +- **progressPercent** Indicates the percent of download completed. +- **sessionID** Indicates the ID for the file download session. +- **updateID** Represents the ID of the update being downloaded. + + +### 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. +- **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. + + +### 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. +- **predefinedCallerName** Name of the API Caller. + + ## Windows Update events ### Microsoft.Windows.Update.DataMigrationFramework.DmfMigrationStarted @@ -1204,59 +6686,816 @@ The following fields are available: - **WuClientId** The GUID of the Windows Update client invoking DMF -## XBOX events +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary -### Microsoft.Gaming.Install.ResurrectedInstall - -This event is logged when app installation resumes on Xbox console. +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: -- **InstanceId** App install instance ID. -- **Result** App install resume result. +- **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.Xbox.XceBridge.CS.1.0.0.9.0.2.SFR.ConnectedStandbyEnterEnd +### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest -This event is triggered when connected standby is finished activating. +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** The unique identifier 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: + +- **wilActivity** This struct provides a Windows Internal Library context used for Product and Service diagnostics. See [wilActivity](#wilactivity). + + +### 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.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. +- **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.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. +- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. +- **interactive** Identifies if session is user initiated. +- **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.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. -### NuiServiceTelemetryProvider.DriverSensorFirmwareVersion +### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask -This event reports the version of the currently installed firmware. +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: + +- **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.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.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** WU 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.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.Update.Ux.NotifyIcon.RebootScheduled + +This event is reported when user schedules restart. The data collected with this event is used to help keep Windows secure and up to date. + +The following fields are available: + +- **activeHoursApplicable** Indicates if active hours are applicable. +- **IsEnhancedEngagedReboot** Indicates if enhanced engaged restarts applies. +- **rebootArgument** Represents reboot argument. +- **rebootOutsideOfActiveHours** Reboot outside of active hours. +- **rebootScheduledByUser** Restart scheduled by the user. +- **rebootState** Indicates reboot state. +- **rebootUsingSmartScheduler** Reboot using Smart Scheduler. +- **revisionNumber** Represents the revision number. +- **scheduledRebootTime** Indicates scheduled reboot time. +- **scheduledRebootTimeInUTC** Indicates scheduled reboot time in UTC. +- **updateId** Represents update ID. +- **wuDeviceid** Represents device ID. + + +## 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 WU scenario, this will be the WU 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. + + +## 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. +- **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. -### NuiServiceTelemetryProvider.DriverSensorHardwareVersion +### Microsoft.Windows.UpdateReserveManager.TurnOffReserves -This event reports basic and raw hardware version of the NUI sensor. Also reports serial number. +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 -### NuiServiceTelemetryProvider.SensorFirmwareDeviceError +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. -This event reports sensor firmware device error. +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 -### SignInArbiter.AutoPairingGeneralInfo +### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon -This event is reported at various times to note system state. - - - -### XceDiagnosticUploadable.UploaderPerfHeartbeat - -This event reports a digest of a number of different counters that are tracked locally by the uploader. +This event signals the completion of the setup process. It happens only once during the first logon. ## XDE events +### Microsoft.Emulator.Xde.RunTime.SystemReady + +This event sends basic information on the XDE application to understand and address performance issues relating to the emulator startup. The data collected with this event is used to keep Windows performing properly. + +The following fields are available: + +- **timeTakenMilliseconds** Time in milliseconds it took to be ready for user interaction. +- **usingSnapshot** True if using a snapshot. + + ### Microsoft.Emulator.Xde.RunTime.XdeStarted -This event sends basic information regarding the XDE process to address problems with emulator start. +This event sends basic information regarding the XDE process to address problems with emulator start. The data collected with this event is used to keep Windows performing properly. The following fields are available: @@ -1270,6 +7509,7 @@ The following fields are available: - **diffDiskVhd** Diff disk name. - **displayName** Display name. - **fastShutdown** True if should try to shutdown quickly. +- **gpuDisabled** True if GPU is disabled. - **language** Language to use for UI. - **memSize** Memory size. - **natDisabled** True if NAT is to be disabled. @@ -1291,6 +7531,3 @@ The following fields are available: - **virtualMachineName** VM name. - **waitForClientConnection** True if we should wait for client connection. - **wp81NetworkStackDisabled** WP 8.1 networking stack disabled. - - - From 7813c4b7cb00ac58985b764ee99b21507fdf7ecb Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Mon, 31 Aug 2020 14:24:44 -0700 Subject: [PATCH 14/23] Update prevent-changes-to-security-settings-with-tamper-protection.md --- ...vent-changes-to-security-settings-with-tamper-protection.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md b/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md index ffe16a1e76..3b5daf6c6c 100644 --- a/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md +++ b/windows/security/threat-protection/microsoft-defender-antivirus/prevent-changes-to-security-settings-with-tamper-protection.md @@ -14,6 +14,7 @@ audience: ITPro author: denisebmsft ms.author: deniseb ms.custom: nextgen +ms.date: 08/31/2020 --- # Protect security settings with tamper protection @@ -91,7 +92,7 @@ You must have appropriate [permissions](../microsoft-defender-atp/assign-portal- - You must be using Windows security with [security intelligence](https://www.microsoft.com/wdsi/definitions) updated to version 1.287.60.0 (or above). - Your machines must be using anti-malware platform version 4.18.1906.3 (or above) and anti-malware engine version 1.1.15500.X (or above). ([Manage Microsoft Defender Antivirus updates and apply baselines](manage-updates-baselines-microsoft-defender-antivirus.md).) -2. Go to the [Microsoft Endpoint Manager admin center](https://endpoint.microsoft.com) portal and sign in with your work or school account. +2. Go to the [Microsoft Endpoint Manager admin center](https://endpoint.microsoft.com) and sign in with your work or school account. 3. Select **Devices** > **Configuration Profiles**. From b72b0b4b634b261c7d4b6477bd3ba4886a23b6e4 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Tue, 1 Sep 2020 08:48:44 -0700 Subject: [PATCH 15/23] Update required-windows-diagnostic-data-events-and-fields-2004.md --- ...indows-diagnostic-data-events-and-fields-2004.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 4bf85d6fab..bf6a3bd745 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 @@ -2106,6 +2106,19 @@ The following fields are available: - **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 From 8a23a0fad20ff7ed1510b39cdff76940e21879db Mon Sep 17 00:00:00 2001 From: VARADHARAJAN K <3296790+RAJU2529@users.noreply.github.com> Date: Wed, 2 Sep 2020 12:14:46 +0530 Subject: [PATCH 16/23] replaced mmd to mdm as per the user report # so I replaced mmd to mdm --- .../microsoft-defender-atp/enable-network-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md b/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md index bb2325ee28..77eca8d12f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md +++ b/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md @@ -41,7 +41,7 @@ Enable network protection by using any of these methods: * [PowerShell](#powershell) * [Microsoft Intune](#intune) -* [Mobile Device Management (MDM)](#mobile-device-management-mmd) +* [Mobile Device Management (MDM)](#mobile-device-management-mdm) * [Microsoft Endpoint Configuration Manager](#microsoft-endpoint-configuration-manager) * [Group Policy](#group-policy) From dce25117ed8ee0cde39a866b25b3cad01341f750 Mon Sep 17 00:00:00 2001 From: Thomas Raya Date: Wed, 2 Sep 2020 10:19:45 -0700 Subject: [PATCH 17/23] create UC_workspace_safeguard_queries.png --- .../images/UC_workspace_safeguard_queries.png | Bin 0 -> 258733 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/deployment/update/images/UC_workspace_safeguard_queries.png diff --git a/windows/deployment/update/images/UC_workspace_safeguard_queries.png b/windows/deployment/update/images/UC_workspace_safeguard_queries.png new file mode 100644 index 0000000000000000000000000000000000000000..36bb54260bd8a06f19e07d7b871b1bc7c64bb319 GIT binary patch literal 258733 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 FL3SU-XtHMF+wh-Z94 zKSKs`_>-n}d7DiMY~J3KY|sdbmHO4)uM_16GMG9I!uF3t5n3DFbP7%lk2Sm**z^ z+qn%y2ohgyM->zNny#*d_igGjBPE5rS*AAdsav8F5T%8^3bAziINjH0KN~-1X zRRUHHu8t+U>Rx*tllK>9PiOj=3Mb2n2h5T5jr2vwMhfPgCx0?X{uTpjl|VjkT}|+% zuw?cI+B|Ixy$3ov_R}Hy;6dl#_VzC89C63`S#f#%nIYOg8{IlgK|7>r_^|se zx_{j=(?dM%$0sZ?)911%KDc^hY7-Xj!E3R#awS zS>0>fF2J&jV1rwx5ea?Jzvm-UvqLluE0&wVogu%< zrC4{>@dd=!ZNOkTSyDl>!5*LSdv%b!yShSOVtv)Ue*gTbyOiA^WEwOgpYIQV$HpW! ztoaSOth87Y7pWgDQmqEflQ32~B3R+-s=sQcnrVZ{H-#3=H#<;%FQ^qv&aO$B+m5O! zljBHE2INR;k+SYR`{|xKJ|JIAko(x4{2lYe9+$O7G69CmNeTwT3a~@~5yK?7N~;~Y zG8k#Y>;aE@K_5@&zfX?%N#*>ztgvSKhF=l1-uw2UkG`jY)*K(Ra4qqqW$<9Xzt}m% zeMFk(`8O0P2c&rmknib=)LzA~YX=tC7KwOD`vJJjQ-ejTkfD<%&7P}EmVxdAUc7~E z4J|FlN8F8j3!W%W8Z)hf;4KWg)vEA&-#&gsCvd8f*{$TaQ8y+-0|UsMS4%)5$f6@>joF^?p z+xk%QmY7 zzR6&B;zvPbT=fi%&)IQ&|H%Mm*qirQcIzU&Um5*+1ISQa?_?)x_ifKzTGRrindu45 zk=!a+mIX0`*@{kD!v2o!B5RFrlTYu!Byf$%l8xnxKT(SDi53BwSTs@ zkg3Uo4c*-R z#b61PwAzHXw(9QZZz=Cl(HhFix3v`n{FLICNHW8s>#-v5g||t`jkyCi{3i9&KA7OEXcB{C6Vwai6L;&+Wd75rOck1mK214y1oWZ?)3lNZ;Gq$WF zaBd{1d@juRvjNAc_{wDOcos=%rwDc0^L2e z0oKaR5l^Ox)=6mm1C-rfUHj1W6+?ZGQc;{dVP*cM4_Kl_G{saE4FTThBrUD=a6T>W zW+z9-v^HP>A@?(?aR=G-6$l{g$n7E8o)g#=BYxW%5u+!LM1Rs6O+IGSele;%M&aS} z+I-lmGwM5T8dLZ?LmV!Q z!Gscc)?4)l-@Im`A!6LeF)|3sfpk3OBlw)+uXP#jkrFAy|^NfmbgM(QS|D!z_+Ydc4b-W# z<5e`DJ!>g?-YJfpw6&4PehG7XKbut~A^<}c9)F68N;ICTugN=|xXh3^L3THgmDM~F zP2Nze1W2-V3|UhicK~DD{Af)!*u=Jzo@71H%12+CuTgPx78$S$>co`Di^)Tt0o$`7 zk^0ck%dbX8HcD=ayR8|M$9IN@QGSu;>Fs0X2Y_u`_m2!dwh;eBTNF#Sfnh`f3SuU= zcEJhK&l6aAm$`xL7`~`?lk8MNvCP3L7{7|%J}*W|i=Bu}`B#? zXvICno#|L8s!qf4K$IB4}dY>Jid~n=T$)|TUf11~6<)qBXgV$-R@nU(`Kzh*OzM? z8y>Z$CDrIfm#OP8B(=;*-7Bt&T)MRaC3L!4)MKJB7o^Rrnf~%ZjsC|nbkUA}`QCn& zP)`aH3eGQE1cFpDEH>dG>F+?22yN6?6jMk5--z?i|7Zv4l2q6@{9VWb$kG_?dStkp z=zvDlD?~%0*c||70tJq+^!AnM!CXH|)9T@9^u$Z!bYXt%sLAWtg{*#UnMw2mYCHB{w3$5 z#txvNK8D5^Z;@xP(){y;NPjQ~V$13cG7^rbjWW}Vqh!4j_JtmalCG2My{#k;z;o<_ zwP!CMk&a?rJ1Q@22h4lzj>q9U(hpZ5p#j7TZj|njS99=zK3lJ^8DlS6Mw3nEzI=LO z#c)%?o|XIHyurWeU=;H+&CGXTrM^*q4~#Lyr|qS&$Q+9HbXG64RyFVq>oksN`g(8} z<7ffT%Cqg?s+SR=k9x@{&7pRNDs*f)0M6mMxKLZ9;}V~j5S6F@z~E&ok4@(}$soor z>l8#oXrC9j0nZh0JkY?0U3Yf=c~Blyxa*Kec*$^Hr_iH&K;W#09dd{(1#fx1^r&bN z5L6{^b+Dh&hdFouKXDe+o2zm`&Bgv`T@*qB#<9i~elXT>e2@U2MH@RP=Eslu9gZ|B zw_iZZgXh~d{0fs*RDHp?L$<=PR8vKI{BR6~Mx_5!y6+EAr)4_QGA9HAV%+mOyvfeM zI7m$2V~innb~_XIS~b@8h$CUXrZ-yuXkePfoc;W2iS8Xv`VSe_ z2PpnLm^w7UZ9P*kv^6{HQIdCpd;L#-xC;-|Sm_=#s?xrU(kO#;F@fW##!C0RHrJ}3 zB=e3>eESx@yBqQ8$TYV+eI!Q;mg;|{_#92iXdG57hL8XXR}^77Wy~`U&#OY#KBeva zk0IRgq>>r2Km_3WZH&_P$HH_;vxlaDZQn)&M*6X{M&9 zJP_#~APy`yFfs7@?Js|T6avOv#&iqb=+Z1xFR2;&4r4u!ncrG^1;aK{jrf6b_KaRf zro)m$d>b*8#w}88`I#Jstq#OI8r)Qyv|!%pilc!c-NEcSJ{9WG|G?MV$nH=RP7WP= zm)D@sW~nksevT#-0#uJ{bE}70Bb)gdW2fq-nqb_0<2S@^Lu-Z_#*S zcV!h7BIzHv17K`vJY`$4wMBxz)6=U42DItrF>1jsHfne5V%!q_3Q}K^ee5)PqYjU_ zb(Gc3EGM{__OsRKCvelWivnc$TzHd1H{||x!>oYFa^RP5!~3tgur1?yvH@Ras|)gj zP6!_C0X>%`-fW!nzr?qkJDfRv9_9>pv|ehlnKA zeAjC>S-K_Sq6zr;9)7ros!-fg^%6SE8F0Qxc;Ea&aXa}N)!6V3lPyx5KpvOwcNlNk zzU>kpW24aB-J27U}^lj+}AxS?E>sk}H?5-s|F z1}6{K`8Y;0^13?~!0ikt{(&>f_I)Uq#`_~=c{ug7A+yhLP* z7JEyNuaNK^eK`Ovr+{hdM4ApTdP2roX5|_8G5A=xhTB|& zuyMa1=woX7#3@{UqSN9eExx41NF1Q2Hw&MIi%DW*(swZjYgz%zkoeb+pb!>HG{N{E zHOu3yyDPj%m^BjgOu3E5XIkiB6f2~2Fs(FgG{pp4-bN$IhnFR1czJG{A6?BSh9&G% z?Bq?O*xo&Ia*);K$edZjc{QOzTmOkzeH0x(NxyWv(Tt$(TP3E+>0!ojGm@hr%#W-cmH};rid1aRww#N_U9@I+m7F^;`sYT`>}++r~KD}H^K<( zzWiU>_8UbP?!e@gJ+=KU-=+FpZ6sf5f7I=~37^gX8^;SINca6?)Ufk9aKKfL6x+9S z(fHf6KNTPBy=b%H8;c3jI|PZ^zZkgk~FB{ z;8k(;?M{T=DKyg8sZfUpeq|jF!Qs=WQOR%g%eud)sOX40%nPcMrFBKwBMLdvnj@w0 z)R;q|oFNLNKz~Tqa>v_^+Wy6Nb*ku|twJt~m%zv?@3PwDT6*MoGpI7>Bn_A>DB`3! z|M+F_dhGRI;}^od%7$9*$;+r*q2|^8qk#nRWQDA8&0@-HiB}KP@A77HvqCCGyskLD zOPw|6e0ujmiSd+Ylw&%xEpmwTIlj~6^bndY+qaCu&2UThYCXtpe@(D4=rp+8r3~u7 z*u(8zN$k}4zXAld1~N;!e$ zP1lO#%*@5zS|OILs|D=EfW%xj^M;{1aBQ}Olt8YET+ym^Hmn5`NlzN)i<NU#v&`C zxxW3IAM0q5HO?@nbny5VrIh$M^_2VdLg^_gwN^d!5-k!Z0Pn#s#M9M@lL7>A&n>^??Lo06b+yAIs zE1k5;HrY+#7jjK3Za&u9E{UObhKdJ2Dqyi?CI3FT5+`fxZ;UfyF#iJ5cjPZGlXC({fIylm zcIJXGB7zUb#^}MA2wNkZsR;0%aeW{vAXz~i*#{?V*)3#UR`oME28{MAQ6teCu&h%* z-G%VXHL54~>6}x${K{3LIx|-a$-K7gT)|g|^`2lW6veLs02R#VGwsUyy%_;l1^G}K z#Dz`)+cP#hZi;}%B zdXiN;|6-rKt~`3Dx*ujX8NL-2VuRufGB#EFlltSZ!t>g14s~~-Pl^o^H5AHcShuNEnxf{qIfj4P z9XnT|c#%Qxe_z-i)9Yr%;{O7FeN|6;D;v>?bFe|q@$L=fX7uLaKd~^DN+(;CIzqd%BWwW-nlH(e8bw;NlCXqLHV)KLk~dbYbWz>y^e9Yu z8;bT4GRahvl`mpGTI^Q1Y$Dp2uVgt5NY>?_k*Dd|2T46db9u99mD#3$hOBtz1WuyB z1Qc<`EkEn`DN`LH$78|7H}{zj-;`kJDIOVjA1UUD11imPs3#=xVnbT`F%_T`MLKBp?zHN~M6-wzkDXg-iU%YX2@ zU^BhHXZTnw<(arDGN+!9dUKV*Ksxcpx5W&zdk(Op{9__rL&9wZ&_6{rZUnxJiHsihC{MocbkM5f zrh=v_y*fo8={ixC#3w)6VDZKOb@&~qNXNBZbvlmUTD;wlNqb)jl3{ASyPlk+LU!xU zhyFfFt9$gzoh1o)|E}t9s7!&|89Tv#ULaD;nc;5F-lO4BnC1o(QZ&j=C)%IFMt}`U zl!nDlrO5nuQ>~b3e&t`nW$YDrs3ZZ&H#s&?|3}^8cYmn4Me;G|0fu1_$i)Cf7}Xi= zdxGbSJ`-heAK3wl0N7K z05ob+lsGixeI=jcX@UHY;434O7o)mx#SqH{NnO%aD^#!c`zZ~rN9V-9>77sPP-t=S zN_=JsDZ2m%RwQkS+^4neqYJNPQvB^E{8t}DsXPsNV#q0Mo<(Uo@2h>h1vc1h`lNywei z{#ml9J;E>SAxW2c`ZDTGrt&pR0 zC4aVbOThcf>|}lt>^FC`{m&vqa^@!Ke>Q}7678sWUp~|N1w0NApSj6y^l+FP1TpF2 z<2ggC-V%7*9asSl?h(kwv`#gyzaMIKgn3S}P^k@6_+oYwX{t70R6;0-C;mN=xz?&w z-ONZxxzq8yZZ78;J$S;v(S^o=BYfpqUG*L;bBKo@sg;OEBTP?79|eX|+%3N3h8e z7)uIEMy5^#N|m1>6Z(DSxq3;lfLRb6hoI!g}ZYW`<|d*Z-(r$vtxi1TWp57t4|89vWsy)zkqCw+$ zz$QR}&Vj%$B5}}get|fOWL%vYwKPk!7-jCj=xmSY+IU3I+2Hx>SFzK)^0Td%Zx6wt zx}+K%sz*@)^f z3{&jYgR3K^U9T14Z&)%<5|J-=1;ye6opzGF;XI}@1trOCTM<0cRF;anYO=jC+!ZIf z&N9vY2#n^wVF@$bAO0AV!jJCRW%MtL2PAccmAGyJsc6BsA^Q>cXNN<_$iTo`@}q>MzEttNe=Fk<-2@1Sfx&7P~R$lSEEQ+q@w&Qc)X|7%!A zC<@XqTTyAkrvawj;TAost>-YZ25iCcwEBG03h&)HIFwG6((E;Ss1EyV8{XGoQ&uAW zoP|8%huek10uusvy%0)k=cw@9)eyj^FH)a10$fLim#z*Abux`OGwd5qpYDQNzuGS9 z&doXj*=&dWLh0)2A0aXJNM!P(pmwAMkCA=+CTfvR_3Opd79ktKW9etx#z=g>ciCkD&9TNYgcZ zrd~ln+K)B*p~6=Mw=P_d#dq`O4ME-CcpA~0ewMX(+ntV7EUol-{TnCu&!19@B5%@| zh*h>h6w>%Vo+PgL@DfXI*0(xlnHa2*C5k6UF3uOYDz9IK9_SpMz^j1=Bu(k}=9xX? z(GHVw58)wBbK{b%*nkRYlhVO0HQ8ph=lDTeXA->bXiA*rg^=?cdeb)6dF==-Oia?) zjdC+0R_CNOx?Cx=JPrz-yE!2?*1x1^o30~Vi<`R;t{p)u7@aMJB2En`rL6(r3ddFLv)EH+|Vy<$BI0;1Q z4^#rmf|6@NdELW8SwvCsEw5w_>NC&j3%rieckgm>`O?$SO_Us6a8%S*WnbCwLq-)=Am@&_;@@0`qoor z76tk?$1AXAEpTV1R#0-@_BIvh#NFTsLiRCeg$cdsJGNPnac5@(Gg{T_&ewiosA5j3 zWf=b!=TmK1n=xa80N{D%EDg?phOkJs1-;AuI0BwlT6sHH7JqucMpe6P4y48LoN7JH zOU0~>$WLi<`)5`pjM6l_FoDqkg&!Vh(quw7spNEQbGAIdi;qiOGfpPH4MYBTi5}tK zL8lw3&L?lnKT2DXfw;>N#Y&ADrUeGr)9B;m*V24+Ketl#kAqO z^yAY__Va#6A++)8%Bt+mdSu%YDmBG{@jx1L=;rjQiqS`-Mb1UjPjlKzl;{A#8O;`2 z>|eN^ki{IBwrqOd=Y=HGA;||Qk7}LiGBND4P<-sHPJ^-gn$4^-WUSbJD)`m+?=%Om zLAk0;$eX29zDr4jovS<6?+ixuoFX&G&I{vl>wR4;`+!4VZgO>UIG9%eyk95bp(!Ru zgEnupqeB}DMiNI#SD^l)a4;V6du-*C@$_E$EA0j-Tb&qUhwTRJsl{ z6-~6k`O}4^;z_YY5MRADKBDx6%Q6X{49Qf_D#t}xO~~raRF%^he=tn8aU9V7;)VA z>tl}NkmQx36VHi}^L55i0p8H4UAL^eY7$D3QK4+c!Ph9LBlIwZ=bYCVcJg-ds~#K$ z_=)!@=P^^$%?ph(t^;tJ^A*9uz#nf&V7@Dvt1Nx05;p8x<|$dSPyji50zp_s{YmGv}BN`Gx2b4t|$q@52B| z%bJpx`K7G-wqVnG?aa9Dwe*37pC>7GC($)0znKIaSXP{L1{wIGS43eRFu*?3x(Kc zlbpYv0nNZl`g6^OiO9Ujg;dORJ4f)r`N@aak!^_cN1pTD56bkM*7&-YKv&-tGF>5> zH?-J*Z3qXRWMuP_vm&g%LBd|)QRlxHg*(zIN0)@)pSyh1GY&*^oDBxVJGqXEk8xKB z8^U=O8t42Ga~Gq*#>v+N(CqOhkCD#!^PAg}S23z$zt>&s|K9)Ns;F3s06*1OapLe+ z?vw((9VQ+y9#Glw;3u1fpURyUt~0!5{yK?4KSH5Z_BhDnOUUN@B`9L!R?Jg1;JHZc zA;AU+$GC2)(?}{$3jE;*284k(%5hBYe36WIAw`@*3ZO16TA^sPghoY3aXMCa-}j?% z?)JF%7{ZLE7y&gzYas$EtONagrwa9es*9doTQ^U!aqn-v>y#t?Q_07VhA=hQP9ht2 z%ZwdswA#$Qb=Gt!kzy|R9490E6JOw;a_S6~8P?6M>g|iCVN1I3BG)s4pLWKESx`#=wckK`+S}MVM z^z=#tgNI*QYuQPXkF{L03`16iy?w1cxRk!g>wL!VoCIfhq|z6X8JOfe9Oq6(E1*Nl zwGX@H_qg@v5u`w%^QXB99VPSo@<$OP!-c9=tqGgmRBNl*G8OdxpARe3oh9`R^@foE zE^i*OPNyarro0c=IoyqvcV$YVY@r1kOI-u{C^K1`NJEgi?_BD#i=1L{E&zvw6-~X zJ#Xq{Ua#07Z(D`IGDEVdIxd%#>k!v!ncxd?m=3*#j=K|TI_db@luAXNUcIc6Ib-`< z*sOim3JnCB(eMcgO}^jgiqZD`u+H@O8QE}4f+ltLv5H;JTn08^i+-U1;RFb*&M^{H z@vLh>wEm2^aG&V6OOKS=KGN9naAcQ1d`E7gY<;R$+)bNv@@$-A>BU&t1Db#f4IcFM zS8i4U+!8W|;Eff#XnclfRh8L?^(&p(q&mMid-=mX`X>w}8NK$Tw; zOA&nfA$`gdc+F4}3i1dBM6>vz-}_@9F^J}7@UP1e$vy`*;tq%CP$i+95KnB`xo9(? z9ax;HR^wzfs-*T=DCHB!L!It>tkos`{q9^uXqwIPuhpZ!zu@9;_lCj-+U+++P+ zgv0H<@VsT$^UCa00;CQ=H4y=dJr;h<(|#q&=4oXxy^{lz`c zj?3XN5o}Y6SD}jcI2I*bgh^4qY+$o)*y{W@1v? z{-u`jby(DIC+&^mC&D?#E2P~Z0`}zHwGtDY2g{E}5jfFdw=1{~MqX>9ThTn0A67Wr z8(k|+seux0Vo-Y;8ZN)mm?yd-$~WJIebHhrP_Sly%?hK zL!aNb62?mG-^eJFnU9=46|Y_2Lo&Z2cW0SoA;je?%@g-)=#A%~?Pt7hTT}QIZ<=0E zsc^BayNB#^-N)OW!YeUoGsjl#e%{j(AK%&7=^(^VMFo)6xMt;rf8$kW5a&6GC_ZWp z=Tf0LSr{t9;4G~HkHz%!FC``Ae&?XP-3Z&RJfKb2qMFm*n&*5@DbsV-(h|e%XKnTLQ+yDM*MuB7w^egk%D{sR(YrG`Vy+>~DGi@) zYqvF|{ zQ^=R#S#9JbO9^;t>iQ$Hn8L{=H$Zps_G2N+vjl=3VkrSyffTjaBNUa~K!08+d%U(s zkfY>mGGRI;8Gwe=jn;hHSURArq3fX*-lqO+<346HrvhQ^vIx|J)v@Lbxj_fvMDrAM zC$$@GW!HaQv=Uws1?S)39TCkR6Dx|ZtXQ-Mcy(7~QO3uX0Bzkz*dP68mpsg$;aC`% zVq(5V*ypBZCQQhCH#(=$KK_y#qYSys^pg z2v^X8yB?%I+M+Gjth7Q*Bx|xJ6RvMwEv|l9Ochk-tN7`p?{!GHPIctifOU|sE?QEf z?`x|LH+%m@(P)v(j)VHIq{4~m#7}t5>WeAT02!qhbkg9{dW%hyxY!W2PaxSO`h8yZ z9-}DPrNolg`U%5<;L+g$M6%xK-#9qdKR+|EyxbLsqG3?_PRl?x)MVQb=j7jR@XT}9UkjnXdLbA$Ytx4` zg$r<$@>uiJ%rZ*U3OJ?r1c9+&2AxD`e$Co;EVij*_;?KRU@CvVv}9$X#CP`+YdOXzRYU{0vngmt?lYcRj&H!(@7}WijVes{oz;LIoEieMzt}^p)5c* z(Q%Nk70utUkeE}?$wf3p?ZXBvG&B9uM13j3*<#c!dEl= z7+OAZEb`&#jymLp=+6srxb(znT7q5m|E`X0s3bYcA2wpr7{n~Y61Z!1k%p>QfkrFy z)&5@{XG?@`(_zlFroH%NkbvoS0e8Ehp(8vy(`I3ZP-KSVlA2<1o#5p(o*#=TwRw_< zeT*}oYX;PCJ?D><#l)vAIm8f1Bq^dQ#RKMU_Lei0t#`94({)CtATh%lw;F17Zcx zkiTXhkY+Pdfr8Bx7DYd&sR;>(_-l$%0tW%o`SB(#{KyS?OwT~woc$jh#5XggC0|*X z*SlTlz9h$+sNQ`he5eiu;JV*`A^Fv8EV5!tKK8rjdrZnoR?TE-rymM=LFLEbX+fkk zNAd^f{C1|{h;dOqHQumJ7yd{|!yzZMz;l0QB-a8;I(Y3|Wmdv4*5lc(oYC6ybqj#i zN?H&@oG3a=Cm)?EwL^>T)Tmm&o?p(uUPXRzu%f~7_bUvc(L`@N zD(D11uDkT~`!=yh%_i6FejdEBUap=E;mdH}fMUY=I_;>*W@?xj`H2LsiEkv$OxNna z*U!&HTLNvwkI<t2~Ie?zyTui<9Q zeZduvSnCCL*pPh{Y^Za%R2kyS)+@{L8^6^@ss6Q8bP_Th zS4QoxY=L>5;BC5s@!f!)RFk6lnMeb)L8^Yp;JR})^pXm~me;D+e5|p=oJ^j^HLNRS z(n?&~+7o5s$-b$X8i1B!Ho@aT;E;%fn-!1!lBi)f^M4Q1_~#%x!T3>X7|xsfQotG0 zdf~oyYt}3$fzI$=IaI(N1ztWowff~gtHlcw6NuAN&uUVjUsX`>Ylp-k0JBpFT^2)FSV5-F*ng>k}@^sv~F3|5A~bEPh1sCxHHc$Pc=|7YgFV& zJ}x|))Hxw%UooC_PpkUL3TJL^0~hxRP(jkSu*W)A7njAGio;b8tMJZ>m0zZs&vVY& z>+QNL-nY@pGVo-{_%9tAtV>wPmb?j9Mi|1}%+kspH@1n$*49W<-(w)j^@4gmt|QHp zWYS-e`I*4HYe~j_6#arrLzd;K+@nS%Ee_=vVv}>h1!$H2_>eNW7QRD(t<_l_T}t`i zMjK~;s#KBw(n`$fZOH+K9vD2<(#}Csj4?Q6xJg(Rz&>74GKnQg)U;kB$YntjE@S0O-(x~- z282ZB9l4sD5KV3+r=t&Q5(YMWVe3ZudC7-~@gWqHwt|d2ayZgUJOnF@?{Q!~>*z7H zKeiySqnnpt=hGR~#*A{J;*>xRhf|Y*Mw9Y|*g>u{8YCK=AeDdVnaigk3(Dm8LzY!p zbfbo8R!s~vEst&!tA17H|8^t2oxGqz zARYA36YE7DE`vsI{qfP*tAj2H%N-<;qox0x?wrt5mtp9Neb(N}NYo=)-n=d98~nU` zY7Aduh!N{jIRej5-^%5BJnvP%a4}o4GAj`nWYaO&XsW4jFz(&tL9cEn{$QbX%=BOI ztmg`i!E{t=Na5w%bbMG>71cnSmlp*4_-bBSp?UPSpF8$?AtSgeSdExA$?0G##1Y70@OCr|W4nw!Exz$>r~Ho_|^|dRcp3&jr-ChqT1Ha^#u2_jqc{_AU{=pxd z18J>yhKeB{Z}t@1o7qN6E7X>srUv}GDNTBw%}_JcGPfe|PEw78<6u=C4FP%q=B8i^ z{cDTudPWp0f5#yQ|HOB+aanNphyWVYNEN3T0Cd?3k)4RTpMkC=|`D z?g!q@`~kxND}B=1f){ALBy7S{gUvub0^K_M^$B4y|5|H-i8Z2OSdq>@m6#54b4*Gv z$pxxDy}vkY934bd#ex>4?ghE-rlMuXC z8FPF8fI$|$Dfm7|P?W@MS)|vE^g!Fl1>U%PNHELnHpgNa`ss~=AGC$mnah67RieG# z9>bbaiHmDC6YkbP6s37lw{5v`vREkn)m3}eLPYeaLshxqeIym{>?!|9 z`rxEB7wHcz?|L3dF>}sw(FhW}OK->wC_lVCuIYApFA{uoo%N>yt(Iv4n8L=Cj#iU7 ziPg@TC{X}8I8`+;@DkNp8!q9AQ}*tfbk6*l*|SPH(ABx#R#8@kz*2(`tCm4VsIWY;fIW-b6Nx8f&DXR)_zGsdMm-tlPeJ#dbP2I(9lXE4I}gc5E9Rr{bi$ zW81cE+qSJQ?|tw6jc@-0HR_Cg)?Ry^IiERa;80eS(4kA`Nw2;dPd_$~Y-eqWabUWF z$;AlN_Y*gxJ?kvi`d%s#q~8M7*2*dUADH8c9tVA)g`#w}sbi(wXj zo8vae1!I0)p_?{}5VBN08#t%;q>XOQgz;F2jl{W?*O?)%r+ZOPTCHwaZ7UY_=ZO0b zp1Vy$ZmaRU8owoy0d#VD3iC>Ctrr5B&Z1?CmI%h6Pv5P^^?CS>v7wT5QvMK6c6@#P zc&b!^TB6w z`AKD$^WH%X_J<|?$vQSxTF`4A^S?7cCRp#ULi!a!qF3CLBa@N<=kbG=wGB0rE7oG%o)@7zH9V7sN)LWwo`YR7nl^M!waFkE#fBt6c-A?b~K`G z9z^ZsHw}SZ_6DWuj>anEWQB(n%Xsf$nI-Um$WBtf^~d&36*bfFwGn0hpb+m_XAhTk ztObr!x{3~~oi?q94;!2AFfoT>J^?pKB{O6HOQ{gG!VJxDVlVD1QN1jmS!_b#SE!gE zBZb_WObn?)&HRtIY6zRSY^vHLFIAGxWW(2pENNLC$nnE3gvT0Jyq{zF&XZKO1LK zt@Se8r*vW-ue6_fi`{kdhdUc+E3+pUTuN}0<9K~#UxbRW3?Yz(yvpRSgXx2o{d#~j z=*ZOjIoSGVx<%4+V`PA({l@2@pgt2$h@b{OQeK z0F&Vdh=C3Cf~kX{Ari0}rl{+4e6^B>1;WyRrL7w1UFFKnJzYCY)aIY&)j)78r(89v zV(j%02a3K@kRSNH=az%XrVuKITb30!*p2D8IY>M`S(NR<^wNFiQ3W?QZe;^Dckp~R zr4ZqcDc=FM)7Q^7pw6&uKx{(P3%u8)PCO!+TkL$`2~9#Qx~(qhB$&IGEAsHoqX!SJ z>^r4)qJJ!y8zgFus~=K7)+SWtgiE-e{4Hd!vb5{ocbT3peScu}G4W=;mVX`UAlT)V zc<7<@v!IOz6bb69cfOE^9f~!f3a5nN(omlq_gnM0(EYA-O`MZ^-DFI6W_LuN|CX_jnSJgB;lEl5!^ z64L+`N${9y-3Ca*K)yhY#5@f4K~Upx&ZEL>)SGE=b$wrQ(i`<9u_s$~-q+Ze`3$?h zOfbG)V?1inP9x+bh37F_!3kue26KzHnLn)JKX;t&YX+8F#dzmBO=&3+yb#JaEwC-FPPr8 zuw6MjT-$W}9QE9f@$9`l@{aHPvUB2pGhr2t&+`0pmeb^8rwPz4;OXc4mD%-LreJeb z!1phbZinv43X8ir0Qat>?|`8cgP9sp22)#E06#~8ZZ(qDW>ErWv7zYWiv8x(LGZ%T zBPhM8Z~Dg!=>ZYabkK~k2xz;=)!k{<4~w)HgRY)G(9E?Dz|NV~55Z{_zY0Y)(`Izw zkvH~ipyCawNZUZd`cc~jbep|6t5*clZVA3RgAU1?_f6)clu{*m z4^~8YY%Q!Uwy@#ho8^jzjR-hEJsNN(1P$#z(hjA&Ls%lpA}Jp(G(fywkjb$J3g?bw-(MnRwWINeT@+9rkU7GSXf~p8+8R9 zsfi{@E77_jr|qB&cN1&DassYqyV9J z@y~NWP-y5cdBdFFF#^3Ac5uEuQ#q+zDyzf@A-r^X7!@S3FT5!HYmqF@-sgpxcZCSwj^YIYy{JQOx+!>-;cq;3W zLdg{_C;#@nGhO)M7Ijq)=js>2z%HLTmHj=JpwcGSw#;XuJLqV4c}I*sk@rZHj523p z9)%yRBSg-bpA)caNBNBO=O3(shm4h&>V$&S1247Si&TZExtN35GGFA2J7OZ9(_gj8l3?h z&I&z#Sn^a@tdjVZq$64YbF363v!_L#9_1xAP|6i5pDxzCpWOHKd&5j-f;`5zwctN^ z$Ue+?{W3p9{i-```?u5upIZ;aON9zFiEBvtOARx2LVyBERk6TmRI z;DqVrr=UMaB}4_j5Sh!ier*5F854*s!k-ACJ%K?&*hw8k^37Lj#CCI#`^w)Iz~1|d z=Yt*IJ)1oN>rtW={MR)I0{q0V?LM9HF!cnj0~I`)`u)?)0^{+D$6d5^6|ugQWriGR z3bF8=1d2NVF{_Mx8^?RvG|MNd7uQ^2+EX~1;M?%NvkGqyT`v5Y@P~a)uS^9#@l>4$ zK55;Fthwlhm+F3Dv`<24gt0B6aJ}T7Z@2xM!esa`Iu5_G9ixrdoQ}NjBvZLQ4yo|A zB04u*?5b|qXjLZ_@LU<42A+kq5){-)bA`Ow^Ra`9wjd%@pwz~nyg>SsX4_{PYwDZG zE(gZ19m|30xjmZlg`@|oCmdb+)h+-fQFoj%_tN1`S#RbLR z-N}L5X#dJ3K07z{@^7uco)b*PJ~|dZ8hxxSXWa2L%p)c{d1pTqM=^T%Ae790$C}2f zaZ*$>AzTpT$}vgb4?lf5KumB|_YRtz{(Ki4)g_YhJ7&1C11?Hp@|3;=Bzer@?y6lf z2}=aO)bY^UMb0e{u{D~!TS|2`o+kIR1;c0{W*N-?Y8^sSg(~hqf8G1s?CXl*F^a>ViKgO2?2;?Akg}&Zc?H z>!lxCPdKkC4dUvWfkPqxfF>=LL- z1UzB6;)c|DDd`U3`T%eM~tL!3;@w!uR-aJq=LYtWojbpnHL2;k_il^d3sT=~uXP>;L5wDP76$^Or2SO1X60%V${F!cKPsyhOyXX;# z^wpB20!7#XBG-=l(n}XX(4Q-8Q{nao2+lNQA|Q|bCNZ$}D)pUu_wDf8!2?irM+z8? z%m+MYMwZ*ed+Koq$V6eLkoVZ@7K{pFErx6{DFo}U*5 zR|nk$MzrodcB(s?8fq}5tX66ghOJ#bGFGm@os!scA{1SOBL#|Ew{s~d?Nn5; z&}jjWNBdrrNAZrStDGePyc=<{I}O{Ve+Se0c7|dCcns2ciwpdI5ekx1GEA-M_y*mi zVh4&q3=p`uMkeaR)bGpYUtG4MQa>XDMRYgO{lTeo;aG!ngreNViN-Pxn|-{+*djM2 z2%hjspfNi&25)c#3qltLrsA)~Fs~5#x()oYjO};CS<-iR-0WC(JraP#d-l+G8$!|b zDiA0NcoxL${_-Ln_TIBm#ga!s7x6UG#Cevo6LlCgnZOHS=wS+0p-#yaitPAQC4}Jn zAo+4{4`uyh1pf3lj2a|#@!r^+(r5pV!{|WG1-d(UXHfXp@tHY@0UtPtYLe`G|7;FV z`n>Va&&2N9afAiGjyvu$`soByfM68A-;FF(@PXzr^G4qau|YOF5pj z@`2#w>4CQ2h87h1Ayw(=4B|1n5$nhqr4`;)p1V?K>1zDsu&amK5dSB(ERdi2ta3qs z>!}gy|4NOC^CVzL*;si#8V@KJJ~K>w4SoLGDEuPT7n`D1*+HQFw@0L!iQw8q``=X; zM?A9)t+gYRsqjDBX(HZ@QGzrZ`%DY>e*&0)U7H?YH2?jje`WT4x8TZ%yZ;|g_;Zq! z`@aYB?=5Er0eJOaRlWggczs5YwvLWqb?AvyFWu%9`@8mKBRMY*U(@&qnKUjTv4N-Y z4~B!g_zV$+IEL*TiuNcchc(}0r?`ilCobRCR=aha5tz#?Ap0U;6DayRy!;AZ@1>Dl zai=bN_?i0KwHG?S$C;9T^tF#_x#;8bRD76Il*wn{Bq;PEo|})c{KkCHGquJ4A%57B z4@Hn_fh@dSH0p|2lIm5VogQA?3U6dq>y7i1o0`u=KE=6xM)mK1^C%BZR)+NR(+mNm zKD(3Kkd9>)giZ%f0@EcnKe%34etNK*sDAaYm?R4gwQM}u+<5a~b)hePhfFxgRja7tb~Ebe#{ zIeb&@g`5Y2cAE#eaL)Xd7S0r4$kwjtcq`EqXd5{>pFSGfZ&%&SiuV|DoVS57 zoR@s^n^$)bN=}hpw_%bMN;W`@KFNWEo5FEaoRK4~_p)~mi5&tXP zOt5c!^=WUqbZ(eoN<7Tiae}a->v&K*$O*?ms>}9p<{ShqpNY$ZE4W%6yspuc;a8f`g8ZRo{ZS;guf$j9~~5~CuEoo19{flJSVQ70suFD z`Hor=AL^QUh;6|KIvN4q`VPW;Ijo)do!$odU;mIJ zcq8g?UYz%3SIGTV6h3llFf=qF7sRsdMzawwZwvCW!0Tmj!NtXeBY@bSe%%s~scpT{ zwRmo`?&0ZaZD-fXN=Vp@<>y}J@?Fhe-ESqmd#fw!11nsdlVW~>^Yr-+g|KxYp`7ee zml~7skce9FoM88WFH##qH!uQ?354~w+wV)0;85Di~EIA~|5CKMy?H}(i zHk-@{!tGvJo2{z6B{XB{kzvQ}k2Hdv@jS8EX+#TBCL(BqdC!N>?{6^RTPD1|Td56% z3sN#9zLOfv;MBz2qOU*NqN2T^_tx85k{ogK$oHa5^?%Y`L;j9*>T0}onPECW!?_n2 zs4y17UdKKTM(?PNhZz#{4X8MXEl*7*4!QZsp5B_}C9RP*)iyydJKmG!E$%`7@jcc@WtM2bP^mOV!chm9fpq{>+vs8h~{LI=}^}Yjl zvYC;$p5JMwWQkNuQ{9;aAZI%ltdXVqoZO6+49A%g8N$f^$I$%zycI*kIlx2c?(_)G zhFMQfuehh3fr;S-)>|OMm5|Si%S1&*B?-vhLI*cDy z9obD*2FquPRH#N=0zG(Szds-1^w%%(7WZfStO#}o+#Kh>k@-W&O$2h7#@Z!(V^62()}}PeK7nP!5-Ly zPn7zCw_deTD`ngmhk(F2-=8t9gviUhk4(qo-?Gx`OgVQXZHUOpb;^hJg zZf4-r+w^tZvXfTuk1jKx-waF2{Mc#&UM%uyOhAm&5{YKM}w+agYI2Lf1uCD#$pvXH@(-+q*EM+eYnQ6`Q`It_V&tO*Zb? z@cOX<*o9EIm$g?;@6&kiH{T(Qx)_f*DXFgOU2A0o^qb}M1v|MUASF7dx2vsTcR@ox ze?+?3+YeRKy1KhB>3QIE?d>7Oi0cbEy1FKJ`ZN@{znrnfm(rWhX5| z>m5F8`}_N8AI+V7B&{7C8_ofia6;*?59j=L>4B`NgS_ND3>h1B4ki=ojwR*zk=0G^ zx+Ujsc!(wPoV3%^fsy!g2)H_Z_yV)m9v=NG@ytwbO3CVXVM|TiU?1EU$vC)kZN>PM zI3}fve!eygX08|OuHTV>1C>9~7KsT7o!_>$#qm#Jt;l(+vzd0mYmF#aW+qotogh$m zpc@Kwrdb>$B7TGI-#8+GUyrP#m`l3R5$1+BaOp2vJz#O)kF49CI0ZCV=zymHD*XMy@bQTo*vuxh3=A?7 zRk6s2#KF9T$g2(79JHVZz9gq;1+^WgM~@pir3(7$yH70MpMwAv@0p|_ixFIoHiJ*MzfQ~OPdw#OuB;Ee0J*BSv1&9Z6}tSp78idbMMnnx0d)!6qD(74 zh=cu*B>STK3Ce1_()vYH_r-m@m|=NE_2ZW~rxReF1oatKh zz6;53Xh_OZ#giH08>iqwKOpDv&|Bmz;s>6Gj4TWP#{Yd!e7{D|Kgr01L3|?#nE)EQ!Gg*7F(a6YS)*HczAet&u11i z3`pA0HTNHK+VHf6-{Ag&jQDxgAds1j{Ok(lP=udzoVFB+6oshMFufD(K)nQK?%yoz ze;**U=$Y^FlXT{j6P@kSh-(Vv_c-fGg z75cN!DHDfQYuBt@eGX+t`docB>yUN zC@BG6klUoMRk(?LQT`0@xLwAWDN0+qHfvqq>uY34qM(xUcS`k|9EPx~x8wX*#52Dd zWWrWONM-n$xoXU7PlLyR$JasB50!Ein$BVi9lUGdb#41)3gyE@vuIN zs9Y^4d!4_>!|L#%r>2^1M#y&6^+!YIM}r;&DiTJJQDdo2MX6C4^-=|0=Y2jCmK_Cs zS7r0f4!jZw(+H`3<9)z}{4RhJ@6Gym5mugw)w{?M;zgX~$E9pS$&s`*g)SX<4Cjc! z5}h$hl!Xo4my+*oZQi_vqzADFq{x#<%pnDq<>i7J#7`%s-PxK$x(YIxWA`WhP-l^d z03WwZ2v96kPY_SYyK?eOG(@bxV5v|OEzG1s%jPmW8F`Q7yMgZ*5|4@9)1$a+Z2^;E zVmXe#Sr&uOHO<|h$m?hjXt6Ki;0$Rm<2O#jRu*aU+xc2cxtSlIhaZfxA|nsC;u`Z9 zNwTDKw>7j+GLwEK=Z4$ZxNQ0-J=t?jzu9HXOweYv*=VK3{QyI$(E0OC^!?wP_&XKA z)9A8E#=^^K`Eaq;u$QOi>iwORtQ;5MC?TbF+1OgW4Is8VjL?fW2P>*%gY`qs)EGQi zGw@W)QZ0WBWdOi^Z>?-Jj))kkZ>iZa4>SAmRbbc;IDREH00elkhL4L(clo^THdvdw ztTzlndZh_?59^UrbCL=j?Aa4%N_0>AkJ`* zsKmAIw+^=_C?aNM#fwtl@Gyi1BewS%JD`9- zVA8VnL$(w3hchqY44|UGU?bH!B69tsHRoy1@>m2B2bbk_jNQp`Cl8D!3e<$x_q+-K zG>>8`N*)Vxc2N7sw13U&sL=2R3-oKwu0toWwIu`>nCKN;s&s3aIH@~ zpIpOZCc*KB5<-Fxa(-~qu2a4eFK@I1oPr%2fxCFep){aj`JbPjyFGux1hsW!N}|sj zTx**U;Mrj4>GK5m;Tw@iiN80|W;T{KgKY}00Y;~;>@D|tGIA3|N;=gL@7KL-Ww3h}XFBG|chN&)-&3ZC~D7cpBwc2%I@3Zo(m7VYp zPmDsHU;}pB_}kWr)+wf8BFtHWH5XS(SU*L48)(7KkbcK>$xKU|lYY_TY@%$;ekn52 zcYcA(SiC~k{bWYQ0~dt2EOyVvnUyODmS2ET2A&#b1)p(JJe&QRS<%K&+4eGqdO^NA znQfwH>h+Yk==9(7eVIqtvhIa6==1e{9FXkUVuW6tpWimu_-UKwOr+kT+%EYeGMIAX zToJ1i{-()_&ZZ0gkPHrKeLIY{N;|qPJPle-5uc~u57vZWr56QDE^p>uyu=Q~IG}r1 z8fmtCOc z8(0j3xg?$xdF?h>*l=V|PY*fz6(22Y9Df_>&vpt42z{-fihL&u9!pniFM;}SL zgl+`*2Q6EqnCH5!@0qW(8C-hq;i$xrrU#CB#Q-Ixd#E9%KZ2F;yNUXRe*$bkYSl$N?$ z-w}^aTiH~b5~aJoRudWtIFk{#6seXR5|5~o6w<$S`qKX+k?VHLtZVgHx5$ zk}(bl?;)yo#Ik;Gh?^E3JH(gQ`FdG~{y05EhNqN0X8 z68N(u?wB{LV)t5=gYA+(FGo=6K-X1SN&Pco=`{P{B-{#Ukb@*y-0(oUcg25pR8dX- zq*XA%E$GRj31^U_?vxI~H;X`{zG4Zt*$NlhTV zMolKfKFTIw8gW(+-Oj$--J~0Z0(_7_?ZpnLoY?l3NWc$|e8neKf~oksD|fXD_oJCu z^dM%_gu9WR9$T^Y4t#KgFR`Jeu3N0;r4VR3IRM&;M1F7E+WzK)OT z_K%Dxv0V&wbo6$rN72w%TNqIb4(5Gwh|!>%Na56oyh_GZrpLyBXqfoW`_ZL8&w1PlRB<<5v59rg#uN`aLg~g3A5%sRkWr%&9!4FOtwdnPV)5)2 zIp<$ePdk%!pu5eHFeG@ZVUxAd=k*{@QeHzvU2A(3`wD)VwTMt=d7Lp=)bJbA9fF+X zekxgGQi?1yj`%roBgG3~P^sQ8JnD*52#fam1TFIzOeKlQ_zh|#Dwn1HxC{+bmB8=>I~Inf3sbgr^Bq9 zbSRlLjV`hldm;73K<@*K423LRIg~1u2*{<8DlTvwS3rjH7WzVVj03YqGaP;`Ix&i- z_y>3^1_Ji*@4DYE%qr~MFa>rA;$~gaYqb*$6O$@Mpj`bJ6nCL1E zm?tG2_jZz*gkL72@|`uN=Bd|Ph;Ck{N|AB6+sX)f#vDEE<$)qMaU$SX?x1M@R~f>_ zJ9rzfy?)ZJ{G~VGR90B26y8$udytWv5(@k!7jpHnV}N|jA^q3}bETNb=jwhS*dVm> z#mB+qzMl2!r@q*+b2+O?MC|oRD;Tr;6{AO%oU%7r6k-hFh-yXXLwE$vf`G?PR=z`G zoq(1QkdgZ8nMte?&(-vb?`)5pHIXW|-v@0!4L4K#OJ?|14?Lb&IA&_F<9;E`?BO;b z2;DUd0g37IN8*>{m2K(fNs0b!1_B3)>^F?lB)FIiMy>Bk0 zPz%Di+<@L#N@~rJ+tIOSPP)Z;XEJEIBgL-R07_Z+5`Aj)0yIC+EW8|N);JA2ds4OL3DFdp<1u4 zIV>^utf(Q!jfBRD+%#T$`RJy*)1qwC54!%ugZcaGM^1Eff%Fn7oks_Pkx^TvgNqwE z1qB_&=X#Cm9GKn+^!gcv%O)=*;47^=3HEb|5^2ccNpdo*@ttH|RB{-CW^jMw8&E}_ zqhueB=GGx;EW~EWKNOM${ttHy+RcJ6J0Hc1_BtFO#5j0f7{}|3x$nqPIfh83wJjcZ zK6MnG#{FOqf&a@UMn5=>|^U~`XhU%gG2V`pq9(N6qr@B>;{4BBJc z!x*IKf}|-kR-F@z!ES0=)3c{XRE{4~-YWN*Ih#tpe2m`o)&4TMe(V|gO=!AseGZdx z;)Gy8Qrq|%F1qf5GhTMwgjAZA{mlR_HG4$lcE@{ttoZggd-F5}cx z4>|qB-qBj9&sXC_7$ON;rx~-P;EqLFf{#OD_p`={7*rXXgaVS4qW5!cTB+Qg{_3|x z2rVNu%$4|UTf*i7CT$AR&$WfO^H3H$@i8^=;DwmVm>E zBbEivlkt}syM%xYCtU%8HHdUDeVUrU5F9NuCWi2~N2B>9sA3^@5TzHiMU+-8oRJJ8 zHU9hCV5yXPQUFs24Ni1(dK8tqvTmE3jhgPSE1}-3;@eX$);$!PYz(F#ywLC5N`9!+ zj0UWJHj`520E{QE699>3AKZvlV`thV%oC-hZm9FF$x^p-q7NS|9?FA=s0iyd^{{9H z;~=qnL1_iYPS#d9X4zo<;XYgZF!LYUBO$>l}%UjFUqrRGz3*o-I$RAG)c& z&F{~%_8>!j(F^M(ZnPkXJW75Ow+`xK{Rki7k>@|h3KyHNI}lfg4iMB9&WKvc=@msSfA8x4UeX$KG|Gp066h?(1BCzI++`_(JuX ze!&FuZ0@o6?LWI_B0%udCclV5WX_JP>3`?)BR6@{U|Y}ck9k*IV2sdtI3fi2JclZph9e_r;{Ld*350w@rZ~V>8`Q_-wt~MT0DJ^qx|@tv24vaWK`TAF<{YR^-56FOjJ zg4q(LgT!$Jj1|nX6|U{?G)s2l7x5JH+10P<85nsel9W!DF7dk22hl6Q5P^{Jo6_)~ z^}O@=$W9%j+Bp<2F$Pb3bR49V;EdgaMV_$&Im^+zLBp*)H*`nQDww-OgnWp@W$al@ z0lV^!6G};_O!7Gtbr7`21=M=>c&;rDu+HrqdiDh;VjNsN0#!xtlX%Y=Rjtg{Y!2aX zMDuShi}U>V?}JIs3If_G2gsR0hbp)H0!l$H`4`)}4m4@O@!8Mer)zv_DV%e}6V@j7 zT_c5+BQc-cq1v;{LK;e{=M3hZx2?lQ>j5gscRAfQ-RhK)XI~b!os~*uz2kHE-U|cF z+q(`9vW)v!1t1XknC{oL=XyqdVPxRat9CzRem`||cQ$f>fB&9q!pWXlz3`xs5^~RE zU=wP!VEv=qMrVNG<*r69S&(rgh@wQKz|M2RsQwxb18Xbhebsd3mH=*>RCt zp5pzNnRfnopBY2!2C;n@GAvPdWQaW@^&|$ej#aMOviS6GVznm@$d#SIAaJ^@8zCq@ z-xgbijkA@o)J)KIYQ!aq>bXXRt2I6Ts9Z@pnF`_18I4z_2eO!I{jS^VO@q!mhcXZ- z&_fK8?Yetd`ay{LHw>8|={LVds`5o@>eBvwmKCq1Bbkhq32@zin|IogIso$w<0y85 z+c^y=;N0nqKPVxJ#%-Eyj#1wkbjUUmF$3W4W#m^&)mtAR>lYm&9!y&NVi;5wM*Q7K zuf=Nbh<40ROO?>NzFl=?B0@7uM&XBdUI_hk@aRzW+Sjw7QLk~VZqLcI#SXrWx~R7# zuFTYNn+X?W`P15&hGnO0?p0YJB7HGsYr? zTOZ0eBNkjFCew+kxiH{;jqA$2=|`{jamd)#;&KlSH|X@2f^UkO@8tuo8E6qTr-aCc zc<6Vb?-hjFy+HY`-YNCkb55-Hlc~=5Ue*}XcymsmX!dA&`Wfw;4&3d~GpvhJg3v}- zHg!XR572;|0U25B&zY);$dR!2kPz}ysATx;TqLf9L!r*~GCJ#&|V`>5;8-D%yimF{FocicvJYGRmg zcM5mh?Io6X(DxQ95AWw$X^7A+#XeQ;i&golMKo(0DU#MNb0^-s^WF2!_4y#o!+hA9$a8UQFPhCcrb`gE-cet7S%0n z!9`gN{WarX;TMh$NK@R0wsqmZRs(Nc41b$8FM{BP2%#d>(f^xlq>Ax|CLD*DT6A#X zB32G+)mtVLWI$88mkklJAxPD35OlbH-rpQuCr+1c(2L#kCw!2&-+yaAD@H1I=p@;? zcu0|UG-YxHS*eUK{vjx}Mk|$zU8W(R<5q>K9%4&;a`_l+HXKzUoA)&HM%z%KTFud) zc+llM0%&b4F4vjy4%|DuEIzNpSkzZ|2zryZrRW)W1l_2jE&VWk64URd%hOZz{5ZX0 zXlbeb>3#H}ET#-yb+i;r$Ubq}m%^~ZFHjddXsmL#q`I^x(L>dVGFR^<8bq#EJjiW1 zTQ)d!aJsoGX5DJ>DcD*NPJ1B6 zU<;adS~+3K8N3(9*B7BjPO<(Bo72VP>+HA7F6+97IGTA5SL8DC6bIjiz23Jql=-u+ zF-o1kX-RV9XPgQR)-E3F@9#C9>1Imu`f3jdHZuFuQk()kF23dzWEuaA2rkXKIzk3t zCJ$OWX|HrFGaM07{XPPq{Tgb*lX9_mrRFMILa!cAkc7;vLb4nE$g+( z)CgC&&;MLNRNTUlp%1_d{tUaVh323PKsn;JL9zPLP8v5^=^jgvG}*e$U77c!rIT`S z_7}>tYNOr=ts$}LFaHK#RmH|P@3qIHKcU5;L%>}V1B#Qr2v?5dXmQO6YmMEVq*M_8 zG?JnHJWpNOOgrH%f_ib{+1PqfMS*?_wmVkW<6MoLfq+wfWjtumtj%T1NH zH#ZL<9RBoef|Y4G7zWxs4lz%Ef;%81{-}h$#ts|krPlqyJu0l+H(zOYyOOBqb2MaA zi?ed#vv?jAoS=W*KJv7zb1Rx}dV4(rrG;PCHS4_`pJfqB?f+y){ef}xSLn4z%iVXj zTDa)@M(augA-8d>dlIF1+Ip{9UbO0Y{c!`+b-Ux@9i{rkE``^Ng(RevmE&AM8+Po9 z?L*mAp{C3kIIidO{$SWfu5KNZ!P!eh^SEwC``AdnBYm3kOFGh5n;CAj8A;9q>vpA@ zfbIIdAgA3%xkTD~+1`pJ0Sp#`MPX0sm)p}4>~6c$N1kx3v(|Bb+kQ$qD||1#*@(Mwa^i`} z`BJ~{Iu5|1KV~N2dR6XUe{c8*rC@bO!Hlk?!97fzyQnFTI^lWATa2kCCJMd z%uoElSpNFGK7lQrx21}iPFcO4KXxmP4M`Ke)!R`UqNH4_h1TI4n@R(BUI}CQQe`!T zAxotk8vA{JAtQatSee#KtA*{ugjJ`|`(^%I{?~io4mX<))U2SNH7@C_Paf$%&=$b? zAEh($APNElV7nsUdQdKw1YZxc zB2E)6YFt>UmrLG2Uue}@8hmEb`7|3m$!uTJs@_&c$Wyf1Y!OOM>Z#C|S9$A+1@#;7 z$=nP&7HfT9}0XBYj9@uMzj7!>S#so_4HZ;Ho{}EJv>S+zzVSmhog64nc(oCLM#moMcoDH93pX zqwHZ~S|GK2Jo>L`>RjWluG^i~+z^=cWT!G>T*a=5WfHHqnfrb`6{x4AV>Fem9AxlU zd!n2#>eMZT4QeVF``DY0``qt@)H^uJQ52g-6Rp*?xY`U~9X~6_Z@;D{9%xuA>Q-`w zSg3ISG;52EpPH!58pcW2kQGQU9$VRwtloJISku+2zgw{+E3)=g% zdvPFgfc$;s{^QRcJSgsUcSPoa6%1tH9 zi%EDo@bs%^*o030y%YcaAeOrEnR3+ja&jO2af#t+=c-qKvJ|}Rvh~j2^7I&X_Ash% z^=*!WY{h}h4z_zutwSS)C8CXT-~{wM?EAJ9eHxOnn&`Mty}%oie++EUq@BlCI1ROx zNT?}0Io4ehc-bQNeBH&cL^+(K9MViiemI>8IdNFDSWh1%+WDR_80+?6Iocr=}ks(+=alTgTT0Ancmh^n7_hKvfB5P8**nb{- zHcYhonV}8+HhCjU#qW%oq`jty|CT&KywvjvG|?DGq`Zup>G6Cx8&7ji35{IX9W5&o zls{STsS*wYI~jh=$aFNo%1ezPI~07ot$Mq?QK0BBrg|1sEMnh%bhc{YkBgtKi+d*B zFx`r*rie77Ic9T+6km5IA<(&GKsn0C{CJ#?E2|h?;hb1s?C`mouAfc19`hcW(62GC zcys|GgWKNiEhTDJ{0bi(!glUZ0$I^5-Lepr12UeT9*DyRss0%tA_1mH(fpi@Nf8%O zf9fUPHL>f}>)bf62of%iq=Dw(F+3Y}?{aPLb?|ooUwh~E)l}52eH0NCFcblmYDDRv zbO^l$kS<`POYaZ}y$C2(nlwSW2tuf#cR|2V3`h?#Mgm9+9YTq~hwppF`2K@)b)JiT zw{F(nW9+$p&s@*^Ci%dK6kh8x)?yB%XQcmA!Wb)`R$ObnJ!crg)i*K`TRE-$kQ5r$ zd%mK-jbTi~2EMzEZ`pT19`}&<{%-wyuo=}P7D@e-Wc5_29kEyiY+;{w&ZTG zd5DH%HX(+v_ImLR066=TS1qRHqa%*AZ9KFd|D^#mtW?^>Q!K5LG1mL8(lmlA3X;JH zS_Jsj#=mON8HseCNE;NS|GIFSHDE%Qy-bG!%OinqdnpE^H$JO-3g&N%HWlvg190F= zJs?(%-Q4BdTePHwE(a3fJVBnJqQDsE2!SYHU%o#rM!zK%#3uk;ST#ydHSKVleu3^; zTfiiJLbvCq#LR4duC|Y@C&b!`f4O0bqw6u@tc1&96`>i9&j!KyN$60Hx9m&;vKh<{ z^=~c*lEc;4Diy}|uL}})J%kS-E}sE{PjxsC1!N4DgH=(My0^Ay1HN=)T_CJFEsd@h-P<8|EOK;PzkSp{F=Ll((?%NcebcT`J?wa=xf*BD z7&E5^A-^or9^Xv})m3|u*eq(EC9EC-4Ve!ot_gM2HZsZF8Ubo5hKFJ}s&I8PF6P(j zw_nq!j1y=G*sTf^R*4Yri{|gB?`_GV@vDuz1yqs%V-;*!sk!oOmqNpCYAHg#yW^!| z2oy7jP3{VB@F)kyd0WKADT?z#m*EllA$cP%d>AKyCuT)|D~=67I2r7QscS%hi^TCC z>qC<1b6;QQ`ykEUb!QGCD=WQpC6lBuh_l81%@<6{wQ#DY1oyAK3XfA!z95B#-pMSi zMM1s(7LHEFA+{)fJ1bf&R_J$_oIQ1>tn3CR@rcJXH>W-%AZwasSb?=e+_*kO$Ar{- z`j%>5*WCP1@mk;J*(U}^KZv1|ciN{SgF z_9)xKzulgs`E5pa!$yK9Lar*LCT0n98ys#u%N}-16XBqK%_yu!gpw@wuu6nSDU1PV z{Vu=0>F5bMw`)FMsZ!(z4<5tpJ|IOW_t?Fehi65%!Olx>o=E(>sbf9A&U3)Ns&JW; z-Cr$$(7CX|Oha|`G7pqR4mQ@T(!gu6Ow>?=4ATXV?x4F1bOxe&=}SK2QYMQ2k+$YK zW%EIgG_ZP-;xZG`Q_2Y^Y#|{Pv6VOjl))jvyO8go3fFL6=S17|HTP8e)3YWgFMvC6 zg^V(zTChu`l7kw`L2?qpeTs{%G@-!VU2hC>+;7M6SMDXPwVy4e!#aApAFTvAvtw5> zca;_#%&jf!rdjv9uSalo_#Z2Bksv&LWxB%bKMWi#Xo`#?Ze$aZso9Z z#+`P^&kP3;8bNhlxGi+8l?P@7tIC>0Y8DmBNlL)x)b^A0fZG+N+Nu=Lozjb=j1ygtlgp++oeicP81?(ClA_gfVmy)@e#lu>>wFg z#A3cYtJbWmt-J5C??xd9W~et389cOAg_>7GKtL9^>7(v+1-3X?_XK*degMs^`FVJj zx%*Bs6!BNy0l@1g#|$g{6i@^xbe_D287uE0lo$aUM&}XH%k6R1lQTZ z;uW9{*3XkZWs`5H3sosn!wa~wA{`1TGj=Wm=0{xsR#e#(j(8UERb z#8-|TpKnakl9mUP&oG0{@|gLfYP#}eKZURWn+qZo(~Xrw6)7%uppy!E}L7|{=XZ9wNTIus(0YyF9VnY3v zkLweEMB5YdA7`_5v)letmpJBoS{@s^$xwKt7*lWE^Rqr_vkWxWV#?gP1p<+Xgz2oV zkN{__zorBJ`C|cg9LH@FM@y83?)UN3UyZxn1n%WCOm-GtcA~h#pZ&Iu>A1XNTG&?@ zs6`pT<2u_tmzpFcIpq}WZ+8oC)v$cxV!dKz+~ow*pJW{RCMI%Z#_R#{zc39xyEOlZ zZ`?^1N5R-0Wk{V=hzIE;QI!-7Up^XAsdg62EZK@q*klXXl=8ZCC0b&e(HWDim_}SD zwxxQqAgtQ|^u=cV$M7Socjl0CNsk0{nlvH(-JrTeCj>`6T)?LD+YG4PtrNS$&GjTd|!l@Q{k_=3d)9rR{iV=?298F2Wvq zF?gcJ+G)PjJoE}k@z6hUEMp}`li(9hGYLTCSwr(K^iz&Gcvakj115({i4Oh7e>`LzuZ-CLFe4dQTN<^8622V3ZcoYgM2 z9!?O`O7=K#O*(pbx!7Iu~B7q$eOo|ar}HIv~iPlZX>!I{CAGC zECL#0CFzE26GnUU#u^46Q9@OMsAfnhm(Djy3R*=`f}7NLG#P9>h5gvB81=zl6kKdC zQdtz7eS3T=5He?SlvS1f4^4V+UWvc36nTAm^s*xkts8)ab{g);`l*V=@e-t4R zRM)Y&+j@qLSyUs65e+WsgKxvmZ3g~GIE#P*NXFMIPr37?+ApWSf(=x6nM@kQ*x-5Z z`J5iLK8ora z!Fki*Q9XhqEvfbuiR&Y>p-gauhNNkJ*|UI$I}#{&9<)hdlb}kutSOU~!AVueIdlbi zBzdtG4Z|hV1FubbCQ>ydQlYdz0$KUr-#v|IzTVW+wR8irMfWsY<&6L^gt7RIsas8<@>vFe#v@;GJ; z^)YZ}9cFwZ=h|iO|M6c%K79?zv95;$Yoz=q%_V^3=?GL8`y2`Z-|1#k z=zdltV!C>9+JCoyP_A?YAySb2`xjoJl(YZHC^c}(kKE~7;bmgk+V`3p{}jRemoH9^ zJPL60ZHcTM@*vVsm4aK*@fNH^-%8=@<3H+k9HcyxuDcl#f_Tawu{NSbgWjrE3jNn! zT@Q{*+la0cev#jOcDmfW&3^uouwLkvHJB=SV0;!tmURFu z`Yg`>I7B$dLW||LLri9{;h3|W3R*s{nU)q?lfc8-NOMv$Go0wl?e@cSF41oyTPnC6 z1+1EqaIF+Yj!m$k-z`6=s;3m(SEe2=f1S$RnyfS%WMFYZ-duXU@i5jvDJ!#PfZ@~g z7r=@2`8tuOmkF`e4dZGo2j&zz6Hm4kZ|==H^W`=F`Ci#saa*f~51JXIos`7-=6prY zJHdb*!gpG_^*pOxbHj;Wqw}0gIZxKjYzdi_8U(JqWqm6CLtY4jSh{xQKy@jG?Z!ez zr`c(FPaWAl^O98}+edQ$BDn(iPH-hQ85K+<{+_col{Bsy&dFu?<7!1g%ldkPJoq-BQPWj*5OnBMBF|7ID1A0A2cuHlxdt)1wQH+*!Hw(TZu ziPn5-tS|}vwNUo26-C^` zj|#%0gue(?okBSm0}WU&{-_+WTFHVo9-Au+?28Ob8Q$Y~CQ`5wk&u@gpBELM=XMk14Sb6wZg57uB{zV$2Jt^zV67#C=S{HsATKiccPzG)Q`i z7}*V8T^ALmJn^N=wYDxhw)-ziQRyqBjbH$7lMCrMMtKiZalfuBrH@97sKAbu2&(G? zTm(gh*1^;qK=BisLJ*&~=z@+=)Z4nGqB{wPv zkH@c*!LK&{e#M|sV*$ObQ9zhjUS(nBON|b$v!j;SUvh>AKYibOC|As~lBcfK7=XM= zzY=x$!KF&n`!Udq*IW7Iuvbvt0$MaV6K6a2sj?h-&S;nyq=_X+9KS*;k{t1p5QqMbOi|+#~lnq32@4WNFA9-H^#y zIJ$eX`-Mbt_M}DI^8pp;khV=a>An=Ncd7Edh_0?o1*MKPGnjW5Z0p+mwqja{md&5; z68LbbfYyV|uTr8CMkE9%3sWEES&3vWTNSFN_NgtQ7>VqRzC*_;KB0nM2%@`S!VAu{}PG(@rnJ^RAwVB{Swm4;rcugV&C zLKIi39xx3~uGxP>%h|iamu6MZJg@5L@2euN>q~rm7kRU%s#IFr&?vmRP?Sw5r8H;4 zzUs;nx6r%$64H-WRs>~uNgO*1NWK{**&&f*X=x*POe_Vr)Oa1$$%qos$E#j{iTbqzH8AH(vnW5q0KoO9Lewzqlc|rQ29@Zgbndn~% z`2DQnPmSUl)6M()E8J0^jrk3ge`YX$yDIu%DbP7x;#$c-Q$n>EiU6PBjijdbJekbF8E*5HwK2u`oxhuG@@CMJ zRrq@4v^8@dQ6fhu^1ZQ_6Dp##IqklXm_I#EnW1|O6P$h%gF z!p7C6BxZ$;A*ts#%bBF1x+>qsGuvZ2$?8jQxlHkuLe)ZrLHAoA|K44ngl2cfAApsf z@0DdcZ>Mplw3p3-G3LnF5+>%$#^WzTS~Ob**MwirB`HfsfF-UIpKG$6*wMvqaTU%o zo)~PU(ahP|jezap2H7T2qXOs9-$0*nHM%C#vopaOs3l)v^pqX_(Edx^s6acRr7hQ6 z3j0&TNh-440#7CeU{e&L**`$}n&;GrMc9oAe8V)bYXvU&x`@CUsco3IRfrtihq=mj1PySMZlfO}v2?koVD z^xm-RuC$HOGiOijzcYK7S2s@QQPI>=%=YBf`P}TLaDOz));JtmE(qM;&?#q>u9#M5 zYybV*4Cw20=c={r_BZ*Dh!Qn!aA8F;%G-TS)w%XXAm?u}qh-my-~}2VdjzcY4Av?f zj)UrIu;;ZZSnz_UH6z@&>9v<&>REVv5X;&sMF=p5I)8D3oh%%=zN~ice6~8>W}!GP z4c2o)Sg?+ zHe0q+8c>m((~3d?`2ip=lXID69=q~AJt9?Utzif5z(v|S6}7Ya;{ax}%?GnGC}gmh zoya(4LxC*Fv6?b!wb0+9VP7UKwB9q8{#~?N656@1pm&0O=5uE2T(Dv15}ESQLcM^| zV*WBhQSh}tENWkQl>)jJbZnyaBgVp7H?uI}n!1b=3Z|d+4`LTwS#747`@A!r(GkO|n=zmNP< zeVj>(;lq#qwO9XF3yQS=^+W&j3*xp={hvbf-|0NnoA!TdkN>WfPy_D$=lJrU$1L6d nE&S(k{a1be8=JFfL%bj(3#YoM-qErnyOfr?o?4BHP1OGbqwN|Q literal 0 HcmV?d00001 From 5e5d5c1e81bc8d50bbc82feda6b4f5ab768cbc26 Mon Sep 17 00:00:00 2001 From: Caroline Gitonga Date: Wed, 2 Sep 2020 21:39:41 +0300 Subject: [PATCH 18/23] Add missing endpoints adl.windows.com and windows.policies.live.net --- windows/privacy/manage-windows-1903-endpoints.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/privacy/manage-windows-1903-endpoints.md b/windows/privacy/manage-windows-1903-endpoints.md index af34673c47..a2fffa2486 100644 --- a/windows/privacy/manage-windows-1903-endpoints.md +++ b/windows/privacy/manage-windows-1903-endpoints.md @@ -138,6 +138,7 @@ The following methodology was used to derive these network endpoints: |||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| @@ -167,6 +168,7 @@ The following methodology was used to derive these network endpoints: |||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 will not 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. 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 From dec7522eb79241157c6745c4bb5aa47078fc36c8 Mon Sep 17 00:00:00 2001 From: Caroline Gitonga Date: Wed, 2 Sep 2020 21:45:24 +0300 Subject: [PATCH 19/23] Update Windows 10 Family missing endpoints adl.windows.com and windows.policies.live.net --- .../privacy/windows-endpoints-1903-non-enterprise-editions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md index c4bb922fb2..7955d0c353 100644 --- a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md @@ -121,6 +121,8 @@ The following methodology was used to derive the network endpoints: | `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 From 16d50fa989e7c217d7e9ebc1fed9b1d6e368466b Mon Sep 17 00:00:00 2001 From: Caroline Gitonga Date: Wed, 2 Sep 2020 22:57:55 +0300 Subject: [PATCH 20/23] Update windows/privacy/windows-endpoints-1903-non-enterprise-editions.md Co-authored-by: Trond B. Krokli <38162891+illfated@users.noreply.github.com> --- .../privacy/windows-endpoints-1903-non-enterprise-editions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md index 7955d0c353..da43880ca5 100644 --- a/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md +++ b/windows/privacy/windows-endpoints-1903-non-enterprise-editions.md @@ -121,8 +121,8 @@ The following methodology was used to derive the network endpoints: | `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 +| adl.windows.com | HTTP | Used for compatibility database updates for Windows +| windows.policies.live.net | HTTP | OneDrive ## Windows 10 Pro From c61e2c8136b3582ac587ea730fdafa02b128e668 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 2 Sep 2020 13:23:23 -0700 Subject: [PATCH 21/23] Update required-windows-diagnostic-data-events-and-fields-2004.md --- ...-diagnostic-data-events-and-fields-2004.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) 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 bf6a3bd745..da656fd6ef 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 @@ -1409,6 +1409,23 @@ The following fields are available: ## Audio endpoint events +### MicArrayGeometry + +This event provides information about the layout of the individual microphone elements in the microphone array. + +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). + ### 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. @@ -6912,6 +6929,29 @@ The following fields are available: - **updateId** ID of the update that is getting installed with this restart. - **wuDeviceid** Unique device ID used by Windows Update. +### wilActivity + +This event provides a Windows Internal Library context used for Product and Service diagnostics. + +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. ### Microsoft.Windows.Update.Orchestrator.ActivityError From c42e612ee6be63aa282c53702bd0c69c3e86ea07 Mon Sep 17 00:00:00 2001 From: Beth Woodbury <40870842+levinec@users.noreply.github.com> Date: Wed, 2 Sep 2020 14:26:03 -0700 Subject: [PATCH 22/23] Update enable-network-protection.md --- .../microsoft-defender-atp/enable-network-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md b/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md index 77eca8d12f..f081c6ad4a 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md +++ b/windows/security/threat-protection/microsoft-defender-atp/enable-network-protection.md @@ -80,7 +80,7 @@ Enable network protection by using any of these methods: 6. Select the profile called **Assignments**, assign to **All Users & All Devices**, and **Save**. -### Mobile Device Management (MMD) +### Mobile Device Management (MDM) Use the [./Vendor/MSFT/Policy/Config/Defender/EnableNetworkProtection](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-defender#defender-enablenetworkprotection) configuration service provider (CSP) to enable or disable network protection or enable audit mode. From 3e4e27e9ca45769d935e5a5cd5b170f383eb73e8 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Wed, 2 Sep 2020 16:49:11 -0700 Subject: [PATCH 23/23] Updated a bookmark on a link Second attempt following force-push. --- .../update/update-compliance-schema-waasdeploymentstatus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/update-compliance-schema-waasdeploymentstatus.md b/windows/deployment/update/update-compliance-schema-waasdeploymentstatus.md index 3cbcbbeb28..b5fe054a3e 100644 --- a/windows/deployment/update/update-compliance-schema-waasdeploymentstatus.md +++ b/windows/deployment/update/update-compliance-schema-waasdeploymentstatus.md @@ -26,7 +26,7 @@ WaaSDeploymentStatus records track a specific update's installation progress on |**DeploymentError** |[string](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/string) |`Disk Error` |A readable string describing the error, if any. If empty, there is either no string matching the error or there is no error. | |**DeploymentErrorCode** |[int](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/int) |`8003001E` |Microsoft internal error code for the error, if any. If empty, there is either no error or there is *no error code*, meaning that the issue raised does not correspond to an error, but some inferred issue. | |**DeploymentStatus** |[string](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/string) |`Failed` |The high level status of installing this update on this device. Possible values are:

  • **Update completed**: Device has completed the update installation.
  • **In Progress**: Device is in one of the various stages of installing an update, detailed in `DetailedStatus`.
  • **Deferred**: A device's deferral policy is preventing the update from being offered by Windows Update.
  • **Cancelled**: The update was cancelled.
  • **Blocked**: There is a hard block on the update being completed. This could be that another update must be completed before this one, or some other task is blocking the installation of the update.
  • **Unknown**: Update Compliance generated WaaSDeploymentStatus records for devices as soon as it detects an update newer than the one installed on the device. Devices that have not sent any deployment data for that update will have the status `Unknown`.
  • **Update paused**: Devices are paused via Windows Update for Business Pause policies, preventing the update from being offered by Windows Update.
  • **Failed**: Device encountered a failure in the update process, preventing it from installing the update. This may result in an automatic retry in the case of Windows Update, unless the `DeploymentError` indicates the issue requires action before the update can continue.| -|**DetailedStatus** |[string](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/string) |`Reboot required` |A detailed status for the installation of this update on this device. Possible values are:
  • **Update deferred**: When a device's Windows Update for Business policy dictates the update is deferred.
  • **Update paused**: The device's Windows Update for Business policy dictates the update is paused from being offered.
  • **Update offered**: The device has been offered the update, but has not begun downloading it.
  • **Pre-Download tasks passed**: The device has finished all necessary tasks prior to downloading the update.
  • **Compatibility hold**: The device has been placed under a *compatibility hold* to ensure a smooth feature update experience and will not resume the update until the hold has been cleared. For more information see [Feature Update Status report](update-compliance-feature-update-status.md#compatibility-holds).
  • **Download started**: The update has begun downloading on the device.
  • **Download Succeeded**: The update has successfully completed downloading.
  • **Pre-Install Tasks Passed**: Tasks that must be completed prior to installing the update have been completed.
  • **Install Started**: Installation of the update has begun.
  • **Reboot Required**: The device has finished installing the update, and a reboot is required before the update can be completed.
  • **Reboot Pending**: The device has a scheduled reboot to apply the update.
  • **Reboot Initiated**: The scheduled reboot has been initiated.
  • **Commit**: Changes are being committed post-reboot. This is another step of the installation process.
  • **Update Completed**: The update has successfully installed.| +|**DetailedStatus** |[string](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/string) |`Reboot required` |A detailed status for the installation of this update on this device. Possible values are:
  • **Update deferred**: When a device's Windows Update for Business policy dictates the update is deferred.
  • **Update paused**: The device's Windows Update for Business policy dictates the update is paused from being offered.
  • **Update offered**: The device has been offered the update, but has not begun downloading it.
  • **Pre-Download tasks passed**: The device has finished all necessary tasks prior to downloading the update.
  • **Compatibility hold**: The device has been placed under a *compatibility hold* to ensure a smooth feature update experience and will not resume the update until the hold has been cleared. For more information see [Feature Update Status report](update-compliance-feature-update-status.md#safeguard-holds).
  • **Download started**: The update has begun downloading on the device.
  • **Download Succeeded**: The update has successfully completed downloading.
  • **Pre-Install Tasks Passed**: Tasks that must be completed prior to installing the update have been completed.
  • **Install Started**: Installation of the update has begun.
  • **Reboot Required**: The device has finished installing the update, and a reboot is required before the update can be completed.
  • **Reboot Pending**: The device has a scheduled reboot to apply the update.
  • **Reboot Initiated**: The scheduled reboot has been initiated.
  • **Commit**: Changes are being committed post-reboot. This is another step of the installation process.
  • **Update Completed**: The update has successfully installed.| |**ExpectedInstallDate** |[datetime](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/datetime)|`3/28/2020, 1:00:01.318 PM`|Rather than the expected date this update will be installed, this should be interpreted as the minimum date Windows Update will make the update available for the device. This takes into account Deferrals. | |**LastScan** |[datetime](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/datetime)|`3/22/2020, 1:00:01.318 PM`|The last point in time that this device sent Update Session data. | |**OriginBuild** |[string](https://docs.microsoft.com/azure/kusto/query/scalar-data-types/string) |`18363.719` |The build originally installed on the device when this Update Session began. |
  • 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Ìm=g7kwjz^WhThS0=h?;5NcftTXoUH;X>U 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⁡8Sn%mY6jmhbG*j$_lJeg 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